yolov5 + openvino + c++测试

编程入门 行业动态 更新时间:2024-10-27 18:33:41

yolov5 + openvino + c++<a href=https://www.elefans.com/category/jswz/34/1771117.html style=测试"/>

yolov5 + openvino + c++测试

1.拉取最新yolov5代码,训练自己数据或者直接用官方pt模型来进行转为openvino的格式,当前已经支持直接把pt模型转为openvino。

我拉取的是:2023-10-03 21:46       dd9e3382c9af9697fb071d26f1fd1698e9be3e04

在export.py代码中把default中加个'openvino'就可以了

parser.add_argument( '--include', nargs='+', default=['torchscript', 'onnx', 'openvino'],
        help='torchscript, onnx, openvino, engine, coreml, saved_model, pb, tflite, edgetpu, tfjs, paddle')

2.转完之后openvino的文件是单独存在一个文件夹下,里面有三个文件,xxx.xml,xxx.bin,xxx.yaml,如下所示:

3.可以根据给的提示进行测试,如下:

4.测试通过后就安装openvino运行所需的环境,到下面这个网址下载Archives

4.1 OpenVINO 2023.1 — OpenVINO™ documentation

5.我是在windows上使用,所以下载的是windows,下载后是一个压缩包,解压下(参考1有说把一些路径设置到环境变量中,这个可以设置也可以不设置,不设置运行时就把库都拷贝到运行.exe所在目录)。我下载的版本为:w_openvino_toolkit_windows_2023.1.0.12185.47b736f63ed_x86_64.zip,当前是最新

6.打开visual studio,新建一个控制台工程,配置openvino和opencv环境

所添加的lib如下:

opencv_world3411d.lib
openvino_cd.lib
openvino_onnx_frontendd.lib
openvino_paddle_frontendd.lib
openvino_pytorch_frontendd.lib
openvino_tensorflow_frontendd.lib
openvino_tensorflow_lite_frontendd.lib
openvinod.lib

7.利用参考2来运行测试转换后的openvino模型,参考2是yolov5作者认可的代码(如:TFLite, ONNX, CoreML, TensorRT Export · Issue #251 · ultralytics/yolov5 · GitHub)

直接把代码复制粘贴,只需把模型路径和图片路径修改下就好

7.点击生成,编译成功后,打开exe所在路径,把opencv和openvino运行所需的dll全部拷进来

8.点击运行,就可以看到结果,由于是Debug版本,速度有点慢

9.还可以加入如下代码,打印使用的openvino版本,以及电脑自带的CPU、GPU等型号

// -------- Get OpenVINO runtime version --------
std::cout << ov::get_openvino_version().description << ':' << ov::get_openvino_version().buildNumber << std::endl;
std::cout << "Available devices: " << std::endl;
for (auto&& device : availableDevices)
{std::cout << device << std::endl;
}

踩坑

由于之前是在虚拟机运行,导致产生一个报错,一直解决不了,可能这是虚拟机的bug,关于CPU使用啥,报错如下:

Detailed description: Wrong NUMA node id

解决办法,不在虚拟机运行,放到本机就不报错了。

参考

1.c++windows+yolov5-6.2+openvino模型部署超详细_c++:openvino符号文件_十方zh的博客-CSDN博客

 2.GitHub - dacquaviva/yolov5-openvino-cpp-python: Example of using ultralytics YOLOv5 with Openvino in C++ and Python.3.

4.OpenVINO™ Blog

更多推荐

yolov5 + openvino + c++测试

本文发布于:2023-12-07 02:01:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1669736.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:测试   openvino

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!