概述
文章目录
- 前言
- 1、前期准备
- 2、PC端环境配置
- 2.1 创建虚拟环境
- 2.2 依赖库安装
- 2.3 其他库安装
- 3、虚拟端环境配置
- 3.1 安装Ubuntu系统
- 3.2 下载并安装anaconda
- 3.3 创建py36虚拟环境
- 4、虚拟端安装RKNN-Toolkit
- 4.1 下载RKNN-Toolkit
- 4.2 安装RKNN-Toolkit
- 4.3 验证环境是否正确
前言
RKNN支持许多框架训练的模型,但由于本人目前主要使用pytorch框架来训练模型,因此该部署教程是以Pytorch模型部署过程为例进行说明,后面再继续补充ONNX模型部署过程。
1、前期准备
首先根据下表,确定RKNN Toolkit 以及 Pytorch 的版本。
由于PC端训练模型时使用的GPU是 Ti 3090,Cuda 版本为11.3,所以PC端python的版本最低为3.8,。
模型在Windows(PC端)上训练,在Ubuntu(虚拟端)上转换,在板子上(端侧)部署。转换路径:pth -> pt -> rknn。这里有个最大的问题就是python和各依赖库的版本问题,经过多轮尝试后发现模型训练用py3.8,模型转换用py3.6是最佳组合,且其他依赖库的版本尽量保持一致。
因此最终决定PC端和虚拟端上各库的版本如下所示:
PC | Ubuntu |
---|---|
python == 3.8 | python == 3.6 |
pytorch == 1.8.1 | pytorch == 1.8.1 |
torchvision == 0.9.1 | torchvision == 0.9.1 |
Cuda == 11.3 | rknn-toolkit == 1.7.1 |
2、PC端环境配置
2.1 创建虚拟环境
conda create -n rknn python=3.8
2.2 依赖库安装
此处若使用conda 安装pytorch,则会安装成CPU版本,具体原因应该是没有版本匹配的GPU版安装包。
pip install --user torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
2.3 其他库安装
根据模型训练环境安装相应的库,注意版本问题。
3、虚拟端环境配置
3.1 安装Ubuntu系统
- 搭建好Ubuntu系统的虚拟机
- 将默认的镜像源改为清华源或阿里源
- 安装必要的软件和库
3.2 下载并安装anaconda
在Ubuntu中打开终端,输入以下代码下载anaconda安装包。
$ wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2022.05-Linux-x86_64.sh
下载完成后文件保存在主目录下,
然后输入下面代码进行安装:
$ bash Anaconda3-2022.05-Linux-x86_64.sh
- 根据提示按ENTER键
- 然后一直按空格键
- 后面遇到[yes | no]的则一直yes,然后enter键
- 遇到路径的就直接enter
- 等待一段时间后,出现下图所示字样的则表示安装完成,完成后关掉终端再重新打开一个终端。
3.3 创建py36虚拟环境
- 创建名为RKNN,python版本为3.6的虚拟环境
conda create -n RKNN python=3.6
- 创建完成后激活虚拟环境,然后验证python版本是否为3.6,确认无误后就可以开始整活啦!!!
- 删除虚拟环境(若环境出错,或搞崩了,则可以用以下指令删除)
conda remove -n RKNN --all
4、虚拟端安装RKNN-Toolkit
根据之前的判断和选择,RKNN-Toolkit的版本为1.7.1 。
4.1 下载RKNN-Toolkit
这里有两种下载RKNN-Toolkit的方法。方法一直接去Github下载,然后放到虚拟机中安装,稳定但是麻烦;方法二使用wget指令下载,不稳定但方便。(当然稳不稳定最主要还得看网络怎么样)
1、从Github下载rknn-toolkit库。
下载后解压,其中文件组织结构如下,将解压后的文件夹放到虚拟机中进行安装。
2、输入代码直接下载
- 下载
$ wget https://github.com/rockchip-linux/rknn-toolkit/releases/download/v1.7.1/rknn-toolkit-v1.7.1-packages.tar.gz
- 解压
$ tar -zxvf rknn-toolkit-v1.7.1-packages.tar.gz
- 修改依赖库版本
前面说过要使用统一的版本,因此这里需要进行修改,才可以顺利安装成功(不使用与PC端一样的版本,会在后面转换模型和运行RK模型时出错,亲自尝试过~~~)。
tensorflow == 2.5.2
torch == 1.8.1
torchvision == 0.9.1
mxnet == 1.5.0
- 安装依赖库
如果ubuntu是装在ubuntu的物理机上, 且有GPU, 那么可以直接装requirement-gpu,没有GPU的话就装requirement-cpu。
$ cd packages
$ pip install -r requirements-cpu.txt
不出意外的话就安装成功啦!!!
4.2 安装RKNN-Toolkit
装好依赖之后, 再根据所搭建的环境, 安装对应的轮子rknn_toolkit-1.7.1-cp36-cp36m-linux_x86_64.whl。
pip install rknn_toolkit-1.7.1-cp36-cp36m-linux_x86_64.whl
aach64是安装在arm-64的系统上的, 因为这是python的库, 所以是可以直接在rv/rk系列的开发板上装的。
不出意外的出意外了!!!opencv-python的wheel不能安装,这是个bug,默认版本opencv-python==4.3.0.38不能安装,但可以换个版本安装。
pip install opencv-python==4.5.5.62
再次安装一般不会有什么问题,如果太慢, 就想办法用用国内的pip源吧。
4.3 验证环境是否正确
如下图所示,在环境中首先输入python,然后再 import rknn,若不报错则说明安装成功。
最后
以上就是善良电话为你收集整理的RKNN模型部署(2)——环境配置前言1、前期准备2、PC端环境配置3、虚拟端环境配置4、虚拟端安装RKNN-Toolkit的全部内容,希望文章能够帮你解决RKNN模型部署(2)——环境配置前言1、前期准备2、PC端环境配置3、虚拟端环境配置4、虚拟端安装RKNN-Toolkit所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复