5.8 KiB
Executable File
5.8 KiB
Executable File
该文档用于展示两个板卡(RK3588和78NE)在相同环境下测试相同模型的性能对比,将重点展示每个模型在两个板卡上的最佳推理时间(Best(ms)),并计算它们之间的差异。
78NE与RK3588网络推理测试报告
概述
在相同环境下,相同的网络模型进行转换,转换后的模型在78NE和RK3588板卡对相同模型的性能测试结果。测试使用了uint8
数据类型,记录了每个模型在两个板卡上的最佳推理时间(Best(ms))。“最佳推理时间”是指在多次测试(本报告中为5次)中,模型完成推理任务所需的最短时间。
说明
引用瑞芯微RK3588文档\RK3588\01、程序源码\01、程序源码\01、AI例程\03、软件和驱动\rknn-toolkit2-2.0.0-beta0\rknn-toolkit2-2.0.0-beta0\doc02_Rockchip_RKNPU_User_Guide_RKNN_SDK_V2.0.0beta0_CN.pdf:
- 3.1.2 模型 Config 配置:quantized_dtype 用于指定量化类型,目前支持线性非对称量化的 INT8, 默认为'asymmetric_quantized-8'。
- 6.2.1 量化数据类型 :RKNN-Toolkit2 支持的量化数据类型为 INT8。 引用RK3588\01、程序源码\01、程序源码\01、AI例程\01、源码\02_modelzoo\rknn_model_zoo-2.0.0\README_CN.md:
- 模型支持说明 :Demo支持数据类型为INT8/FP16。
根据文档中提到的仿射量化,以及示例程序前处理流程中输入到网络的数据类型为uint8类型,该报告测试为uint8类型的模型比较。
测试环境
RK3588芯片的CPU采用4核Cortex-A76和4核Cortex-A55的大小核架构,其中大核(Cortex-A76)主频为2.4GHz,小核(Cortex-A55)主频为1.8GHz。
板卡型号 | CPU 频率 (GHz) | NPU 频率 (GHz) | DDR传输速率 (MT/s) |
---|---|---|---|
78NE | 1.6 | 1 | 3200 |
RK3588 | 2.4 | 1 | 4266 |
78NE采用DDR4内存,配置为:
- 类型:DDR4
- 传输速率:3200 MT/s
- 容量:8GB
RK3588采用 LPDDR4X 内存,配置为:
- 类型:LPDDR4X
- 传输速率:4266 MT/s
- 容量:16GB
测试模型及配置
模型名称 | 原模型大小 (MB) | 训练框架 | 数据类型 | 78NE 模型大小 (MB) | RK3588 模型大小 (MB) |
---|---|---|---|---|---|
resnet50 | 97.70 | caffe | uint8 | 16.10 | 25.20 |
vgg16 | 527.00 | caffe | uint8 | 102.00 | 132.00 |
yolov3 | 236.00 | darknet | uint8 | 38.90 | 60.40 |
yolov4-tiny | 23.10 | darknet | uint8 | 3.81 | 6.13 |
yolov8s | 42.70 | onnx | uint8 | 9.52 | 12.50 |
u2netp | 5.83 | onnx | uint8 | 3.62 | 3.87 |
openpose | 15.50 | onnx | uint8 | 2.94 | 4.62 |
yolov5s_640 | 27.90 | onnx | uint8 | 7.38 | 8.37 |
swin-T | 110.00 | onnx | uint8 | 21.90 | 109.00 |
yolov5s_relu_visdrone | 27.20 | onnx | uint8 | 5.17 | 8.10 |
yolov10s | 27.90 | onnx | uint8 | 7.29 | / |
yolo12s | 35.60 | onnx | uint8 | 9.21 | / |
- 备注:yolov10s.onnx与yolo12s.onnx模型中TopK操作符的第一个输入并非常量,模型图为动态图,由于RKNN 工具包不支持动态图无法将yolov10s.onnx与yolo12s.onnx转化为rknn格式,因此对于以上两个模型仅在78NE上进行测试。
测试结果对比
模型名称 | 78NE Best (ms) | RK3588 Best (ms) | 差值 (RK3588 - 78NE) | 备注 |
---|---|---|---|---|
resnet50 | 8.99 | 11.70 | +2.71 | RK3588 较慢 |
vgg16 | 9.90 | 33.36 | +23.46 | RK3588 较慢 |
yolov3 | 77.04 | 50.43 | -26.61 | RK3588 较快 |
yolov4-tiny | 13.37 | 11.85 | -1.52 | RK3588 较快 |
yolov8s | 52.52 | 55.35 | +2.83 | RK3588 较慢 |
u2netp | 55.23 | 107.26 | +52.03 | RK3588 较慢 |
openpose | 7.99 | 18.92 | +10.93 | RK3588 较慢 |
yolov5s_640 | 48.30 | 91.48 | +43.18 | RK3588 较慢 |
swin-T | 288.01 | 525.39 | +237.38 | RK3588 较慢 |
yolov5s_relu_visdrone | 23.01 | 46.55 | +23.54 | RK3588 较慢 |
yolov10s | 118.09 | / | / | / |
yolo12s | 998.93 | / | / | / |
总结
在相同环境下,78NE和RK3588板卡对不同模型的性能表现如下:
- RK3588 在 yolov3和yolov4-tiny 模型上表现较好,推理时间较短。
- 78NE 在 resnet50、vgg16、yolov8s、openpose 、yolov5s_640和swin-T模型上表现较好,推理时间较短。
- yolov3在RK3588上的性能提升较为显著,比78NE快26.61ms。
- swin-T和yolov5s_relu_visdrone在78NE上性能提升较为显著,分别比RK3588快237.38ms、23.54ms。
根据测试结果,建议根据具体模型选择合适的板卡以优化性能。
Author : @zy
Copyright (c) 2025 @ccyh