1.这里默认已经安装好了VMware
2.RK3588使用的模型类型是rknn,需要先在PC端转成rknn类型后再在RK3588上运行

目录

  • 一、安装Ubuntu
  • 1. 新建虚拟机
  • 1.1 Ubuntu镜像下载地址:
  • 1.2创建虚拟机
  • 1.3 安装VMwareTools
  • 二、RKNN-Toolkit2工具的安装和使用
  • 1 RKNN-Toolkit2的安装
  • 1.1 安装virtualenv 环境、Python3.6 和 pip3
  • 1.2 安装相关依赖
  • 1.3 使用 virtualenv 管理 Python 环境并安装 Python 依赖
  • Ps:创建虚拟环境时的问题
  • 1.4 安装 RKNN-Toolkit2
  • 1.5 检查RKNN-Toolkit2是否安装成功
  • 2 RKNN-Toolkit2的使用

一、安装Ubuntu

1. 新建虚拟机

1.1 Ubuntu镜像下载地址:

官方地址(超慢):https://ubuntu.com/download 百度云(只有18.04):https://pan.baidu.com/s/1yzsTqK_vu2zi41Z6dtoZfQ 提取码:TaTa
阿里云开源镜像站:https://mirrors.aliyun.com/oldubuntu-releases/releases/ 某不知名镜像网站:http://mirrors.melbourne.co.uk/ubuntu-releases/

1.2创建虚拟机

点击“创建新的虚拟机”——>

rk3308用RKDevTool导出镜像img rk2020镜像_Ubuntu


选择“自定义安装”然后下一步——>

rk3308用RKDevTool导出镜像img rk2020镜像_virtualenv_02


保持默认的兼容类型就可以,然后下一步——>

rk3308用RKDevTool导出镜像img rk2020镜像_virtualenv_03


选择稍后安装,然后下一步——>

rk3308用RKDevTool导出镜像img rk2020镜像_Ubuntu_04


选择Linux,然后在下方的“版本”,选择自己需要的操作系统版本——>

rk3308用RKDevTool导出镜像img rk2020镜像_Ubuntu_05


然后名字和位置可以看自己的,想叫啥叫啥,想放哪儿放哪儿(最好别放C盘,选个空间大的磁盘)——>

rk3308用RKDevTool导出镜像img rk2020镜像_Ubuntu_06


选择处理器数量和内核数,具体数量看自己的情况——>

rk3308用RKDevTool导出镜像img rk2020镜像_virtualenv_07


给虚拟机分配内存——>

rk3308用RKDevTool导出镜像img rk2020镜像_Ubuntu_08


选择NAT,然后下一步——>

rk3308用RKDevTool导出镜像img rk2020镜像_ubuntu_09


默认应该是LSI,然后下一步——>

rk3308用RKDevTool导出镜像img rk2020镜像_ubuntu_10


默认SCSI,然后继续下一步——>

rk3308用RKDevTool导出镜像img rk2020镜像_python_11


继续保持默认选项,然后下一步——>

rk3308用RKDevTool导出镜像img rk2020镜像_ubuntu_12


指定磁盘大小,五六十就行,不够的话后面可以再扩——>

rk3308用RKDevTool导出镜像img rk2020镜像_python_13


然后继续下一步——>

rk3308用RKDevTool导出镜像img rk2020镜像_python_14


然后就OVER!(但是没有完全结束)

rk3308用RKDevTool导出镜像img rk2020镜像_ubuntu_15


下面我们要添加刚才被我们忽略掉的ISO,点击“编辑虚拟机设置”——>

rk3308用RKDevTool导出镜像img rk2020镜像_ubuntu_16


然后,选择镜像文件——>

rk3308用RKDevTool导出镜像img rk2020镜像_linux_17


然后就可以“开启虚拟机”——>

rk3308用RKDevTool导出镜像img rk2020镜像_ubuntu_18

开机的时间会,非常非常非常长,也可能是我电脑的问题吧,反正且得等会儿

【Ctrl+Alt可以从虚拟机内移出鼠标】

等开机以后,左框下拉选择汉语(想选英语也行),然后,”点击安装Ubuntu“——>

rk3308用RKDevTool导出镜像img rk2020镜像_ubuntu_19

rk3308用RKDevTool导出镜像img rk2020镜像_python_20


rk3308用RKDevTool导出镜像img rk2020镜像_linux_21

rk3308用RKDevTool导出镜像img rk2020镜像_ubuntu_22

然后又是,稍微有点漫长的等待(可能是我的问题吧),然后随便选个时区,然后继续——>

rk3308用RKDevTool导出镜像img rk2020镜像_ubuntu_23


然后,等他安装

rk3308用RKDevTool导出镜像img rk2020镜像_ubuntu_24

然后,重启!在选项卡中找到电源然后,”重新启动客户机“(Two thousand years later…)

rk3308用RKDevTool导出镜像img rk2020镜像_python_25

