开发主机环境:

安装docker环境
参考以下链接安装DOCKER:
https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository
$ sudo apt update
$ sudo apt-get install ca-certificates curl gnupg lsb-release
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.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 docker-compose-plugin
$ apt-cache madison docker-ce
$ sudo apt-get install docker-ce=5:20.10.17~3-0~ubuntu-bionic docker-ce-cli=5:20.10.17~3-0~ubuntu-bionic containerd.io docker-compose-plugin
$ sudo apt-get install docker-ce=5:20.10.17~3-0~ubuntu-bionic docker-ce-cli=5:20.10.17~3-0~ubuntu-bionic containerd.io docker-compose-plugin


测试验证:
sudo docker run hello-world

docker环境自此安装结束。
下载RK NPU开发DOCKER镜像:
从百度网盘下载:百度企业网盘-企业云盘-企业云存储解决方案-同步云盘密码:rknn

运行DOCKER镜像
执行如下命令加载DOCKER镜像
sudo docker load --input rknn-toolkit2-1.3.0-cp36-docker.tar.gz
加载成功后 ,执行docker images查看状态:

如上状态表示加载成功。
下载用例,在如上的百度网盘中下载用例:

运行镜像:
将下载后的用例放置在HOST的一个目录中,本例中放在
/home/caozilong/samples
之后,执行如下命令运行docker,运行后将进入DOCKER的BASH环境,参数如下:
-e:设置环境变量,设置的环境变量将会传递给docker环境。
--device:将本地设备映射为docker 环境下的设备。
-v:绑定一个卷、目录.
sudo docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb -v /home/caozilong/samples:/workspace --name rknn2 rknn-toolkit2:1.3.0-cp36 /bin/bash

用例在DOCKER系统中正常挂载:

部署模型
进入/workspace/yolov5s目录,执行 python test.py部署模型

得到最终的部署结果yolov5s.rknn
过程如下:

退出docker
docker环境下执行exit退出

此时若想重新进入,执行运行命令会失败,如下图所示:
方法是查看系统当前还有哪些未清理的当前容器,执行
sudo docker container ls -all

我们看到rknn2当前正在运行,将其删除
sudo docker container rm rknn2
再次执行上述命令即可进入。
亮点功能:
RKNN部署支持联板调试,可以PC端和端侧一体,PC端部署的模型直接发给端侧执行,并返回结果。实现某种程度的在线部署。
官方文档关于连板调试的描述:
RKNN Toolkit2 的连板功能一般需要更新板端的 rknn_server 和 librknnrt.so,并且手动启动 rknn_server 才能正常工作。
rknn_server: 是一个运行在板子上的后台代理服务,用于接收 PC 通过 USB 传输过来的协议, 然后执行板端 runtime 对应的接口,并返回结果给 PC。
librknnrt.so: 是一个板端的 runtime 库。有些固件默认已经集成了 rknn_server,如果已经集成,可以忽略启动步骤。(注意: RV1103/RV1106 暂不支持连板调试)
RK3566 AI开发与Docker环境搭建指南

本文介绍了如何在RK3566平台上使用Docker搭建AI开发环境,包括下载RK NPU开发Docker镜像,运行和验证Docker,部署模型,以及亮点功能——联板调试。通过设置环境变量、设备映射和绑定目录,可以在Docker中成功部署Yolov5s模型,并通过exit命令退出容器。此外,文章还提到RKNN Toolkit2的连板调试功能,允许PC端模型直接发送到端侧执行并返回结果。
1342

被折叠的 条评论
为什么被折叠?



