1. 模型准备与转换(虚拟机端)
1.1获取原始模型
- 视觉类 (CV):通常从开源社区下载 .onnx 格式的模型
- 大语言模型 (LLM): 从 Hugging Face 或 ModelScope 下载原始权重(例如 PyTorch 格式或 .safetensors)。
1.2 准备官方转换工具套件
- 对于视觉类:下载并安装 RKNN-Toolkit2 环境。
- 对于语言类:下载并安装 RKLLM-Toolkit 环境(官方专门针对大语言模型推出的新工具)。
1.3 执行模型转换
- 利用上述工具提供的 convert.py 等脚本,将通用模型格式(ONNX / PyTorch)“翻译”成 RK3588 NPU 能够理解并执行的专属二进制格式。
- 视觉产物:生成 .rknn 文件。
- 语言产物:生成 .rkllm 文件。
2. 板端环境配置(开发板端)
2.1 传文件
将 PC 端生成的 .rknn 或 .rkllm 模型文件,通过 scp、SFTP 或 U 盘拷贝到开发板中。
2.2 准备板端推理库
- 确保开发板的 Linux 系统中安装了调用 NPU 的底层驱动库(通常官方镜像已自带,如 librknnrt.so 或 librkllmrt.so)。
- 如果是 C++ 开发,还需要配置 CMake 和相关的头文件依赖。
2.3 编译业务代码
- 编写或修改官方提供的推理 Demo 代码(C++ 或 Python 均可)。
- 在开发板上直接编译(简单的 Demo)或者通过交叉编译生成可执行文件。
3. 闭环运行与调试(开发板端)
3.1 连接外设
插上所需的传感器(如 USB 摄像头、麦克风等)。
3.2 排查硬件节点
使用如 lsusb、v4l2-ctl --list-devices 等底层命令,确认硬件外设是否被系统成功识别,并找出其真实的设备节点(例如 /dev/video20)。
3.3 运行与出结果
运行编译好的程序,输入模型文件路径和设备节点,观察推理结果(输出检测框、生成文本等)。
