在PC端的Ubuntu中导入RKNN docker镜像


前言

最近一段时间在调试实验室的AIO-3399ProC开发板,在部署RKNN Toolkit开发环境的时候遇到了各种安装包依赖不匹配,无法安装的问题,根据Rockchip_User_Guide_RKNN_Toolkit_V1.x.x_CN.pdf文档的3.1 章节使用说明,官方给出的RKNN各版本文件夹下提供了一个已打包所有开发环境的 Docker镜像,加载该镜像就可快速上手RKNN Toolkit,这样可以在docker镜像中看到官方安装的各个安装包版本,开发板上对应安装版本一致的软件就可解决无法安装编译软件的问题。官方未给出如何具体安装docker的方法,本文参考官方文档提供的docker安装手册链接进行环境部署。


提示:以下是本篇文章正文内容,下面案例可供参考

一、环境准备

开发环境软件版本/配置
PC系统版本Ubuntu 18.04LTS
RKNN Toolkit版本1.3.0、1.4.0 or 1.6.0
Python版本Python3.6
Docker镜像名称rknn-toolkit-1.x.x-docker.tar.gz

二、安装过程

2.1 安装配置Python3.6环境

Python3.6的环境配置可参考《在PC端的Ubuntu中安装RKNN Toolkit 1.6.0开发环境》的2.1和2.2章节

2.2 安装Docker

根据官方提供的Docker安装手册地址https://docs.docker.com/install/linux/docker-ce/ubuntu/

在PC端的Ubuntu中安装Docker Engine。首先是官方手册给出的环境要求:
要在Ubuntu上开始使用Docker Engine,请确保您满足先决条件,然后安装Docker。

  • 前提条件&操作系统要求:
    要安装Docker Engine,您需要以下Ubuntu版本之一的64位版本:
    Ubuntu Groovy 20.10
    Ubuntu Focal 20.04(LTS)
    Ubuntu Bionic 18.04(LTS)
    Ubuntu Xenial 16.04(LTS)
    Docker Engine支持在x86_64(或amd64)、armhf和arm64体系结构。
  • 卸载旧版本
    泊坞窗的旧版本被称为docker,docker.io或docker-engine。如果安装了这些,请卸载它们:
sudo apt-get remove docker docker-engine docker.io containerd runc
  • 安装方法
    您可以根据需要以不同的方式安装Docker Engine:
  • 大多数用户会设置Docker的存储库并从中进行安装,以简化安装和升级任务。这是推荐的方法。
  • 一些用户下载并手动安装DEB软件包, 并完全手动管理升级。这在诸如在无法访问互联网的空白系统上安装Docker的情况下很有用。
  • 在测试和开发环境中,一些用户选择使用自动 便利脚本来安装Docker。

采用方法1 设置Docker的存储库来安装Docker Engine,具体操作如下:

  • 设置存储库
#更新apt软件包索引并安装软件包以允许apt通过HTTPS使用存储库:
 sudo apt-get update
 sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
    
#添加Docker的官方GPG密钥:
 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

使用以下命令来设置x86_64 / amd64平台下Docker Engine稳定的存储库。

 echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 安装DOCKER引擎
    更新apt程序包索引,并安装最新版本的Docker Engine和容器化的容器:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
#通过运行hello-world 映像来验证是否正确安装了Docker Engine 。
 sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Pull complete 
Digest: sha256:308866a43596e83578c7dfa15e27a73011bdd402185a84c5cd7f32a88b501a24
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.


至此Docker Engine软件环境部署完成

2.3 下载并导入RKNN对应版本的Docker镜像

  • 下载对应版本的docker镜像
    RKNN Toolkit迄今为止,发布的全部版本如下图所示,docker镜像存放在rknn-toolkit-v1..\docker\路径或rknn-toolkit-lite-v1..\docker\路径
    在这里插入图片描述
    从论坛找到的RKNN各版本下载链接,提取码:rknn,有需要的可自取。
    按官方Rockchip_User_Guide_RKNN_Toolkit_V1.x.x_CN.pdf手册说明进行操作:
  • 导入Docker镜像
    执行以下命令加载镜像:
docker load --input rknn-toolkit-1.*.*-docker.tar.gz

加载成功后,执行“
docker images”命令能够看到 rknn-toolkit的镜像,如下所示:

REPOSITORY    TAG     IMAGE ID      CREATED     SIZE 
rknn-toolkit 1.*.*  5397c8e365ac  1 hours ago  4.13GB

执行以下命令运行docker镜像,运行后将进入镜像的 bash环境。

docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb rknn-toolkit:1.4.0 /bin/bash

如果想将自己代码映射进去可以加上“-v <host src folder>:<image dst folder>”参数,例如 :

docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb -v /home/rk/test:/test rknn-toolkit:1.*.* /bin/bash

运行测试demo

cd /example/tflite/mobilenet_v1 python test.py

2.4 列出当前Docker镜像中所安装的软件包及其版本

#RKNN Toolkit 1.6.0版本所安装的包及其版本
pip3 list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
absl-py (0.11.0)
asn1crypto (0.24.0)
astor (0.8.1)
certifi (2020.12.5)
chardet (3.0.4)
click (7.1.2)
cryptography (2.1.4)
cycler (0.10.0)
decorator (4.4.2)
dill (0.2.8.2)
Flask (1.0.2)
flatbuffers (1.10)
future (0.18.2)
futures (2.2.0)
gast (0.4.0)
gluoncv (0.5.0)
google-pasta (0.2.0)
graphviz (0.8.4)
grpcio (1.34.0)
h5py (2.8.0)
idna (2.6)
importlib-metadata (3.3.0)
itsdangerous (1.1.0)
Jinja2 (2.11.2)
Keras-Applications (1.0.8)
Keras-Preprocessing (1.1.2)
keyring (10.6.0)
keyrings.alt (3.0)
kiwisolver (1.3.1)
lmdb (0.93)
Markdown (3.3.3)
MarkupSafe (1.1.1)
matplotlib (3.0.3)
mxnet (1.5.0)
networkx (1.11)
numpy (1.16.3)
onnx (1.6.0)
onnx-tf (1.2.1)
opencv-python (4.0.1.23)
Pillow (5.3.0)
pip (9.0.1)
ply (3.11)
protobuf (3.11.2)
psutil (5.6.2)
pycrypto (2.6.1)
pygobject (3.26.1)
pyparsing (2.4.7)
python-dateutil (2.8.1)
pyxdg (0.25)
PyYAML (5.3.1)
requests (2.22.0)
rknn-toolkit (1.6.0)
ruamel.yaml (0.15.81)
scipy (1.1.0)
SecretStorage (2.3.1)
setuptools (39.0.1)
six (1.11.0)
tb-nightly (1.14.0a20190603)
tensorflow (2.0.0b1)
termcolor (1.1.0)
tf-estimator-nightly (1.14.0.dev2019060501)
torch (1.6.0+cpu)
torchvision (0.4.0)
tqdm (4.55.0)
typing-extensions (3.7.4.3)
urllib3 (1.25.11)
Werkzeug (1.0.1)
wheel (0.30.0)
wrapt (1.12.1)
zipp (3.4.0)

总结

本文总结了如何部署Docker Engine环境及如何导入RKNN官方打包好的docker镜像。仅供参考,文中如有错误请各位指正。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值