RKNN 安装
本文档旨在演示如何安装 RKNN SDK,更多资料请查看 RKNN Toolkit2 源码库 的 doc 目录。
RKNN 简介
Rockchip RK3566/RK3568 系列, RK3588 系列, RK3562 系列, RV1103/RV1106 系列芯片搭载神经网络处理器 NPU, 利用 RKNN 可以帮助用户快速部署 AI 模型到 Rockchip 芯片上使用 NPU 硬件加速模型推理。 为了使用 RKNPU,用户首先需要在 x86 计算机上使用 RKNN-Toolkit2 工具,将训练好的模型转换为 RKNN 格式的模型,然后在开发板上使用 RKNN C API 或 Python API进行推断。
所需工具:
- RKNN-Toolkit2 是一个软件开发工具包,供用户在 PC 和 Rockchip NPU 平台上执行模型转换、推断和性能评估。
- RKNN-Toolkit-Lite2 为 Rockchip NPU 平台提供了 Python 编程接口,帮助用户部署 RKNN 模型并加速实施 AI 应用。
- RKNN Runtime 为 Rockchip NPU 平台提供了 C/C++ 编程接口,帮助用户部署 RKNN 模型并加速实施 AI 应用。
- RKNPU 内核驱动负责与 NPU 硬件交互。
整体框架如下:
安装 RKNN 环境
PC 端下载 RKNN-Toolkit2 仓库
-
下载 RKNN 仓库
建议新建一个目录用来存放 RKNN 仓库,例如新建一个名称为 Projects 的文件夹,并将 RKNN-Toolkit2 和 RKNN Model Zoo 仓库存放至该目录下。
# 新建 Projects 文件夹
mkdir Projects && cd Projects
# 下载 RKNN-Toolkit2 仓库
git clone -b v2.3.0 https://github.com/airockchip/rknn-toolkit2.git
# 下载 RKNN Model Zoo 仓库
git clone -b v2.3.0 https://github.com/airockchip/rknn_model_zoo.git -
(可选)安装 Anaconda
如果系统中没有安装 Python 3.8(建议版本),或者同时有多个版本的 Python 环境,建议使用 Anaconda 创建新的 Python 3.8 环境。
-
安装 Anaconda
在终端窗口中执行以下命令,检查是否安装 Anaconda,若已安装则可省略此节步骤。
$ conda --version
conda 24.9.2如出现 conda: command not found, 则表示未安装 anaconda, 请参考 Anaconda 官网进行安装。
-
创建 conda 环境
conda create -n rknn python=3.8.2
-
进入 rknn conda 环境
conda activate rknn
-
退出环境
conda deactivate
-
PC 端安装 RKNN-Toolkit2
-
激活 conda rknn 环境后,进入 rknn-toolkit2 目录,根据您的架构平台和 Python 版本选择相应的 requirements_cpxx.txt 安装依赖, 并通过 wheel 包安装 RKNN-Toolkit2,这里以 64 位 x86 架构 Python3.8 环境的 PC 为例子,参考命令如下:
# 进入 rknn-toolkit2 目录
cd rknn-toolkit2/rknn-toolkit2/packages/x86_64/
# 请根据不同的 python 版本,选择不同的 requirements 文件, 这里以 python3.8 为例子
pip3 install -r requirements_cp38-2.3.0.txt
# 请根据不同的 python 版本及处理器架构,选择不同的 wheel 安装包文件:
pip3 install ./rknn_toolkit2-2.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl提示如果您使用的是 ARM 架构平台,请安装 arm64 下的依赖
-
验证是否安装成功
执行以下命令,若没有报错,则代表 RKNN-Toolkit2 环境安装成功。
$ python3
>>> from rknn.api import RKNN
板端安装 RKNN Toolkit Lite2 及其所需依赖
RK356X 产品用户使用 NPU 前需要在终端使用 rsetup 开启 NPU: sudo rsetup -> overlays -> Enable NPU,最后重启系统。
如 overlays 选项中无 Enable NPU
选项,请通过: sudo rsetup -> system -> System Update 升级系统, 重启后执行上述步骤开启 NPU。
Radxa 官方镜像已默认安装 RKNPU2 及其所需依赖,仅需安装 python3-rknnlite2,如无法运行可尝试注释命令
sudo apt update
sudo apt install python3-rknnlite2
# sudo apt install rknpu2-rk3588 #SOC为RK3588系列
# sudo apt install rknpu2-rk356x #SOC为RK356X系列
-
如您使用的是 CLI 版本可访问 rknn toolkit lite2 deb 包下载地址
-
检查 rknpu2 的驱动版本, 以下输出表示 rknpu2 驱动版本为 0.9.6
sudo dmesg | grep "Initialized rknpu"
[ 15.522298] [drm] Initialized rknpu 0.9.6 20240322 for fdab0000.npu on minor 1
(可选) 板端虚拟环境中安装 rknn_toolkit-lite2 Python API
若您偏好在板端系统中使用 python venv 虚拟环境,你须单独安装 rknn_toolkit-lite2 wheel
虚拟环境使用方法请参考Python 虚拟环境使用
cd rknn-toolkit2/rknn-toolkit-lite2/packages/
根据板端系统的 python 版本将对应的 rknn_toolkit_lite2-2.3.0-cp3X-cp3X-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
复制到板端
进入虚拟环境后使用 pip3 安装
pip3 install ./rknn_toolkit_lite2-2.3.0-cp3X-cp3X-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
执行以下命令,若没有报错,则代表 rknn_toolkit-lite2 环境安装成功。
$ python3
>>> from rknnlite.api import RKNNLite as RKNN
(可选) 板端安装 RKNN Model Zoo
# 下载 RKNN Model Zoo 仓库
git clone -b v2.3.0 https://github.com/airockchip/rknn_model_zoo.git