1.3 安装VMwareTools

因为没有安装VMwareTools,我们的屏幕会非常非常小并且,无法从本地传输文件到虚拟机,所以,我们先重启虚拟机,趁着它还没有完全开机的时候,点击安装——>

rk3308用RKDevTool导出镜像img rk2020镜像_virtualenv_26

重新启动后我们可以看到桌面有一个VMwareTools,双击打开

rk3308用RKDevTool导出镜像img rk2020镜像_Ubuntu_27

将文件中的压缩包复制到主目录

rk3308用RKDevTool导出镜像img rk2020镜像_ubuntu_28

rk3308用RKDevTool导出镜像img rk2020镜像_virtualenv_29


然后将压缩包提取到主目录(不一定非要主目录,想放哪儿放那儿吧)

rk3308用RKDevTool导出镜像img rk2020镜像_ubuntu_30


然后进入解压的文件中打开终端(注意路径)输入:

sudo ./vmware-install.pl

rk3308用RKDevTool导出镜像img rk2020镜像_python_31


然后一路输入yes或者回车,就OK啦!可以看到虚拟机的桌面一下就变大了

rk3308用RKDevTool导出镜像img rk2020镜像_virtualenv_32

【如果还不能传输文件,试试重新安装VMwareTools】
我的tools安装好后还是有问题,试了一下命令行安装
首先,我们先更新一下,终端输入

sudo apt-get update

然后命令行继续输入:

sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools-desktop

然后重启一下虚拟机,解决

rk3308用RKDevTool导出镜像img rk2020镜像_virtualenv_33

二、RKNN-Toolkit2工具的安装和使用

从官方的资料来看,工具适用的python版本是3.6或者3.8(这里我选的是Python3.6),如果环境中有不同的python版本可以使用virtualenv来管理python环境

1 RKNN-Toolkit2的安装

1.1 安装virtualenv 环境、Python3.6 和 pip3

sudo apt-get install virtualenv 
sudo apt-get install python3 python3-dev python3-pip

1.2 安装相关依赖

sudo apt-get install libxslt1-dev zlib1g zlib1g-dev libglib2.0-0 libsm6
sudo apt-get install libgl1-mesa-glx libprotobuf-dev gcc

1.3 使用 virtualenv 管理 Python 环境并安装 Python 依赖

virtualenv -p /usr/bin/python3 venv
source venv/bin/activate
Ps:创建虚拟环境时的问题

在创建环境的时候出现了一些问题:

OSError: Command /home/tata/RK3588/bin/python3 - setuptools pkg_resources pip wheel failed with error code 2

rk3308用RKDevTool导出镜像img rk2020镜像_Ubuntu_34


解决:先到主目录中把之前创建的不完全的虚拟环境文件删除,然后,

终端输入:

pip3 -V
pip3 install --upgrade pip

然后再重新创建我们的虚拟环境

激活虚拟环境以后,cd到保存有依赖txt的文件中,如图

rk3308用RKDevTool导出镜像img rk2020镜像_python_35


然后:

这里因为我安装的是python3.6,所以选的cp36,如果是python3.8应该用cp38

pip3 install -r requirements_cp36-1.3.0.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

然后,好吧,又出错了,我们看看错误提示:

ModuleNotFoundError: No module named ‘numpy’

ERROR: No matching distribution found for bfloat16==1.1

rk3308用RKDevTool导出镜像img rk2020镜像_virtualenv_36


解决:手动安装numpy

pip3 install numpy==1.16.6 -i https://pypi.tuna.tsinghua.edu.cn/simple

然后再次下载requirements.txt就没有问题了

pip3 install -r requirements_cp36-1.3.0.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

1.4 安装 RKNN-Toolkit2


sudo pip3 install rknn_toolkit2-1.3.0_11912b58-cp36-cp36m-linux_x86_64.whl

好吧,又报错了

rk3308用RKDevTool导出镜像img rk2020镜像_linux_37


试一下:

pip3 install rknn_toolkit2-1.3.0_11912b58-cp36-cp36m-linux_x86_64.whl  -i https://pypi.tuna.tsinghua.edu.cn/simple

rk3308用RKDevTool导出镜像img rk2020镜像_virtualenv_38

OVER!

1.5 检查RKNN-Toolkit2是否安装成功

(可按ctrl+d组合键退出)

python3
from rknn.api import RKNN

如果导入 RKNN 模块没有失败,说明安装成功

rk3308用RKDevTool导出镜像img rk2020镜像_python_39

2 RKNN-Toolkit2的使用

这里我直接用官方提供的demo进行测试,首先下载已经转为onnx的模型

rk3308用RKDevTool导出镜像img rk2020镜像_virtualenv_40

终端定位到文件夹中:

rk3308用RKDevTool导出镜像img rk2020镜像_linux_41


然后:

python3 test.py

rk3308用RKDevTool导出镜像img rk2020镜像_virtualenv_42