目录
安装RKNN工具
安装pip3
安装RKNN Toolkit Lite2
安装RKNPU2运行库
本文首发于电子发烧友论坛:【新提醒】【HZHY-AI300G智能盒试用连载体验】+ 智能工业互联网网关 - 北京合众恒跃科技有限公司 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com)
前面已经展示了AI300G智能盒转为工业网关的能力,接下来我们将测试RK3588的NPU推理能力。
首先,需要安装RKNN相关工具和Python的环境。
安装RKNN工具
瑞芯微提供的NPU相关工具包括RKNN-Toolkit2、RKNN Toolkit Lite2。
RKNN-Toolkit2是为用户提供在 PC、 Rockchip NPU平台上进行模型转换、 推理和性能评估的开发套件, 用户通过该工具提供的 Python接口可以便捷地完成以下功能:
- 模型转换: 支持 Caffe、 TensorFlow、 TensorFlow Lite、 ONNX、 DarkNet、 PyTorch等模型转为 RKNN模型, 并支持 RKNN模型导入导出, RKNN模型能够在 Rockchip NPU平台 上加载使用。
- 量化功能: 支持将浮点模型量化为定点模型, 目前支持的量化方法为非对称量化
( asymmetric_quantized-8及asymmetric_quantized-16) , 并 支 持 混 合 量 化 功 能 。 - 模型推理: 能够在 PC上模拟 Rockchip NPU运行 RKNN模型并获取推理结果; 或将 **RKNN模型分发到指定的 NPU设备上进行推理并获取推理结果。
- 性能评估: 将 RKNN模型分发到指定 NPU设备上运行, 以评估模型在实际设备上运行时** 的性能。
- 内存评估: 评估模型运行时的内存的占用情况。 使用该功能时, 必须将 **RKNN 模型分发 到 NPU设备中运行, 并调用相关接口获取内存使用信息。
- 量化精度分析: 该功能将给出模型量化前后每一层推理结果与浮点模型推理结果的余弦距离, 以便于分析量化误差是如何出现的, 为提高量化模型的精度提供思路。
RKNN Toolkit Lite2为 Rockchip NPU平台提供 Python编程接口,帮助用户部署 RKNN模型,加速 AI应用的落地。
我们在开发板上一般只需要安装RKNN Toolkit Lite2,而RKNN-Toolkit2通常是安装在电脑上的。
安装pip3
AI-300G采用的是Ubuntu系统,默认是安装了Python 3.8,但是没有安装RKNN相关的工具。
开发板上没有pip3,所以需要先安装一个:
sudo apt install python3-pip
安装RKNN Toolkit Lite2
然后从https://github.com/airockchip/rknn-toolkit2/tree/master/rknn-toolkit-lite2/packages下载所需要rknn_toolkit_lite2的安装包,对于我的配置,就是rknn_toolkit_lite2-2.0.0b0-cp38-cp38-linux_aarch64.whl文件。
使用pip进行安装:
pip install rknn_toolkit_lite2-2.0.0b0-cp38-cp38-linux_aarch64.whl
另外,安装一下OpenCV,方便进行图像处理:
pip install -i https://mirror.baidu.com/pypi/simple opencv_contrib_python
安装RKNPU2运行库
瑞芯微的NPU运行还需要RKNPU2运行库支持。
首先从https://github.com/airockchip/rknn-toolkit2/tree/master/rknpu2/runtime/Linux下载所需要的RKNN Server和RKNPU2 Runtime库。注意:不要使用厂商提供的百度盘里面的库文件,那些文件版本太低了。 瑞芯微的NPU相关工具迭代速度相当快,要注意模型、工具之间的版本匹配。
然后执行以下命令。
# 安装rknn server
sudo cp rknn_server/aarch64/usr/bin/rknn_server /usr/bin/rknn_server
sudo cp rknn_server/aarch64/usr/bin/start_rknn.sh /usr/bin/start_rknn.sh
sudo cp rknn_server/aarch64/usr/bin/restart_rknn.sh /usr/bin/restart_rknn.sh
# 安装 RKNPU2 Runtime库
cp librknn_api/aarch64/librknnrt.so /usr/lib/librknnrt.so
# 创建一个软连接到librknnrt.so
sudo ln -s /usr/lib/librknnrt.so /usr/lib/librknn_api.so
至此,运行Python NPU推理程序的开发环境就准备好了。