NCS2+Openvino进行模型推理与转换<二>

发布于:2023-01-18 ⋅ 阅读:(421) ⋅ 点赞:(0)

文章目录


前言

由于前面第一章已成功进行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、再执行这程序,就顺利运行了,做出正确推理,输出:

 大功告成了。

◆◆◆

 

踩坑提示:

踩坑一:没有安装 onnxonnxruntime库导致的错误

解决办法:安装 onnxonnxruntime库即可解决

pip install onnx

pip install onnxruntime

 

踩坑二:运行程序显示以下错误

解决办法:卸载Openvino,重新安装最新版本的Openvino


总结

PS:专研GAN、Unet图像分割技术,探讨AI最新前沿技术,关注wx公众号:Edge AI人工智能超市,加入图像分割交流群。更多OpenVino + NCS 2应用,后续~~~~~~~~~~~~

本文含有隐藏内容,请 开通VIP 后查看