RDKX5模型转换与部署,学弟你确定不试试?
摘要:作者:SkyXZ CSDN:SkyXZ~-CSDN博客 博客园:SkyXZ - 博客园 宿主机环境:WSL2-Ubuntu22.04+Cuda12.6、D-Robotics-OE 1.2.8、Ubuntu20.04 GPU
作者:SkyXZ
CSDN:SkyXZ~-CSDN博客
博客园:SkyXZ - 博客园
宿主机环境:WSL2-Ubuntu22.04+Cuda12.6、D-Robotics-OE 1.2.8、Ubuntu20.04 GPU Docker
端侧设备环境:RDK X5-Server-3.1.0
买了RDK X5还只停留在树莓派的使用思想?想部署深度学习但对着BPU不知从何下手?好不容易找到了OE交付包和Model Zoo但不知有什么作用?我知道你很急,但你先别急!跟着这篇学弟一看就会的模型量化部署教程包你30Min告别RDK模型量化部署小白!!!首先我们本篇教程参考一下资料及文档:
地瓜机器人RDK用户手册:1.快速开始 | RDK DOC
地瓜 X5 算法工具链:地瓜 X5 算法工具链 版本发布
地瓜RDK_ModelZoo介绍手册:4.3.1 ModelZoo概述 | RDK DOC
地瓜RDK_ModelZoo仓库地址:https://github.com/D-Robotics/rdk_model_zoo
新发布的Python推理API介绍:两种方式让你用Python轻松在RDKX5上部署推理
一、算法工具链介绍及环境安装
目前,我们在GPU上训练的模型通常采用浮点数格式,因为浮点类型能够提供较高的计算精度和灵活性,但是对于边缘式设备来说浮点类型模型所需的算力和存储资源远超其承载能力,因此一般边缘式设备上的AI加速芯片基本都只支持INT8(业内处理器的通用精度)定点模型,我们X5的BPU也不例外,因此我们需要将我们训练出来的浮点模型转化为定点模型,这一过程便叫做模型的量化,而地瓜机器人官方基于D-Robotics处理器自研了一套D-Robotics算法工具链可以方便快捷的将浮点模型量化为定点模型,并在D-Robotics处理器上快速部署!!!下面我们介绍该如何安装算法工具链:
由于D-Robotics算法工具链暂时只能在Linux环境运行,因此大家首先先确保自己的开发机满足以下要求并且安装了WSL2-Ubuntu(具体可参阅:告别虚拟机!WSL2安装配置教程!!! - SkyXZ - 博客园)或者是虚拟机里的Ubuntu,由于官方有给我们工具链的docker镜像因此Ubuntu的系统版本不是很重要
(1)安装Docker及NVIDIA Container Toolkit
接着我们在Ubuntu中安装Docker(地瓜官方要求19.03或更高版本,安装详见:Get Docker | Docker Docs)及NVIDIA Container Toolkit(地瓜官方要求1.13.1-1.13.5,安装详见:Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit 1.17.3 documentation),接着我将从头带着大家走一遍这个过程,首先便是安装Docker,我们先卸载系统默认安装的docker并安装一些必要支持:
#如果有便删,报错说没有那就无所谓不用管
sudo apt-get remove docker docker-engine docker.io containerd runc
#下载必要依赖
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
我们默认大家不会使用代理,因此我们所有的源均使用国内源,我们添加阿里的GPG KEY以及阿里的APT源后便可以直接APT安装Docker的最新版本啦
# step 1 添加阿里GPG Key
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# step 2 添加阿里Docker APT源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nul
