rk3588 更新推理库,安装python rknn-toolkit-lite2 推理环境

1. 前言

rk3588 的ai开发环境,需要安装的库有点多,名称看起来有点像,经常会乱,本文重点是更新板端 推理库和python npu 的api,并运行测试。

2. 下载官方工程

官方提供的PC端需要安装的依赖和板端的依赖在同一个工程。

https://github.com/airockchip/rknn-toolkit2.git

在这里插入图片描述

下载官方的rknn2工程

git clone -b v2.3.0 https://github.com/airockchip/rknn-toolkit2.git  rknn-toolkit2-v2.3.0

在这里插入图片描述

3. 安装推理库

进入到下载的工程,执行更新库和权限修订

  cp rknpu2/runtime/Linux/librknn_api/aarch64/librknnrt.so /usr/lib
  cp rknpu2/runtime/Linux/rknn_server/aarch64/usr/bin/* /usr/bin/
  chmod +x /usr/bin/rknn_server
  chmod +x /usr/bin/start_rknn.sh
  chmod +x /usr/bin/restart_rknn.sh
  # 重启rknn 后台服务
  restart_rknn.sh

restart_rknn.sh 运行成功之后显示 版本号 ,显示 2.3.0
在这里插入图片描述

4. 安装 python rknn api 环境

4.1 安装

安装环境的基础包如下图所示,根据RK3588 运行的python版本安装对应的软件包
在这里插入图片描述

安装指令

pip install rknn_toolkit_lite2-2.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

安装过程

root@ATK-DLRK3588-Ubuntu:/work/rknn-toolkit2-v2.3.0/rknn-toolkit-lite2/packages# pip install rknn_toolkit_lite2-2.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 
Processing ./rknn_toolkit_lite2-2.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from rknn-toolkit-lite2==2.3.0) (1.24.4)
Collecting psutil (from rknn-toolkit-lite2==2.3.0)
  Downloading psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.metadata (22 kB)
Collecting ruamel.yaml (from rknn-toolkit-lite2==2.3.0)
  Downloading ruamel.yaml-0.18.10-py3-none-any.whl.metadata (23 kB)
Collecting ruamel.yaml.clib>=0.2.7 (from ruamel.yaml->rknn-toolkit-lite2==2.3.0)
  Downloading ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_24_aarch64.whl.metadata (2.2 kB)
Downloading psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (279 kB)
Downloading ruamel.yaml-0.18.10-py3-none-any.whl (117 kB)
Downloading ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_24_aarch64.whl (641 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 641.5/641.5 kB 18.2 kB/s eta 0:00:00
Installing collected packages: ruamel.yaml.clib, psutil, ruamel.yaml, rknn-toolkit-lite2
Successfully installed psutil-7.0.0 rknn-toolkit-lite2-2.3.0 ruamel.yaml-0.18.10 ruamel.yaml.clib-0.2.8
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
root@ATK-DLRK3588-Ubuntu:/work/rknn-toolkit2-v2.3.0/rknn-toolkit-lite2/packages# 

在这里插入图片描述

4.2 测试

rknn的官方工程同时也提供了验证程序,进到对应的目录执行程序

root@ATK-DLRK3588-Ubuntu:/work/rknn-toolkit2-v2.3.0/rknn-toolkit-lite2/examples/resnet18# python3 test.py 
W rknn-toolkit-lite2 version: 2.3.0
--> Load RKNN model
done
--> Init runtime environment
I RKNN: [16:26:54.254] RKNN Runtime Information, librknnrt version: 2.3.0 (c949ad889d@2024-11-07T11:35:33)
I RKNN: [16:26:54.254] RKNN Driver Information, version: 0.9.2
I RKNN: [16:26:54.254] RKNN Model Information, version: 6, toolkit version: 2.3.0(compiler version: 2.3.0 (c949ad889d@2024-11-07T11:39:30)), target: RKNPU v2, target platform: rk3588, framework name: PyTorch, framework layout: NCHW, model inference type: static_shape
W RKNN: [16:26:54.268] query RKNN_QUERY_INPUT_DYNAMIC_RANGE error, rknn model is static shape type, please export rknn with dynamic_shapes
W Query dynamic range failed. Ret code: RKNN_ERR_MODEL_INVALID. (If it is a static shape RKNN model, please ignore the above warning message.)
done
--> Running model
resnet18
-----TOP 5-----
[812] score:0.999680 class:"space shuttle"
[404] score:0.000249 class:"airliner"
[657] score:0.000013 class:"missile"
[466] score:0.000009 class:"bullet train, bullet"
[895] score:0.000008 class:"warplane, military plane"

done

在这里插入图片描述

5. 总结

  1. 推理库的安装过程,以及验证是否安装是否成功
  2. python 推理 api 安装过程,以及验证安装是否成功
### RKNN-Toolkit-Lite2RK3566 的使用指南 #### 关于RKNN-Toolkit-Lite2RK3566的支持情况 对于RK3566平台而言,RKNN-Toolkit及其Lite版本提供了必要的工具来支持该硬件上的神经网络加速功能。然而,在官方文档以及社区资源中,更多关注的是诸如RK3588这样的旗舰级芯片组;针对RK3566的具体指导相对较少[^1]。 #### 获取RKNN-Toolkit-Lite2 为了获取适用于RK3566的RKNN-Toolkit-Lite2,建议访问瑞芯微官方网站或GitHub仓寻找最新的发布版本和支持文件。通常情况下,这些资源会包含详细的安装说明、兼容性列表以及其他重要信息[^2]。 #### 安装环境准备 在Ubuntu环境下搭建RKNN-Toolkit-Lite2的工作流程与标准版相似,主要包括以下几个方面: - **下载官方项目包**:从GitHub克隆最新源码。 - **解决依赖项**:确保已安装TensorFlow、PyTorch等框架,并配置好编译器如GCC。 - **执行安装脚本**:按照README中的指示完成软件包的本地构建与安装过程。 #### 示例代码展示 下面是一个简单的Python示例,用于演示如何利用RKNN-Toolkit-Lite2加载预训练好的YOLOv5模型并进行推理操作: ```python import rknn.api as rknn_api def load_model_and_infer(image_path): # 初始化RKNN对象 rknn = rknn_api.RKNN() # 加载ONNX格式的YOLOv5模型 ret = rknn.load_onnx(model='./yolov5s.onnx') if ret != 0: print('Load YOLOv5 model failed!') exit(ret) # 构建计算图 ret = rknn.build(do_quantization=True, dataset='./dataset.txt') if ret != 0: print('Build model failed!') exit(ret) # 导出优化后的模型 rknn.export_rknn('./yolov5.rknn') # 设置输入数据 img = cv2.imread(image_path) img = preprocess_image(img) # 自定义图像前处理函数 # 执行推理 outputs = rknn.inference(inputs=[img]) # 后处理逻辑... ``` 此段代码展示了基本的应用场景,实际应用时可能还需要根据具体需求调整参数设置及前后处理部分[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值