win10环境下基于OpenVINO部署yolov5模型

以在Intel的OpenVINO上部署Yolov5模型为例,加深对模型部署的理解。

1. 训练准备

获取yolov5模型及数据集

 git clone git://github.com/ultralytics/yolov5

pt模型
coco数据集

2. 训练Yolov5

python train.py --batch 16 --epochs 10 --data data/coco128.yaml --cfg models/yolov5s.yaml --weights yolov5s.pt
  • –data:训练数据的说明文件,说明训练集、测试集、种类数目、种类名称
  • –cfg: 在训练准备阶段完成的模型结构描述文件
  • –weights: 预训练模型

训练完成后,权重文件会自动保存在runs文件夹中,自动生成last.pt和best.pt.
在这里插入图片描述

遇到的问题:
在这里插入图片描述
缺少cv2库,安装速度太慢,换清华源下载。

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

在这里插入图片描述
yolov5 demo检测

对测试集中的图像进行检测:

python detect.py --weight runs/exp6/weights/best.pt --source .\inference\images\bus.jpg

在这里插入图片描述
检测结果:
在这里插入图片描述

3.模型转换/优化

将YOLOV5的.pt权重文件转换成OpenVINO™工具套件调用的文件,主要的流程:.pt权重文件-》onnx权重文件->IR文件(.bin和.xml)。其中利用ONNX(Open Neural Network Exchange,开放神经网络交换)进行文件格式转换。
在这里插入图片描述

1)pt格式权重文件转onnx格式

安装依赖库

pip install onnx==1.9.0 coremltools onnx-simplifier -i https://pypi.tuna.tsinghua.edu.cn/simple

导出onnx

python export.py --weights runs/exp6/weights/best.pt --img 640 --batch 1

Netron查看网络结构

pip install netron -i https://pypi.tuna.tsinghua.edu.cn/simple

.onnx文件所在路径下:
在这里插入图片描述

2)onnx格式转换OpenVINO的xml和bin格式

安装配置OpenVINX工具套件
参考B站安装步骤
安装vs
vs2019
安装cmake
cmake 3.22.1
python版本切换到3.6

 conda create -n python36 python=3.6
 conda activate python36

配置OpenVINO运行环境
在这里插入图片描述
1)设置环境变量:

 cd C:\Intel> CD .\openvino_2021\bin\
 .\setupvars.bat

在这里插入图片描述
2)配置模型优化器
确保模型优化器可以对onnx模型进行转换

cd D:\Program Files\Anaconda\Scripts
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn onnx==1.10.0
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn tensorflow==1.15.5
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn mxnet==1.5.0
 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn network==2.5.1
cd .\deployment_tools\model_optimizer\install_prerequisites\
 .\install_prerequisites.bat
  1. 验证环境
cd C:\Intel\openvino_2021\deployment_tools\demo
.\demo_security_barrier_camera.bat

在这里插入图片描述
4) 在windows上设置永久的环境变量
win+R 输入sysdm.cpl可以打开环境变量窗口
5)onnx格式转换OpenVINO的xml和bin格式

C:\Intel\openvino_2021\deployment_tools\model_optimizer>
python mo_onnx.py --input_model D:/My_file_xxj/code/my_own_test/yolov5/runs/exp6/weights/best.onnx --output_dir D:/My_file_xxj/code/my_own_test/yolov5/runs/exp6/weights 

在这里插入图片描述
运行成功后会获得.xml和.bin文件,xml和bin是OpenVINO中的模型存储方式。

4. 使用OpenVINO进行推理部署

OpenVINO除了模型优化工具外,还提供了一套运行时推理引擎.
利用OpenVINO的模型进行推理部署的方法有两种:
1)使用OpenVINO原生的SDK;
2) 使用OpenVINO自带的opencv进行部署。
这里使用原生SDK的部署方式。

首先windows10配置make命令

在这里插入图片描述

版权声明:本文为CSDN博主「穿着帆布鞋也能走猫步」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xu1129005165/article/details/122186440

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

Pytorch—万字入门SSD物体检测

前言 由于初入物体检测领域,我在学习SSD模型的时候遇到了很多的困难。一部分困难在于相关概念不清楚,专业词汇不知其意,相关文章不知所云;另一部分困难在于网上大部分文章要么只是简要介绍了SS