yolov5 自训练pt模型转onnx,再转rknn,并部署 注意事项

yolov5 部署到rk3588 教程来自

yolov5训练pt模型并转换为rknn模型,部署在RK3588开发板上------从训练到部署全过程_yolov5 rknn-CSDN博客

1.通过android studio 部署代码在rk3588板子上运行代码

项目来源

rknn-toolkit2/rknpu2/examples/rknn_yolov5_android_apk_demo at master · rockchip-linux/rknn-toolkit2 (github.com)

在这个教程中

2.yolov5版本和onnx版本必须一致

3.激活函数

根据此教程中的yolov5最好是修改为rule激活函数所训练的,yolov5更换激活函数教程:

更换YOLOv5激活函数_yolov5中silu改成relu-CSDN博客

4.在上文的教程中,test.py文件里的量化不可以关闭, anchors需要修改为训练模型的python代码里 anchors

如果是rk3588板子则记得修改test.py 中的

rknn.config(mean_values=\[0, 0, 0], std_values=\[255, 255, 255],target_platform='rk3588')

anchors 在test.py文件的 yolov5_post_process(input_data) 函数

5. 在android studio的项目中同样也要修改anchors

在 post_process.cc 这个文件中,在211行左右,修改anchors

例如:

int anchor06 = {25, 59, 18, 99, 57, 76};

int anchor16 = {32, 164, 62, 217, 147, 165};

int anchor26 = {85, 388, 179, 457, 421, 368};

6.除了第一个教程里所说的test.py里需要修改CLASS分类,我们部署到android studio 的项目也需要修改CLASS参数

post_process.cc 文件第29行左右

define OBJ_CLASS_NUM 1

相关推荐
冬奇Lab4 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 03 章 消息体系与 Prompt:不可变模型、`ChatOptions` 与模板渲染
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 24 章 生产实践与 2.x 迁移:陷阱清单、AOT 与调优
java·人工智能·开源
鶴哥只手遮天5 小时前
Spring AI 2.0.1 深度解析-第 10 章 工具调用(中):执行链路、结果转换与工具限制
java·人工智能·开源