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

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

环境需求

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

Openvino安装

参考官网Ubuntu Openvino(YOLOV5)加载训练好的模型 xml onnx bin_第1张图片(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

Ubuntu Openvino(YOLOV5)加载训练好的模型 xml onnx bin_第2张图片

  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

你可能感兴趣的:(Openvino,ubuntu,openvino,深度学习)