码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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等型号

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

    踩坑

    由于之前是在虚拟机运行,导致产生一个报错,一直解决不了,可能这是虚拟机的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.https://mp.weixin.qq.com/s/USN5UGsONanzTp-JNfHtuA

    4.OpenVINO™ Blog

  • 相关阅读:
    一个 .net 8 + Azure 登录 + Ant Design Blazor 的基本后台框架
    智能优化算法 | Matlab实现ABC人工蜂群优化算法
    vue.js插槽的定义和使用
    记一次edu实战
    mysql面试题5:索引、主键、唯一索引、联合索引的区别?什么情况下设置了索引但无法使用?并且举例说明
    微信小程序关联组件
    【Java面向对象】对象和类
    spark使用之ALS版本对比
    SVM(下):如何进行乳腺癌检测?
    c++语言基础概述
  • 原文地址:https://blog.csdn.net/shenjianhua005/article/details/133876169
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号