完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
啊抱歉,上周得了一周的流感,人才活过来。。本来还想研究下sam它是怎么部署的,但是时间好像有点来不急,就讲个最简单的efficientNet吧。但是会仔细讲下使用模型部署,实际也就是推理引擎的全过程,以及pulsar2作为推理引擎的一些细节。 1、完整流程概括可以将模型部署细分为以下几个步骤,其实就是和用onnxruntime\openvino\tensorRT这些部署步骤是一样的,只不过主角这次换成了pulsar2: 2、训练模型,导出onnx这里就取了个巧,直接用torch官方库里面预训练好的模型导出来,得到onnx模型。后续还可以进一步转化为-sim.onnx文件,做了一定的简化,不过差别不大。
3、模型转换一句话概括: 这里面的docker安装什么的具体可以参照这个网站,他们都讲得很详细,我不赘述了: 在docker里面,根据这个指令进行转换:
其实就是根据config.json进行转换,可以具体看看config.json干了什么: config.json:
主要两点: 这里对量化方式做一个简要的介绍,量化方式现在主要分为两种,分别是感知量化训练(QAT)、训练后量化(PTQ),其中量化后训练又分为静态和动态两种。一般来说感知量化训练效果最好,但同样算力开销不小,量化后训练中静态效果比动态好,因为动态是在推理时去估计算子的数据范围,误差较大。 一些细节:仔细看看axmodel量化的模型结构和onnx有什么区别,这里可以用netron网站打开: 在最开头,有一个quantize和dequantize,把输入量化,输出反量化,从float转为uint8,再在结束从uint8转为float 在转化时还会自动的进行算子的融合,最常见的就是conv+relu融合在一起(这里是relu6),conv+bn+relu融合在一起,详细远离可以看量化的白皮书论文 4、在移动端的linux系统安装好推理引擎在板子上面的debian系统中执行如下指令:
这个代码本质上就是对cmakelists.txt进行编译运行 其实就是用cmakelists.txt进行编译。真正有用的是这一句:
它编译 examples子目录下的示例代码 比如classification.cc编译成一个可执行的classification文件,就能在命令行调用了。 浅浅记录一下运行的结果:
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【爱芯派 Pro 开发板试用体验】人体姿态估计模型部署后期尝试
1660 浏览 0 评论
1151 浏览 0 评论
【爱芯派 Pro 开发板试用体验】人体姿态估计模型部署后期尝试
1198 浏览 0 评论
【爱芯派 Pro 开发板试用体验】在爱芯派 Pro上部署坐姿检测
1205 浏览 0 评论
【爱芯派 Pro 开发板试用体验】利用爱芯派 Pro部署USB摄像头
1363 浏览 0 评论
【爱芯派 Pro 开发板试用体验】爱芯元智AX650N部署yolov5s 自定义模型
831浏览 1评论
1856浏览 1评论
【爱芯派 Pro 开发板试用体验】+ 利用TF卡进行系统更新
1499浏览 1评论
1457浏览 1评论
766浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 11:18 , Processed in 0.461688 second(s), Total 39, Slave 33 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号