博主个人微信:xituxiaoshutong100

yolov5的openvino部署

YOLO 迷途小书童 0评论

软硬件环境

openvino是什么

openvino是一个用于解决在intel硬件平台上进行深度学习部署的方案,支持windowslinuxmacOS

openvino环境搭建

下载地址: https://software.intel.com/content/www/us/en/develop/tools/openvino-toolkit/download.html

下载后解压并进入目录

tar xvf l_openvino_toolkit_p_2020.3.341.tgz
cd l_openvino_toolkit_p_2020.3.341

执行脚本开始按提示安装

# 或者使用带GUI界面的安装脚本sudo ./install_GUI.sh
sudo ./install.sh

openvino_onnx_yolov5

按回车键继续

openvino_onnx_yolov5

选2,不同意收集我的信息

openvino_onnx_yolov5

按回车键继续

openvino_onnx_yolov5

同意并开始安装

openvino_onnx_yolov5

按回车键继续

openvino_onnx_yolov5

至此,安装结束

接下来测试下安装是否成功

cd /opt/intel/openvino/deployment_tools/demo
./demo_security_barrier_camera.sh
./demo_security_barrier_camera.sh -d GPU(测试gpu环境)

openvino_onnx_yolov5

这就说明,openvino的环境安装成功了。

这里需要注意下,由于,在安装过程中,脚本已经帮我们设置了相关的环境,所以我们去测试时无需做任何设置。但是如果下次开机,或者打开新的terminal,我们就需要重新来设置环境,执行

source /opt/intel/openvino/bin/setupvars.sh

或者直接将上述命令写入~/.bashrc中,就不用每次手动敲了。

目录/opt/intel下有openvinoopenvino_2020.3.3412个目录,其实它们是同一个东西,openvino是个软链接文件。

pt转onnx

首先准备依赖

pip install onnx coremltools networkx defusedxml

由于目前openvino的版本对onnx opset 11 版本后的支持有问题,因此需要修改文件model/export.py,将原来opset_version由12改为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'])

接下来就可以将yolov5pt模型转换成onnx格式了,这里使用其自带的yolov5s.pt模型进行测试

python models/export.py --weights weights/yolov5s.pt --img-size 640 --batch-size 1

openvino_onnx_yolov5

转换结束后,就会在weights文件夹下生成yolov5s.onnx

onnx转ir

irIntermediate Representationopenvino的模型优化器(Model Optimizer)会将给定的模型转化为标准的ir格式,并对其进行优化。

使用openvino自带的脚本,就可以完成从.onnx.bin.xml的转换,命令如下

mo.py --input_model weights/yolov5s.onnx

openvino_onnx_yolov5

可以看到在当前目前生成了yolov5s.binyolov5s.xml

openvino测试

这里使用c++语言编写测试程序,下载地址:https://github.com/fb029ed/yolov5_cpp_openvino,非常感谢作者fb029ed的分享

cd yolov5_cpp_openvino/demo
mkdir build
cmake ..
make
./detect_test

需要将前面生成的yolov5s.binyolov5s.xml和一张测试图片拷贝到res目录下,图片重命名为bus.jpg

openvino_onnx_yolov5

参考资料

喜欢 (1)
发表我的评论
取消评论

表情