2024年4月12日
泰山派
启动环节出了问题,启动到两秒的时候会报错重启,不断重复。以为是系统没有安装好,重新烧写了两次,还是这样子。
事实证明是不能使用电脑左边的 usb 口,而是需要右边的。应该是电压/电流问题。电压诱骗小板我没有使用。
计划(应用)
我计划在上面部署一个小型的神经网络,api 用 rk 官方给出的 c++ api,程序使用 vits(tts模型)移植到 c++ 平台上。当然,已经有人完成了代码的编写,但是我希望通过自行移植学习并熟悉 c++ 的开发流程和 vits 本身。完成之后,对比我自己写的和已有的代码,加深我对于 c++ 的理解。
vits 本身及其衍生项目资料,有人做了整理:https://zhuanlan.zhihu.com/p/474601997
vits,带GAN的变分推理自编码器语音推理,实质上是一种比较成熟的思想,结合了注意力、归一化流、对抗网络实现的一个端到端语音相关项目,不光能用在tts领域,也可以做出翻唱变声之类的效果。vits 衍生模型可以说已经不局限于 vits 本身,有很多地方引入了其他的结构(例如,改变流模型的wavenet,变成cnn可以实时推理,变成transformer可以效果更好)。
tts模型能被压缩到很迷你的水准:原作者训练的模型只有14M,经过改进的 so-vits-svc-5.0 只有 202M,相对于动辄几个G十几个G的大模型而言可太小了。对于性能严重不足的 1G 版本泰山派(我暂时不想魔改),模型的大小和推理速度很重要。
https://github.com/PlayVoice/so-vits-svc-5.0
不部署 yolo5 是因为我没摄像头,搞不起来。摄像头得加钱。板子上面预留了一个 MIPI-CSI 摄像头口子,如果有摄像头那确实可以很方便地加上去。但是 1080p 的要六七十块,肉疼。(宣传说专门用于树莓派的更贵,一个摄像头顶俩泰山派)
便宜一点的也有,800万像素,三十多,加运费四十多。
看到有一家包邮 35 的,800万像素。不得不说免运费在买这种小东西上优势巨大。
有一个 25 包邮的笔记本电脑用摄像头,1080p,但是是usb口出来。
顺带一提,这板子也没有 3.5mm 孔,需要扩展板,但是有一个咪头,可以用廉价的咪头话筒/扬声器。官方提供了一个现成的音频小板,有麦有扬声器,是咪头。自己买元器件来焊少说要个两三块,省钱了。
更新:使用 aplay -l 寻找音频输出口的时候,会提示没有声卡(也就是不认这个设备),使用 arecord -l 同理。
另外,yolo 可以是只识别单张图片,不需要视频串流输入。
准备
官方提供了 python 和 c 的sdk:https://github.com/airockchip/rknn-toolkit2
和例程:https://github.com/airockchip/rknn_model_zoo
官方文档:https://t.rock-chips.com/wiki/CN/tb-rk3588x/ 但是是3588版本,不过也能参考。
提供的镜像中有 rknpu2,但是版本较低。
zoo 提供的 example
文字处理部分,使用了 Lite Transformer,用于嵌入式设备(低算力)的 Transformer。极限情况下能将 transformer 模型规模降低 18 倍(太抽象了)。