文章目录[隐藏]
以在Intel的OpenVINO上部署Yolov5模型为例,加深对模型部署的理解。
1. 训练准备
获取yolov5模型及数据集
git clone git://github.com/ultralytics/yolov5
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
- 验证环境
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的部署方式。
版权声明:本文为CSDN博主「穿着帆布鞋也能走猫步」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xu1129005165/article/details/122186440
暂无评论