Rockchip NPU开源项目FAQ
rknpu 项目地址: https://gitcode.com/gh_mirrors/rk/rknpu
项目基础介绍
Rockchip NPU 是由Rockchip Linux维护的一个开源项目,旨在为Rockchip系列处理器的神经处理单元(NPU)提供驱动和支持。项目采用 C/C++ 为主要编程语言,支持多种Rockchip SoC如RK1808、RK1806、RV1109等,并且与RKNN Toolkit紧密集成,允许开发者将常见的机器学习模型转换为适用于Rockchip NPU的RKNN模型格式。项目分为不同的分支,其中rknpu2
提供了更先进的接口,专为RK3566、RK3568等新型号设计,要求模型使用RKNN Toolkit 2来生成。
新手使用注意事项
1. 确保正确选择和转换模型
- 问题描述: 新手可能未注意到不同SoC对RKNN模型的支持版本差异,尤其是在使用RKNN Toolkit时。
- 解决步骤:
- 为RK1808/RK1806/RV1109等使用旧版本工具链,请访问 RKNN Toolkit。
- 对于RK3566/RK3568等较新处理器,确保使用 RKNN Toolkit 2 来生成模型。
- 查阅文档,确保模型预编译或优化适合目标硬件。
2. 驱动兼容性与更新
- 问题描述: 更新驱动不当可能导致HAL与Kernel版本不匹配,引发错误。
- 解决步骤:
- 通过ADB或其他方式将对应型号的最新驱动复制至设备相应目录。
- 若遇到版本不一致错误,手动更新驱动,并确保同时更新用户态驱动和内核驱动。
- 使用命令
adb push <驱动路径> /<目标目录>
进行驱动推送。
3. 执行权限与内存管理
- 问题描述: 缺少必要的执行权限或内存分配不当时,可能导致程序无法正常打开NPU设备或运行时错误。
- 解决步骤:
- 确认
/usr/lib/npu/rknn/memory_profile
文件具有可执行权限,使用chmod +x /usr/lib/npu/rknn/memory_profile
。 - 如果遇到内存限制问题,考虑使用Mini Driver减少资源占用,适合空间有限的场景。
- 对于特定错误,务必检查日志,并考虑向项目开发者或社区寻求帮助。
- 确认
在实际操作中,仔细阅读每个SoC的特定指导文档,利用GitHub上的讨论和问题页面作为问题排查的重要来源,可以帮助新手更顺利地集成和利用Rockchip NPU进行AI应用开发。