RKNN模型部署(2)——环境配置

文章目录

  • 前言
  • 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端和虚拟端上各库的版本如下所示:

PCUbuntu
python == 3.8python == 3.6
pytorch == 1.8.1pytorch == 1.8.1
torchvision == 0.9.1torchvision == 0.9.1
Cuda == 11.3rknn-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,若不报错则说明安装成功。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年8月16日
下一篇 2023年8月16日

相关推荐