RK3588为第二代RKNPU,RKNN-Toolkit2用于模型的部署和优化,可与开发板设备进行联机调试。支持如Tensorflow、PyTorch、Darknet模型等先转换为ONNX)模型,随后再将导出为RKNN格式,从而实现在瑞芯微平台上的加载和推理操作。整体流程如图所示。
驱动仓库为:GitHub - rockchip-linux/rknpu2
模型转换工具仓库为:GitHub - rockchip-linux/rknn-toolkit2
模型部署官方实例仓库:GitHub - airockchip/rknn_model_zoo
官方维护包、容器、实例文档等存于网盘(密码:rknn):联想Filez
通过仓库下载测试NPU代码,通过如下步骤进行测试:
# 编译程序
cmake -S . -B build
cmake --build build
# 运行测试命令
./build/mobilenet ./weights/mobilenet_v1.rknn ./images/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