深圳宝安高端网站建设报价/站长工具seo排名查询
YOLOv5的.pt训练权重文件转换成OpenVINO™工具套件调用的XML文件
我在部署的过程中,参考的博客有些命令已经过时,并且有些博客还会给读者准备bug,比如加空格、变格式、关键点不详,我十分反对这种埋坑的做法,虽然这种博客的内容很有启发和帮助,但是对新手太不友好了,我这篇博客保证你和我配置相同可以转化出来,需要注意的地方我都会说的! 🐱🚀
在上一篇博客中,我已经在Ubuntu18.04中部署好了运行YoLov5的环境,并做了口罩检测:ubuntu18.04配置运行YoLo v5的环境,运行口罩检测
将YOLOv5的.pt训练权重文件转换成OpenVINO™工具套件调用的文件,主要的流程是:
.pt 权重文件
—> ONNX 权重文件
—>IR 文件(.bin和xml)
。
其中利用ONNX(Open Neural Network Exchange,开放神经网络交换)进行文件格式转换。
一、pt 权重文件 —> ONNX 权重文件
先安装ONNX,然后运行脚本,实现转换。
1 安装ONNX
ONNX的安装方法相对简单,直接pip安装即可:
pip3 install onnx
2 ONNX转换
YOLOv5官方提供了转换成ONNX权重的脚本文件,位于yolov5/models/export.py,使用说明详见:
https://github.com/ultralytics/yolov5/issues/251
注意,这里需要将export.py脚本文件中的opset_version修改为10:
注意,这里需要将export.py脚本文件中的opset_version修改为10:
torch.onnx.export(model, img, f, verbose=False, opset_version=10, input_names= ['images'], output_names=['classes', 'boxes'] if y is None else ['output'])
然后再执行如下转换指令:
python3 models/export.py --weights runs/exp5/weights/best.pt --img 640 --batch 1
转换成功后,就会在runs/exp5/weights文件夹中生成best.onnx文件。
二、ONNX 权重文件 —> IR 文件(.bin和.xml)
先安装、配置OpenVINO™工具套件,然后运行脚本,实现转换。
1 安装OpenVINO™工具套件
官网:
https://docs.openvinotoolkit.org/latest/index.html
这里使用APT的方式,具体参考:
https://docs.openvinotoolkit.org/latest/openvino_docs_install_guides_installing_openvino_apt.html
为什么贴官网部署,因为人家会一直更新,一直可用✔,自己点击上面的APT方式部署连接,找到下面贴图的位置来执行命令
步骤如下:
考虑到你的网络问题,我把官网命令贴在这里:
为存储库安装GPG密钥
1.Download the public key from https://apt.repos.intel.com/openvino/2021/GPG-PUB-KEY-INTEL-OPENVINO-2021 and save it to a file.
2.Add this key to the system keyring:
sudo apt-key add <PATH_TO_DOWNLOADED_GPG_KEY>
Note
You might need to install GnuPG: sudo apt-get install gnupg
3.Check the list of APT keys running the following command:
sudo apt-key list
4.Add the Repository
Run the following command:
echo "deb https://apt.repos.intel.com/openvino/2021 all main" | sudo tee /etc/apt/sources.list.d/intel-openvino-2021.list
5.Update the List of Packages
Run the update command:
sudo apt update
参考我这里情况:
sudo apt-key add /home/mosu/下载/GPG-PUB-KEY-INTEL-OPENVINO-2021
sudo apt-key list
然后搜索可下载的包,要注意系统版本:
sudo apt-cache search intel-openvino-dev-ubuntu18
这里安装intel-openvino-dev-ubuntu18-2021.3.394版本,多等一会
sudo apt install intel-openvino-dev-ubuntu18-2021.3.394
这就安装好了!🙌
2 OpenVINO™工具套件转换
安装好OpenVINO™工具套件后,我们需要使用OpenVINO™工具套件的模型优化器(Model Optimizer)将ONNX文件转换成IR(Intermediate Representation)文件。
首先设置 OpenVINO™工具套件的环境和变量:
source /opt/intel/openvino_2021/bin/setupvars.sh
然后运行如下脚本,实现ONNX模型到IR文件(.xml和.bin)的转换:
python3 /opt/intel/openvino_2021/deployment_tools/model_optimizer/mo.py --input_model runs/exp5/weights/best.onnx --model_name yolov5s_best -s 255 --reverse_input_channels --output Conv_487,Conv_471,Conv_455
报错(其实这里的格式也有问题)
pip3 install networkx
OK,成功了!
注:如果你想部署在树莓派上,要加上这个参数
--data_type FP16
有问题欢迎在评论区留言。
文章版权声明:自由转载-非商用-保持署名|Creative Commons BY-NC 3.0
你可转载和修改文章,但必须注明原作者和原文链接,不得用于商业用途