如何将OpenVINO IR模型部署到Intel Movidius MyriadX VPU上
OpenVINO IR模型部署到Intel MyriadX VPU的可行方案
MyriadX本身是OpenVINO原生适配的推理硬件,未找到对应文档大概率是匹配错了OpenVINO版本的说明内容,可按以下方案尝试:
方案1:直接用OpenVINO内置的MYRIAD设备后端部署
- 优先使用OpenVINO 2021.x、2022.x LTS版本,2023及之后的版本将MyriadX支持移入了Legacy组件,安装时需要手动勾选
Intel® Distribution of OpenVINO™ Toolkit Legacy Components选项才能开启支持 - 确保待部署的IR模型为FP16精度:MyriadX仅支持FP16推理,若你手上的IR为FP32精度,可使用
mo模型转换工具重新生成,转换时添加--data_type FP16参数即可 - 推理调用时直接指定设备名为
MYRIAD即可:C++ API传入"MYRIAD"作为设备参数,Python API传入device_name="MYRIAD" - 可先使用自带工具验证适配:配置好OpenVINO环境后,先运行
hello_query_device确认系统已识别到MyriadX硬件,再用benchmark_app -m <你的模型.xml路径> -d MYRIAD测试推理是否正常
方案2:使用官方内置示例快速验证部署
- OpenVINO自带的推理示例全部默认适配MyriadX设备,你只需替换示例中的默认模型为你自己的IR模型,将推理设备参数改为
MYRIAD即可快速跑通测试 - Linux环境下如果出现设备无权限的问题,需要将MyriadX对应的udev规则文件放入
/etc/udev/rules.d/目录,将当前用户加入users用户组后重启udev服务即可解决
方案3:嵌入式场景交叉编译部署
- 若你需要将模型部署到搭载MyriadX的嵌入式板卡上,可先在x86主机上交叉编译带MyriadX支持的OpenVINO运行时库,再将库文件、IR模型一同拷贝到板卡上运行
- 交叉编译时需开启
ENABLE_MYRIAD编译选项,可关闭其他不需要的硬件支持选项减少运行时库体积 - 也可使用
compile_tool工具提前将IR模型编译为MyriadX专用的blob格式,在板卡上直接加载blob文件推理,可跳过模型编译阶段,降低板卡端的性能开销
注意:若你需要更高的推理效率,建议直接用
compile_tool -m <模型.xml路径> -d MYRIAD生成专用blob文件,加载速度和推理性能都会比直接加载IR更高
内容的提问来源于stack exchange,提问作者Franva
相关产品推荐
相关产品推荐

