Toybrick

关于rk3576单核模型性能问题

moon

新手上路

积分
27
楼主
发表于 2025-4-23 10:54:54    查看: 470|回复: 7 | [复制链接]    打印 | 只看该作者
我使用自己的数据使用yolov8s训练了一个单类模型,训练使用的是ultralytics官方最新代码,使用rk官方提供的模型转换工具ultralytics_yolov8转换模型。在使用最新的rknntoolkit2.3.2转换模型,转换过程中参照rknn model zoo仓库给出的指标,进行单核模型转换,在rknn.config中将single_core_mode设置为True,得到单核模型。板端DDR与NPU都设置了最高频率。依旧无法达到官方指标,目前测试的单核yolov8s单类在板端时间为35~40ms(rknn_run),与指标中的40.8(24.5ms)相差较大。
rk3576开发板:luckfox-Omni3576
系统:debain12

回复

使用道具 举报

jefferyzhang

版主

积分
14689
沙发
发表于 2025-4-23 16:58:48 | 只看该作者
请按rk model_zone中优化思路进行优化。
官方模型一行都不改的话,output部分写的很费时。
回复

使用道具 举报

moon

新手上路

积分
27
板凳
 楼主| 发表于 2025-4-23 17:08:04 | 只看该作者
jefferyzhang 发表于 2025-4-23 16:58
请按rk model_zone中优化思路进行优化。
官方模型一行都不改的话,output部分写的很费时。 ...

我理解后处理的时间应该不影响模型推理的时间吧,因为后处理在CPU上,模型推理在NPU中,且我只测试了rknn_run的运行时间。
回复

使用道具 举报

moon

新手上路

积分
27
地板
 楼主| 发表于 2025-4-23 17:30:11 | 只看该作者
jefferyzhang 发表于 2025-4-23 16:58
请按rk model_zone中优化思路进行优化。
官方模型一行都不改的话,output部分写的很费时。 ...

我理解官方特意将v8与v11等模型输出改为8个,是对dfl与后处理进行的优化。且目前我只关注rknn_run的运行时间,yolo整个模型除了输入输出都在NPU中运行。在转换模型时我想使用single_core_mode转换成单核模型提升性能,实际测试却没有效果,这是什么原因导致的呢?
回复

使用道具 举报

moon

新手上路

积分
27
5#
 楼主| 发表于 2025-4-24 10:04:30 | 只看该作者
后处理部分针对单类进行了优化,CPU的占用降低了,NPU以及推理时间都无明显变化。
回复

使用道具 举报

jefferyzhang

版主

积分
14689
6#
发表于 2025-4-24 11:46:48 | 只看该作者
1. 你说的板端时间是带推理+后处理的把?
2. 模型有修改,并不是只有后处理做了优化,模型的输出砍掉了一部分合并在后处理做的,否则多做了2次循环.
3. 指标是要在板子上运行的,非上位机连扳调试状态,如果是pc连扳调试,这里时间还要加上前后usb传输时间
4. 官方最新模型是否改过模型结构造成推理时间变长,如果你在乎指标,建议先用rk的model_zone跑出和指标一样的时间再说。因为这里我甚至都不知道你们用的什么板子,是不是降低了ddr规格等硬件的问题造成的。
回复

使用道具 举报

moon

新手上路

积分
27
7#
 楼主| 发表于 2025-4-24 12:28:06 | 只看该作者
官方链接购买的RK3576D板子能复现出rknn_model_zoo中的各项指标嘛,目前我比较关心官方给的rk3576在single_core下的FPS指标https://github.com/airockchip/rknn_model_zoo#:~:text=38.0-,40.8,-8.9
回复

使用道具 举报

moon

新手上路

积分
27
8#
 楼主| 发表于 2025-4-24 12:36:30 | 只看该作者
1.板端时间只包含rknn_run的运行时间
2.模型转换与后处理与官方保持一致。
3.以上所有指标均在板子运行得到。
4.模型结构无更改,只减少了类别数量,目前使用的是幸狐omni3576开发板,DDR为8GB LPDDR4
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表