Ubuntu Openvino(YOLOV5)加载训练好的模型 xml onnx bin

使用 Openvino 对自己训练好的模型yolov5 pt -> IR 进行推理

环境需求

  • Ubuntu 系统 20.04
  • vscode 编辑器
  • python3
  • Openvino 环境(priority
    关键为 export 导出的修改

Openvino安装

参考官网在这里插入图片描述(18 和 21 选择对应的安装版本即可)

如果是新手建议选择可视化界面安装

重点

因为这篇文章不是重点讲述如何安装 Openvino,所以有 bug 可以参考

注意事项:

  • 解压路径可以自己定义,建议安装的位置选择默认的 /opt/intel 即可。
  • 其中不需要自己安装 opencv,openvino 会自动安装。
  • 安装过后同样会跳到一个官网的网址,跟着步骤往下,将推理优化模型模块安装完即可,下面4个步骤。

Step 2: Install External Software Dependencies¶
Step 3: Configure the Environment¶
Step 4: Configure the Model Optimizer¶

  • 可选选项可以安装也可不用安装。

安装完后就可以测试自己是否已经安装完成
测试的 demo 在/opt/intel/openvino_2021/deployment_tools/demo
在这里插入图片描述

推理部分

Yolov5 训练好自己的 pt 模型使用 export.py 转换成 openvino 格式。

!python3 /content/drive/MyDrive/yolov5/export.py --weights /content/drive/MyDrive/yolov5/runs/train/exp4/weights/best.pt --include openvino

修改 export.py 的默认 arguments

在这里插入图片描述

  1. 将 opset = 12 更改为 opest = 10
  2. –data 更改为训练时的 data.yaml 文件(同样)
  3. model.model[-1].export = True

注意 :

  • 路径中的*best.pt 为从 yolov5 训练(train.py) 好的模型。
  • 选项为openvino

然后就会从原理模型 train 完的路径中找到三个文件夹。
在这里插入图片描述
其中bin 和 xml 为 openvino 中间模型文件。

  • 然后就是CMakeLists.txt 文件的定义修改(注意之前的安装目录)
cmake_minimum_required(VERSION 3.5)
project(detect_test)
set(CMAKE_CXX_STANDARD 11)
include_directories(
    #OpenVINO推理引擎的头文件
    /opt/intel/openvino_2021/deployment_tools/inference_engine/include/
    /opt/intel/openvino_2021/deployment_tools/ngraph/include/
)

#查找必要的依赖包
find_package(OpenCV REQUIRED)
set(InferenceEngine_DIR "/opt/intel/openvino_2021/deployment_tools/inference_engine/share")
find_package(InferenceEngine)
set(ngraph_DIR "/opt/intel/openvino_2021/deployment_tools/ngraph")
find_package(ngraph REQUIRED)
set(ngraph_LIBRARIES "/opt/intel/openvino_2021/deployment_tools/ngraph/lib/libngraph.so")
set(ngraph_INCLUDE_DIRS "/opt/intel/openvino_2021/deployment_tools/ngraph/include/")


# 编译detector.so

add_library (detector SHARED ${CMAKE_CURRENT_SOURCE_DIR}/detector.cpp)
target_include_directories(detector
        PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
        PUBLIC ${OpenCV_INCLUDE_DIR}
        PUBLIC ${InferenceEngine_INCLUDE_DIRS}
        PUBLIC ${ngraph_INCLUDE_DIRS}
)
target_link_libraries(detector
        ${OpenCV_LIBS}
        ${InferenceEngine_LIBRARIES}
        ${ngraph_LIBRARIES}
)

add_executable(detect_test main.cpp)
target_link_libraries(detect_test
                        PRIVATE 
                        ${InferenceEngine_LIBRARIES}
                        ${OpenCV_LIBS} 
                        ${NGRAPH_LIBRARIES}
                        detector
                        )

我的 github 仓库
在 build 文件中运行可执行文件
mkdir build
cd build
cmake … && make
./detect_test

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值