大家好,我是海盗旗,资深CV工程师(ctrl c + ctrl v),第一次使用国产框架与国产AI芯片(地平线旭日X3)之间实现了全链路开发。
本次教程,使用飞桨高阶API训练mobilenet模型,三分钟即可搭建一个网络,进行训练。
部署使用地平线的天工开物工具链,模型快速转化上板,极短的时间内可演示demo。
欢迎大家一起使用国产化平台进行AI开发与部署!
onnx模型是paddle模型与开发板推理部署之间的桥梁,模型的转化是其中非常重要的一环。
本次教程主要讲述流程串通,直接使用飞浆的高阶api训练模型,可以节省大量的开发时间
一、模型训练:
飞桨高阶api对基础aoi进行了封装,模型调用与数据预处理几行代码就可以搞定,真的是灰常方便,建议大家多多使用。
本次教程使用mobilenetv2进行分类,数据预处理的时候,模型标签是从1-102,但是深度学习标签都是从0开始,建议百度的工程师修改一下此处的标签。
本次教程使用mobilenetv2进行分类,数据预处理的时候,模型标签是从1-102,但是深度学习标签都是从0开始。
修改的方法需要把标签数直接减去1,这样标签数据对齐到0-101,可以直接训练,否则会报错,标签索引超出!
二、paddle模型转化为onnx模型
使用百度的paddle2onnx工具进行转化
!pip insyall paddle2onnx
!pip install onnx
安装好之后,按照官方示例,加载模型,然后使用paddle.onnx.export接口进行转化,现在流行动态图,我们直接使用动态图操作方式,让静态图静静的躺在历史的尘埃里吧!!!
###注意###
input_spec = paddle.static.InputSpec(shape=[1, 3, 224, 224], dtype='float32', name='image')
三、onnx模型校验
成功得到onnx模型之后,我们需要把onnx模型转化为板端部署文件
地平线提供了天工开物工具链,可以有效的对onnx模型进行验证并转化
部署第一步,使用工具链对onnx模型进行校验,校验不通过的模型目前无法上板部署,需要调整算子或提交地平线开发人员进行算子支持升级!!
工具链可在地平线生态社区获取,大家可以自行搜索!

四、onnx模型转化为板端推理文件
使用地平线的开发工具天公开物,简单来说就是地平线开发板的开发套件
#五、部署与测试

