AI(12)-设备端部署
1.WHY
端处处理的功能有
1.语音:文本转语音,语音识别, 语音检测,实时语义分割,实时物体检测
2.图像: 照片分类,QR码检测,虚拟背景分割
3.可将多模态(音频、图像、视频、语音和传感器)混合,生成多模式设备端人工智能模式
原因:
1.成本:不用云计算资源
2.效率:本地处理,无需发送云端,接收结果,再在本地处理。
3.隐私:数据保留在设备上,
如何部署设备端模型,减少延迟、提高隐私性并提高效率。
几行代码在设备上部署你的第一个模型。
这个模型将从你的摄像头流中进行实时分割。
1.如何捕捉你的模型作为一个图,在设备上移植并运行,
2.然后将该图编译为特定设备的过程。
3.硬件加速该模型在设备上高效运行的过程,以及验证该特定模型在设备上的数值正确性的过程。
4.如何对模型进行量化以便提高性能约 4倍,同时减少该模型的占用空间。
1.1哪些场景适用,适用的原因
1.实时翻译
2.实时转录
3.照片生成
4.AI的照片编辑
1.2步骤
1.将模型捕获为一个计算图
2.您将这个计算图编辑成适合您目标设备的形式
3.验证该模型在您要部署到的设备上的数值
4.在设备上测量性能
1.3 端侧人工智能
能做哪些应用:
用到的模型名
语言模型:
语音模型:
人脸检测模型:
2.部署
1.选择一个最先进的模型部署到设备上,验证数值正确性和性能测试,并查看在真实机器上执行推理性能。
2.
3.设备端部署
云端训练模型,设备端部署
2个卷积,conv1和conv2 Relu的激活函数,满足设备的约束条件。
3.1.神经网络图捕获
代码中对模型的这种特定表示可以转换成图表示,这就是图捕获概念。
2个卷积。
3.1.1 4个概念
1.设置模型,使用网络 1024*2048RGB图像 3通道 1024*2048的张量
2.生成一些随机输入,提供给网络进行追踪
3.调用torch JIT追踪函数,该函数接受示例输入。
特定函数在通过网络时处理所有计算。
4.生成的输出是一个类似于这样 的Pytorch跟踪模型
下载的文件内容
3.1.2.端设备编译
编译成可运行的被设备运行的模型。
2.1设置高通AI中心,取设备API获取云中所有可用设备的列表。这些都是已配置的真实物理设备。可通过API调用它。
2.2为了为设备编译跟踪模型,只需要使用提交编译作业。
选择编译的设备,提供输入:RGB 124*248图像.
当你运行此代码块时,跟踪模型将被发送到云端并针对特定三星设备进行优化。
2.3 编译的输出是该特定设备编译的目标模型
2.4使用获取目标模型API获取目标模型,可执行文件。
2.5 兼容的可执行文件是什么?所谓兼容指的是什么?
运行程序为 后缀名为.
tensorFlow lite .tflite
ONNX .onnx
高通
.
2.6 tensorFlow lite 运行移动平台和嵌入式设备
3.2 代码
如何运行这个模型
1.选择特定的设备
2.选用compile job
3.编译后提交到云端,并做性能分析
4.使用下载配置文件API下载配置文件 配置文件是可视化的
5.每个计算单元对模型的影响
每个计算单元都有备用方案,如果没有特定的计算单元,就会回到CPU。
6.如何在设备上检查模型的准确性
对比在云端和设备上运行情况
传递目标模型,编译后的工作,样本输入
运行这个命令,推断将通过哪个托管设备运行,并以numpy格式返回结果。
可以用下载输出数据的API访问结果。
大约需要1分钟完成。
3.使用硬件加速设备上的模型
4.验证设备端的数值正确性