环境安装
本章节主要介绍D-Robotics 算法工具链完整开发环境部署方法。
RDK-X3
交付物使用说明
在进行算法工具链使用环境部署前,请下载D-Robotics 提供的 嵌入式应用开发Sample交付包 到Linux开发机环境中。
下载嵌入式应用开发Sample交付包:
// 示例版本为 V1.0.0
wget -c ftp://oeftp@sunrise.horizon.cc:10021/RDK/rdk-x3-ultra/Ai_Toolchain_Package-release-v1.1.57-OE-v1.0.0.tar.xz --ftp-password=Oeftp~123$%
// 更多模型转换示例,根据需要进行下载!
//wget -c ftp://oeftp@sunrise.horizon.cc:10021/RDK/rdk-x3-ultra/horizon_model_convert_sample.tar.gz --ftp-password=Oeftp~123$%
示例包源码目录结构说明
解压算法工具链SDK源码包:
// 示例版本为 V1.0.0
tar -xvf Ai_Toolchain_Package-release-v1.1.57-OE-v1.0.0.tar.xz
解压后的目录结构如下:
-
ai_benchmark: 目录下提供了常见的分类、检测和分割模型的评测示例,包括性能评测和精度评测两部分。
-
horizon_runtime_sample: 目录下提供了定点模型的上板示例。
-
package: 目录下包含了发布物运行的一些基础库和组件
-
board
文件夹下为板端可执行程序。 -
host
文件夹下为x86开发环境下的环境依赖、工具依赖以及模型推理相关的libdnn库和头文件。
-
开发机部署
对于开发机的环境部署,D-Robotics 支持使用Docker部署方式。
开发机准备
为了顺利地使用算法工具链,D-Robotics 建议您选择的开发机应满足以下要求:
硬件/操作系统 | 要求 |
---|---|
CPU | CPU I3以上或者同级别E3/E5的处理器 |
内存 | 16G或以上级别 |
GPU(可选) | CUDA11.6、驱动版本Linux:>= 510.39.01* 适配显卡包括但不限于: 1)GeForce RTX 3090 2)GeForce RTX 2080 Ti 3)NVIDIA TITAN V 4)Tesla V100S-PCIE-32GB |
系统 | Ubuntu 20.04 |
更多关于CUDA与显卡的兼容性问题请参考NVIDIA官网信息 。
使用Docker环境
为了帮助您快速使用算法工具链,D-Robotics 提供了包含完整开发环境的Docker镜像,大大简化了环境的部署过程。
在阅读此部分内容前,我们希望您的开发机中已经预装好了Docker的基础环境。 D-Robotics 要求的Docker基础环境信息如下:
- Docker(>=1.12 建议安装18.03.0-ce), 安装手册 https://docs.docker.com/install/。
- NVIDIA Docker(2.0.3),安装手册NVIDIA/nvidia-docker。
完成Docker环境安装后,需要将无root权限的用户添加到Docker用户组中。参考如下命令:
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker # CentOS7/Ubuntu
# re-login
获取本节需要使用的Docker镜像的地址如下:
镜像文件命名形式为:
- GPU版本docker:
openexplorer/ai_toolchain_ubuntu_20_x3j5_gpu:{version}
执行命令时将 {version}
替换为您获取到的 最新版本的Docker镜像 ,例如: D-Robotics docker hub GPU Docker 中目前的最新版 本为 openexplorer/ai_toolchain_ubuntu_20_x3j5_gpu:v1.0.0
。
本地Docker镜像包版本,可以联系D-Robotics 技术支持团队获取。
开发机并不是必须含有GPU卡,一般使用CPU开发机加载Docker镜像即可做模型转换!
每个镜像文件在第一次使用前,需要拉取镜像。
-
镜像拉取命令为:
docker pull openexplorer/ai_toolchain_ubuntu_20_x3j5_gpu:v1.0.0
然后执行以下命令运行Docker容器。
-
CPU开发机Docker容器执行以下命令:
// 运行 docker 镜像的命令
export version=v1.0.0
export ai_toolchain_package_path=/home/users/xxx/ai_toolchain_package
export dataset_path=/home/users/xxx/data/
docker run -it --rm \
-v "$ai_toolchain_package_path":/open_explorer \
-v "$dataset_path":/data \
openexplorer/ai_toolchain_ubuntu_20_x3j5_gpu:"${version}" -
GPU开发机 Docker容器执行以下命令:
// 运行 docker 镜像的命令
export version=v1.0.0
export ai_toolchain_package_path=/home/users/xxx/ai_toolchain_package
export dataset_path=/home/users/xxx/data/
docker run -it --runtime=nvidia -e NVIDIA_DRIVER_CAPABILITIES=compute,utility \
-e NVIDIA_VISIBLE_DEVICES=all --rm --shm-size="15g" \
-v "$ai_toolchain_package_path":/open_explorer \
-v "$dataset_path":/data \
openexplorer/ai_toolchain_ubuntu_20_x3j5_gpu:"${version}"
在执行上述命令时:
-
dataset_path
为数据集文件目录,如果该目录不存在会导致加载问题,需要创建好后再运行命令。 -
公共数据集可参考以下链接下载:
VOC:http://host.robots.ox.ac.uk/pascal/VOC/ (使用VOC2012版本)
COCO:https://cocodataset.org/#download
ImageNet:https://www.image-net.org/download.php
Cityscapes:https://github.com/mcordts/cityscapesScripts
CIFAR-10: http://www.cs.toronto.edu/~kriz/cifar.html
FlyingChairs: https://lmb.informatik.uni-freiburg.de/resources/datasets/FlyingChairs.en.html
KITTI3D: https://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d
CULane: https://xingangpan.github.io/projects/CULane.html
nuScenes: https://www.nuscenes.org/nuscenes
至此,您已经成功通过Docker镜像进入完整的算法工具链开发环境。
您可以键入 hb_mapper --help
命令验证是否可以正常得到帮助信息:
[root@d67382e74eea open_explorer]# hb_mapper --help
Usage: hb_mapper [OPTIONS] COMMAND [ARGS]...
hb_mapper is an offline model transform tool provided by horizon.
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
checker check whether the model meet the requirements.
infer inference and dump output feature as float vector.
makertbin transform caffe model to quantization model, generate runtime...
若hb_mapper工具已正常输出日志, 说明环境已安装部署完成,请到 开发板部署 章节,进行开发板的环境安装。
开发板部署
开发板部署需要您按照刷机说明,将开发版镜像更新到最新版本,升级方法请参考安装系统 章节内容, 升级完成后,再将相关补充文件拷贝到开发板中即可。
补充文件准备
算法工具链的部分补充工具未包含在系统镜像中,这些工具已经放置在 Ai_Toolchain_Package-release-vX.X.X-OE-vX.X.X/package/
安装包中,
进入到 Ai_Toolchain_Package-release-vX.X.X-OE-vX.X.X/package/board
执行install脚本。
执行命令如下:
// 若使用RDK X3开发板,执行命令
bash install_xj3.sh ${board_ip}
其中,${board_ip}
是您为开发板设置的IP地址,请确保在开发机上可以访问该IP。
成功安装后,重新启动开发板,在开发板上执行 hrt_model_exec
可以验证安装是否成功。
RDK-X5
交付物使用说明
在进行算法工具链使用环境部署前,请下载D-Robotics 提供的 嵌入式应用开发Sample交付包 到Linux开发机环境中。
下载嵌入式应用开发Sample交付包:
// 示例版本为 V1.2.6
wget -c ftp://oeftp@sunrise.horizon.cc:10021/runtime_package/Ai_Toolchain_Package-release-v1.23.8-OE-v1.2.6.tar.xz --ftp-password=Oeftp~123$%
// 更多模型转换示例,根据需要进行下载!
//wget -c ftp://oeftp@sunrise.horizon.cc:10021/model_convert_sample/horizon_model_convert_sample.tar.xz --ftp-password=Oeftp~123$%