[RK3576] 系统检查与必要工具下载
1.检查系统是否能识别NPU驱动
要判断开发板能否调用rk3576的NPU进行推理,首先要看系统内核中是否有集成瑞芯微的NPU驱动,在系统终端中,输入以下命令:1
demsg | grep -i rknpu
如果在输出信息中显示了RKNPU的相关信息,如驱动版本,初始化成功等,就说明内核已支持NPU。
如果没有任何输出,则需要考虑更新至支持NPU的系统版本。
2. 必要的工具下载
在部署模型的过程中安装 Python 包时,pip 试图从源代码构建 ruamel.yaml.clib 这个依赖项,但当前环境缺少必要的构建工具或依赖库,会导致编译失败,所以需要安装以下两部分内容
1.安装系统级依赖
ruamel.yaml.clib 是一个 C 扩展,编译它需要系统的 C/C++ 编译器和开发库。在基于 Debian/Ubuntu 的系统(如现在使用的麒麟系统)上,可以通过 apt 命令一键安装这些基础构建工具。
请在终端执行以下命令:1
2sudo apt update
sudo apt install build-essential python3-devbuild-essential:包含了 GCC/G++ 编译器、make 等核心构建工具。
python3-dev:包含了 Python 的头文件(如 Python.h),这是编译 C 扩展所必需的。
2. 升级 pip, setuptools 和 wheel
旧版本的 pip 无法正确处理现代的构建系统(PEP 517)。将它们升级到最新版本可以解决兼容性问题。1
pip3 install --upgrade pip setuptools wheel
3.安装Linux Nano文本编辑器
使用Nano以创建,编辑后续的.py文件;1
2sudo apt update
sudo apt install nano
3.检查并完成RKNN模型推理环境
一旦确认NPU驱动就绪,就可以部署瑞芯微官方的RKNN软件栈来运行模型。这通常包含两个核心部分:
- 板端运行时环境 (RKNN Runtime): 这是一组C/C++或Python库,负责在开发板上加载RKNN模型,并与NPU驱动通信来执行推理任务。
- PC端模型转换工具 (RKNN-Toolkit2): 这是一个在PC(通常是Ubuntu环境)上运行的Python工具包,用于将主流框架(如PyTorch, TensorFlow, ONNX等)训练好的模型转换为瑞芯微NPU专用的
.rknn格式。
整个工作流程是:在PC上使用 RKNN-Toolkit2 将模型转换为 .rknn 格式,然后将转换好的模型文件和推理代码部署到运行银河麒麟系统的RK3576开发板上,由 RKNN Runtime 负责调用NPU进行推理。
首先,我们先专注于开发板上的RKNN Runtime的安装,
1.前置准备
由于需要在github下载rknnrt的相关文件,所以我们需要为开发板连接显示器和键鼠,
2.检查RKNN运行时服务
RK3576 的 NPU 推理依赖于一个名为 rknn_server 的后台服务。这个服务负责接收应用程序的推理请求,并将其传递给底层的 NPU 驱动。请执行以下命令来检查它是否正常运行:1
2
3
4#查询 rknn_server 的版本信息
strings /usr/bin/rknn_server | grep -i "rknn_server version"
# 查询核心运行时库 librknnrt.so 的版本信息
strings /usr/lib/librknnrt.so | grep -i "librknnrt version"
如果找不到文件,则需要自行下载
