【YOLOv8部署至RV1126】PT转ONNX、ONNX转RKNN、RKNN预编译

10 篇文章 ¥99.90 ¥299.90

本文用于RV1126部署过程中的模型转换,使用的是YOLOv8的检测模型。实现PT转ONNX、ONNX转RKNN以及RKNN预编译。

一,转换文件下载

此小节主要介绍模型转换过程中所需要的文件,介绍一下各个文件的作用,再转换之前需要先准备好这些文件。转换步骤查看第二小节。

  • YOLOv8模型训练https://github.com/ultralytics/ultralytics
    此文件为YOLOv8官方项目包,用于模型训练生成 .pt 文件,即正常训练完成就可以得到一个权重文件,或者直接使用官方提供的权重文件也行。是用于转换的PT文件。

在这里插入图片描述

  • ultralytics_yolov8https://github.com/airockchip/ultralytics_yolov8
    此文件是瑞芯微官方提供的、用于pt转onnx的文件。和上方官方的文件区别在于:官方的权重是最终输出一个检测头,而为了适配RKNN部署,需要修改成三个输出。具体的内容可以对照\ultralytics\nn\modules\head.py中的Detect
### 移植 YOLOv8RV1126 平台的解决方案 将 YOLOv8 模型移植到 RV1126 平台涉及多个步骤,包括模型转换、环境配置、编译工具链设置以及性能优化。以下是一个详细的解决方案: #### 1. 环境准备 确保开发环境已正确配置,包括安装必要的依赖项和工具链: - 安装 Docker Desktop,并拉取支持 RV1126 的容器镜像[^3]。 - 配置交叉编译工具链,例如 `arm-rockchip830-linux-uclibcgnueabihf`。 #### 2. 模型转换 YOLOv8模型通常以 `.pt` 格式保存,需要将其转换为适合 RV1126 的推理框架(如 RKNN)支持的格式: - 使用官方工具或第三方工具将 `.pt` 模型转换ONNX 格式。可以参考以下命令: ```python import torch from yolov8 import YOLOv8 model = YOLOv8("yolov8.pt") dummy_input = torch.randn(1, 3, 640, 640) torch.onnx.export(model, dummy_input, "yolov8.onnx", opset_version=11) ``` - 将 ONNX 模型转换RKNN 格式。可以参考微芯瑞公司的优化细节[^2],并使用 RKNN Toolkit 进行转换: ```bash rknn_toolkit.convert \ --model yolov8.onnx \ --output yolov8.rknn \ --dataset dataset.txt \ --optimization-level 3 ``` #### 3. 编译与部署RV1126 平台上运行 YOLOv8 模型需要编译相关代码: - 创建编译目录并配置 CMake 项目: ```bash cd /LockzhinerVisionModuleWorkSpace/LockzhinerVisionModule/Cpp_example/D10_yolov5 rm -rf build && mkdir build && cd build export TOOLCHAIN_ROOT_PATH="/LockzhinerVisionModuleWorkSpace/arm-rockchip830-linux-uclibcgnueabihf" cmake .. make -j8 && make install ``` - 如果需要构建 Python 扩展模块,可以参考 distutils 的方法[^4]: ```python from distutils.core import setup, Extension module = Extension('yolov8_module', sources=['yolov8.cpp']) setup(name='yolov8_module', version='1.0', ext_modules=[module]) ``` #### 4. 性能优化 为了提高 YOLOv8RV1126 上的推理速度,可以参考以下优化策略: - 使用 RKNN Toolkit 提供的量化工具对模型进行 INT8 量化。 - 调整推理框架中的线程数和缓存设置以适应硬件特性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Limiiiing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值