前言
由于前面第一章已成功进行Openvino的环境部署,这一章就搭配NCS2进行GNA模型转换与部署,同时在结尾也把笔者在此过程踩过坑分享出来,提高时间效能。
提示:以下是本篇文章正文内容,下面案例可供参考
一、用Python+Pytorch开发模型
P1.安装Openvino套件
1、首先进入…/Python38/Scripts/目录区
2、接着,安装Openvino套件,使用命令:pip install openvino==2021.4
<若网络缓慢,可引用清华数据源pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openvino==2021.4 进行安装>
3、几分钟后即可安装完成
P2:撰写一个典型二元分类模型
1、有4只玩具,进行分类
2、程序代码:
3、执行时,进行训练,并输出:
4、同时,也汇出*.onnx档案:
5、目标:将*.onnx档案,转换为IR档案。
P3:使用OpenVINO Toolkit来进行模型优化
目标:将*.onnx档案,转换为IR档案。
刚才已经准备好了一个rabbit_bc.onnx档案。
接着进入/model_optimizer/工作区。
1、使用命令:cd "C:\Program Files (x86)\\Intel\openvino_2021\deployment_tools\model_optimizer"
2、已经进入/model_optimizer/工作区了,接着展开优化,使用命令:python mo_onnx.py --input_model “C:\\ox\\rabbit_bc.onnx” --output_dir “C:\\ox\\” --input_shape [1,2]
3、于是,成功地进行优化,并汇出IR档案,如下:
4、于是,使用OpenVINO Toolkit进行优化,OK了。
二、部署IR模型,并进行推理
1.部署于PC上的Inter CPU
撰写一支App,代码如下:
这是在PC自己的Intel CPU上进行推理,输出结果如下:
成功了。
2.部署于Intel NCS2神经加速棒
程序代码结构没改变
只需要把:device_name="CPU"。
更改为:device_name=" MYRIAD" 即可。
1、程序代码:
2、执行时,因为没有插上NCS神经加速棒,就输出错误讯息:
3、于是,就插上NCS2神经加速棒。
5、再执行这程序,就顺利运行了,做出正确推理,输出:
大功告成了。
◆◆◆
踩坑提示:
踩坑一:没有安装 onnx、onnxruntime库导致的错误
解决办法:安装 onnx、onnxruntime库即可解决
pip install onnx
pip install onnxruntime
踩坑二:运行程序显示以下错误
解决办法:卸载Openvino,重新安装最新版本的Openvino
总结
PS:专研GAN、Unet图像分割技术,探讨AI最新前沿技术,关注wx公众号:Edge AI人工智能超市,加入图像分割交流群。更多OpenVino + NCS 2应用,后续~~~~~~~~~~~~