香橙派rk3588在ubuntu上测试rknn的C++调用npu例程rknn_mobilenet_demo

代码仓
注意有两个官方代码仓
https://github.com/rockchip-linux/rknpu2.git
https://github.com/airockchip/rknn-toolkit2.git
第一个是废弃的 第二个是正在维护的 1.5GB 占用空间比较大 下载慢 可以在码云找个镜像
git clone https://gitee.com/polarbird/rknn-toolkit2.git

C++调用npu的例子放在
cd rknn-toolkit2/rknpu2/examples

先用第一个基本例子
这个例子内容是简单的加载模型 输入图片 进行推理的过程
可以用于简单的测试npu使用环境依赖是否正常
cd rknn_mobilenet_demo
查看里面的readme.md

要导出变量 GCC_COMPILER 里面的例子是交叉编译的 而我们用本机编译 所以只需
export GCC_COMPILER=aarch64-linux-gnu
加权限
chmod +x build-linux.sh
执行编译
./build-linux.sh -t rk3588 -a aarch64 -b Release

切换到编译输出目录
cd install/rknn_mobilenet_demo_Linux

编译完成后可以进行运行测试了
运行参数是模型和输入图片
例子已经准备好了模型和测试图片

执行程序
./rknn_mobilenet_demo model/RK3588/mobilenet_v1.rknn model/dog_224x224.jpg

输出信息
model input num: 1, output num: 1
input tensors:
index=0, name=input, n_dims=4, dims=[1, 224, 224, 3], n_elems=150528, size=150528, fmt=NHWC, type=INT8, qnt_type=AFFINE, zp=0, scale=0.007812
output tensors:
index=0, name=MobilenetV1/Predictions/Reshape_1, n_dims=2, dims=[1, 1001, 0, 0], n_elems=1001, size=1001, fmt=UNDEFINED, type=INT8, qnt_type=AFFINE, zp=-128, scale=0.003906
rknn_run
--- Top5 ---
156: 0.984375
155: 0.007812
205: 0.003906
-1: 0.000000
-1: 0.000000

推理结果
156: 0.984375:类别索引为 156 的概率为 0.984375,即模型认为输入图像最有可能属于第 156 个类别。

posted @ 2025-04-26 16:43  逸俊晨晖  阅读(256)  评论(1)    收藏  举报