最近一段时间在调试实验室的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 |
Python3.6的环境配置可参考《在PC端的Ubuntu中安装RKNN Toolkit 1.6.0开发环境》的2.1和2.2章节
根据官方提供的Docker安装手册地址https://docs.docker.com/install/linux/docker-ce/ubuntu/
在PC端的Ubuntu中安装Docker Engine。首先是官方手册给出的环境要求:
要在Ubuntu上开始使用Docker Engine,请确保您满足先决条件,然后安装Docker。
sudo apt-get remove docker docker-engine docker.io containerd runc
采用方法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
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软件环境部署完成
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
参数,例如 :
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镜像。仅供参考,文中如有错误请各位指正。