RKNN模型推理共有四种方式:
第一种是借助RKNN-Toolkit2的功能在模拟NPU上运行RKNN模型并获取推理结果(在PC端)
第二种是借助RKNN-Toolkit2的功能, 将板子与PC连接,将RKNN模型分发到指定的NPU设备进行推理并获取推理结果(网络推理在板端,脚本写在PC端)
第三种是调用RKNN SDK的C语言API进行测试代码编写,并使用交叉编译器进行编译,将得到的可执行文件拷贝到板子上运行(开发编译在PC端,运行在板端)2024.3.7已验证
第四种是在板端安装rknn-toolkit2-lite工具,使用python脚本在板端推理(代码开发运行都在板端)
安装conda:
下载wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh --no-check-certificate
执行bash Anaconda3-2022.10-Linux-x86_64.sh
关闭自动进入conda,去除终端命令前(base):conda config --show | grep auto_activate_base; conda config --set auto_activate_base False(True)
PC上运行RKNN-Toolkit2(ubuntu20.04的python版本是3.8)
启动环境变量source ~/.bashrc
升级 conda update -n base -c defaults conda
新建并激活python3.6环境conda create -n rknnkit python=3.6; conda activate rknnkit(查看:conda info --envs 删除:conda remove -n rknnkit --all 关闭环境:conda deactivate)
cd rknn-toolkit2
pip install -r ./doc/requirements_cp36-1.4.0.txt
pip install torch==1.10.1 torchvision==0.11.2 -i https://pypi.tuna.tsinghua.edu.cn/simple(上一步会报错,切换源安装,后再重新执行上一步)
pip install ./packages/rknn_toolkit2-1.4.0_22dcfef4-cp36-cp36m-linux_x86_64.whl
判断是否安装成功:python; from rknn.api import RKNN
模型转换并推理:cd examples/onnx/yolov5;python test.py
开发板上运行rknn-toolkit-lite(ubuntu20.04的python版本是3.8)
bash Miniconda3-latest-Linux-aarch64.sh
conda create -n rknnlite python=3.9
conda activate rknnlite
cd rknn-toolkit2-1.3.0/rknn_toolkit_lite2/packages
pip install rknn_toolkit_lite2-1.3.0-cp39-cp39-linux_aarch64.whl
判断是否安装成功:python; from rknnlite.api import RKNNLite
推理:cd rknn-toolkit2-1.3.0/rknn_toolkit_lite2/examples/inference_with_lite;python test.py