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 中间模型文件。

扫描二维码关注公众号,回复: 14312727 查看本文章
  • 然后就是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
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_67390963/article/details/123524552#comments_21998625