Pt模型导出Openvino模型

目录

一、安装openvino

1、激活虚拟环境(我的虚拟环境ocr_detect)

2、下载openvino工具

二、导出openvino模型

1、找到虚拟环境下的openvino文件夹中的mo_onnx.py文件

2、使用方法

三、参考博客


一、安装openvino

1、激活虚拟环境(我的虚拟环境ocr_detect)

activate ocr_detect

2、下载openvino工具

官方安装教程:Install OpenVINO™ Development Tools — OpenVINO™ documentation

使用清华镜像源下载

pip install openvino-dev[pytorch] -i https://pypi.tuna.tsinghua.edu.cn/simple/

其中[pytorch],pytorch是参数,指定输入模型的源深度学习框架,并且是以下一个或多个以“,”分隔的值:caffe, kaldi, mxnet, onnx, pytorch, tensorflow, tensorflow2。 

二、导出openvino模型

1、找到虚拟环境下的openvino文件夹中的mo_onnx.py文件

"D:\installed software\Anaconda\envs\ocr_detect\Lib\site-packages\openvino\tools\mo\mo_onnx.py"

2、使用方法

python mo_onnx.py文件路径 --input_model(被转换的onnx模型路径) --output_dir(输出的模型文件夹路径)

示例

python "D:\installed software\Anaconda\envs\ocr_detect\Lib\site-packages\openvino\tools\mo\mo_onnx.py" --input_model "C:\Users\admin\Desktop\IDmodel20241209\Moedel_ncnn20241209_epochs200\openvino\crnn200_20241205.onnx" --output_dir "C:\Users\admin\Desktop\IDmodel20241209\Moedel_ncnn20241209_epochs200\openvino"

三、参考博客

用OpenVino将onnx模型转换成xml模型_pytorch onnx转xml-优快云博客

### 部署 YOLOv8 到 OpenVINO 和 Alxboard 硬件平台 为了实现将训练好的 YOLOv8 模型部署到 OpenVINO 并在 Alxboard 硬件平台上运行,以下是详细的说明: #### 1. **YOLOv8 的导出** YOLOv8 支持多种格式的模型导出功能。要将其换为适合 OpenVINO 使用的 ONNX 或 IR 格式,可以利用 Ultralytics 提供的工具完成此过程。 ```bash from ultralytics import YOLO model = YOLO('yolov8n.pt') # 加载预训练权重或自定义训练后的权重文件 success = model.export(format='onnx', simplify=True) # 导出为 ONNX 格式并简化模型结构 ``` 上述代码片段展示了如何通过 Python 脚本调用 `export` 方法来生成 ONNX 文件[^5]。ONNX 是一种通用的中间表示形式,能够被许多推理引擎支持,包括 OpenVINO。 --- #### 2. **OpenVINO 工具链的应用** 一旦获得了 ONNX 格式的模型文件,下一步就是使用 OpenVINO Toolkit 将其进一步优化成 Intermediate Representation (IR) 格式。这一步骤可以通过 Model Optimizer 完成。 安装 OpenVINO SDK 后,在命令行执行如下指令即可完成化: ```bash mo --input_model yolov8.onnx --data_type FP16 --output_dir ./openvino_ir/ ``` 这里指定了输入模型路径以及目标存储目录,并选择了半精度浮点数 (`FP16`) 来减少内存占用同时维持性能[^6]。 --- #### 3. **适配 Alxboard 硬件环境** Alxboard 基于特定架构设计,因此需要确认设备驱动程序是否允许访问 GPU 设备资源表中的 `/dev/dri/renderD128` 接口以进行读写操作[^3]。如果一切正常,则可继续配置加载流程。 编写一段简单的 C++ 或 Python 应用来实例化 Inference Engine Core 对象并与指定硬件绑定: ```cpp #include <inference_engine.hpp> using namespace InferenceEngine; int main() { // 初始化核心对象 Core ie; // 设置插件参数指向 Alxboard 上可用的目标设备 CNNNetwork network = ie.ReadNetwork("./openvino_ir/yolov8.xml"); ExecutableNetwork executable_network = ie.LoadNetwork(network, "GPU"); InferRequest infer_request = executable_network.CreateInferRequest(); } ``` 以上代码段演示了创建推断请求的过程,其中 `"GPU"` 参数表明希望优先调度至图形处理器处理任务[^7]。 --- #### 4. **测试与验证** 最后一步是对整个流水线进行全面的功能性和效能评估。确保从图像采集到最后检测框绘制都能流畅运作无误。 ```python import cv2 from openvino.runtime import Core ie_core = Core() compiled_model = ie_core.compile_model(model="./openvino_ir/yolov8.xml", device_name="GPU") # 获取输入输出张量信息 input_tensor = compiled_model.input(0) output_tensor = compiled_model.output(0) image = cv2.imread("test_image.jpg") resized_image = cv2.resize(image, tuple(input_tensor.shape[-2:])) results = compiled_model([resized_image])[output_tensor] print(results) ``` 这段脚本负责展示如何捕获摄像头帧或者静态图片作为样本送入网络预测边界盒坐标位置[^8]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值