神经计算棒python_将Pytorch模型部署到Movidius神经计算棒
[Python] 纯文本查看 复制代码# 只保留参数[/align]torch.save(model.state_dict(), '\parameter.pkl')
②保存完整的模型
[Python] 纯文本查看 复制代码# 保存完整的模型
torch.save(model, '\model.pkl')
我们需要完整的网络信息用于转化,所以需要在此选择第二种“保存完整的模型”方式。
之后,我们需要读取这个pkl文件并将其转化为onnx格式,我们需要定义批处理大小、输入数据尺寸、使用设备等信息,再定义好文件输入与输出的路径即可。
[Python] 纯文本查看 复制代码import torch
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = torch.load(model_path, map_location=device)
model.eval()
batch_size = 1
input_shape = (3,224,224)
input_data_shape = torch.randn(batch_size, *input_shape, device=device)
torch.onnx.export(model, input_data_shape, output_path, verbose=True)
2.使用模型优化器进行优化
OpenVINO的推理引擎支持的文件为中间表示文件IR,需要调用OpenVINO工具包中的mo.py进行优化,如果使用Tensorflow等直接支持的框架则可以直接从框架模型转化为IR,而如果是像本文中提到的Pytorch的模型,其需先转化到ONNX文件再进行间接的IR转化,最终得到的IR文件将由两个部分组成:
① .xml 描述网络的拓扑结构
② .bin 网络的权重与偏置的二进制数据
先在开始前设置好OpenVINO的环境变量。
[Bash shell] 纯文本查看 复制代码cd C:\Program Files (x86)\IntelSWTools\openvino_2020.3.194\bin
setupvars.bat
接着,我们需要切换到模型优化器的目录下,这个目录下保存了用于不同框架的模型优化器,例如mo_caffe.py, mo_tf.py等文件。
M2@1DDZU13HY1_7@SH]I{%S.png (3.01 KB, 下载次数: 0)
2020-7-27 23:27 上传
当然,如果安装时没有安装在默认目录的话,需要重新调整前半段的路径位置。
[Python] 纯文本查看 复制代码cd C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer
之后,我们运行模型优化器mo.py并输入onnx文件的路径,就可以完成模型的优化,得到xml与bin文件。
[Python] 纯文本查看 复制代码python mo.py --input_model F:\Onedrive\Code\DFRobot\acconeer\model\example.onnx
模型优化后的文件会自动保存在【....\openvino\deployment_tools\model_optimizer\example.xml】目录下,我们需要记下这个位置之后在部署时使用。
3.将优化后的模型部署到神经网络计算棒上
笔者在比赛中所作的项目是射频信号图片的分类工作,需要用到classification_sample.py,在model参数中输入上一步生成的xml文件的路径,在input 参数中输入需要进行分类的图片路径,我们也可以通过device参数选择运行的设备,如果需要使用神经计算棒进行加速的话,我们在这一栏选择MYRIAD即可。
由于OpenVINO在顶层规划上就很好地采用了一套API用于不同设备的设计,我们在实际使用的时候输入xml的拓扑结构描述文件与需要进行加速的设备就能方便地使用了,这也是其一大亮点。
[Bash shell] 纯文本查看 复制代码"C:\Program Files (x86)\IntelSWTools\openvino_2020.3.194\deployment_tools\inference_engine\samples\python\classification_sample\classification_sample.py" --model 【xml_path】 --device HETERO:MYRIAD,CPU,GPU --input 【img_path】
%OLNO5(SMNO5641IWD3UU1H.png (242.38 KB, 下载次数: 0)
2020-7-27 23:26 上传
从输出我们可以看到神经计算棒顺利的完成了这个四分类问题的推理,尽管经过了模型的转化和优化,但是推理的正确率仍然是很高的,神经计算棒的推理速度也非常快。当然,这只是一个getting start的一个简单示例,在实际生产环境中还是要使用专用的benchmark_app 工具。
神经计算棒python_将Pytorch模型部署到Movidius神经计算棒相关推荐
- TensorFlow与PyTorch模型部署性能比较
TensorFlow与PyTorch模型部署性能比较 前言 2022了,选 PyTorch 还是 TensorFlow?之前有一种说法:TensorFlow 适合业界,PyTorch 适合学界.这种说 ...
- 基于C++的PyTorch模型部署
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 引言 PyTorch作为一款端到端的深度学习框架,在1.0版本之后 ...
- 如何将pytorch模型部署到安卓
如何将pytorch模型部署到安卓上 这篇文章演示如何将训练好的pytorch模型部署到安卓设备上.我也是刚开始学安卓,代码写的简单. 环境: pytorch版本:1.10.0 模型转化 pytorc ...
- PyTorch模型部署:pth转onnx跨框架部署详解+代码
文章目录 引言 基础概念 onnx:跨框架的模型表达标准 onnxruntime:部署模型的推理引擎 示例代码 0)安装onnx和onnxruntime 1)pytorch模型转onnx模型 2)on ...
- pyTorch模型部署--高并发web服务c++移动端ncnn
文章目录 1 综述 2 以python web服务的形式进行部署 3 c++调用方式进行部署 3.1 torchscript 3.1.1 模型转换 3.1.1.1 torch.jit.trace 3. ...
- pytorch模型部署
1. C++调用python训练的pytorch模型(一)--makefile编写基础 https://blog.csdn.net/xiake001/article/details/84838249 ...
- 春节小游戏之图片分类(Pytorch模型部署)
文章目录 前言 环境 项目结构 前端 图片上传 结果显示 后端 模型部署 路由 业务代码 总结 本博文优先在掘金社区发布! 前言 啥也不说了,来先看效果图 本来我是打算去把昨天在实验平台训练的模型拿到 ...
- Sanic框架下部署Pytorch模型
前言 本文针对业余范围的Pytorch模型部署,类似各位想把自己开发的深度学习模型上线web端demo等等. 大家比较熟悉的Python框架主要有flask,使用flask部署上线深度学习模型过程简单 ...
- 【Pytorch基础教程33】算法模型部署(MLFlow/ONNX/tf serving)
内容概况 服务器上训练好模型后,需要将模型部署到线上,接受请求.完成推理并且返回结果. 保存模型结构和参数最简单的是torch.save保存为checkpoint,但一般用于训练时记录过程,训练中断可 ...
- 【深度学习】基于web端和C++的两种深度学习模型部署方式
深度学习 Author:louwill Machine Learning Lab 本文对深度学习两种模型部署方式进行总结和梳理.一种是基于web服务端的模型部署,一种是基于C++软件集成的方式进行部署 ...
最新文章
- 2019年度CSDN博客之星TOP10榜单揭晓,你上榜了吗?
- 42、BGP常用命令及注意事项
- 【PAT乙级】1030 完美数列 (25 分)
- python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式
- Python|520表白神器
- java keytool 使用总结(转)
- 20201007:力扣209周周赛题解记录(上)
- lucene查询索引之Query子类查询——(七)
- ENVI5.3.1使用Landsat 8影像进行监督分类实例操作
- java读取邮件超大附件_javamail在收邮件时可以得到邮件大小,但是javamail在发邮件时怎么得到邮件大小?...
- Android进入欢迎界面前显示黑乎乎的或者白白的布局
- 利用SPSS做数据分析②之数据处理2
- 网站性能优化— WebP 全方位介绍
- 使用python爬取斗图网的图片
- IE6双倍边距问题及其解决方法
- MoR03r's Blog
- php如何做表格,新手怎么制作表格
- OCR系列之一:开坑介绍
- Win8系统中如何显示/隐藏文件扩展名
- python音频 降噪_谱减法语音降噪的Python实现教程