RK3588 rknpu2及rknn-toolkit2使用说明

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

相关推荐
天佑木枫7 分钟前
15天Python入门系列 · 序
开发语言·python
happylifetree7 分钟前
Python017-第二章15.数据容器-dict常用操作
python
装不满的克莱因瓶22 分钟前
了解 LangChain 中的 LLM 与 ChatModel 的差异
人工智能·python·ai·langchain·llm·agent·chatmodel
weixin_5231853229 分钟前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
黑马师兄1 小时前
RAG混合检索深度解析:让AI真正找到你要的内容
java·人工智能·ai·agent·rag·ai-native
IT知识分享1 小时前
从零开发在线简繁转换工具:OpenCC 实战、避坑经验与方案选型
javascript·python
lunzi_08261 小时前
【学习笔记】《Python编程 从入门到实践》第8章:函数定义、参数传递与模块导入
笔记·python·学习
凡人叶枫1 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
杨运交2 小时前
[030][Web模块]Spring Boot 验证与 OpenAPI 集成实战:从校验规则到文档生成
前端·spring boot·python
云栖梦泽2 小时前
玩转RK3506SDK
linux·嵌入式硬件