6.2. 入门指南
6.2.1. 概述
本
6.2.2. 环境安装
本
6.2.2.1. 硬件环境
为了
| 硬件/操作系统 | 要求 |
|---|---|
| CPU | CPU I3以上 |
| 内存 | 16G或 |
| GPU(可 |
CUDA11.6、驱动 适配 1)GeForce RTX 3090 2)GeForce RTX 2080 Ti 3)NVIDIA TITAN V 4)Tesla V100S-PCIE-32GB 5)A100 |
| 系统 | Ubuntu 20.04 |
6.2.2.2. 开发机部署
注意: 在Anaconda3 环境。
1.开发
机中 执行 如下 命令,获取 模型 转换 资料 包:
wget -c ftp://oeftp@sdk.d-robotics.cc/oe_v1.2.8/install_env.sh --ftp-password=Oeftp~123$%
wget -c ftp://oeftp@sdk.d-robotics.cc/oe_v1.2.8/manual_deployment_package.tar.gz --ftp-password=Oeftp~123$%
wget -c ftp://oeftp@sdk.d-robotics.cc/model_convert_sample/yolov5s_v2.0.tar.gz --ftp-password=Oeftp~123$%
wget -c ftp://oeftp@sdk.d-robotics.cc/torch_env/torch_package.tar.xz --ftp-password=Oeftp~123$%
小
若需
更 多 公版 模型 转换 示例,可 执行命令: wget -c ftp://oeftp@sdk.d-robotics.cc/model_convert_sample/horizon_model_convert_sample.tar.xz --ftp-password=Oeftp~123$%获取。同时
提供 有 支持 模型 转换 的Docker镜像,若需 使用Docker环境,请 阅读 进阶 指南-使用docker环境 章节。
2.创建
模型 转换 环境:
//oe_env 为环境名,可自行设置
conda create -n oe_env python=3.10 -y
3.进入
模型 转换 环境:
// oe_env 为上文创建python环境名,conda环境命令会根据不同的操作系统有所差异,以下两条命令请选择其中能进入conda模型转换环境的命令来使用
source activate oe_env 或 conda activate oe_env
4.解压
模型 转换 环境 和 示例 模型 安装包 并 进行 相关 依赖 的 安装:
sh install_env.sh
在
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.
-h, --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...
小
后续
进行 模型 转换 时,请 首先 使用 命令 source activate oe_env或conda activate oe_env进入模型 转换 环境! 算法 工具链 环境 安装包 整体 大小 200M左右,下载安装包 和 安装 依赖 包受 网络 速率 影响,整个 安装 过程 耗时 大约30分钟 左右,请 您 耐心 等候 安装 完成。
6.2.3. 快速体验
本
6.2.3.1. 开发环境准备
若
6.2.3.2. 模型准备
若source activate oe_env 或 conda activate oe_env 进入
执行
ls -l yolov5s_v2.0/04_detection/03_yolov5s/mapper
命令
-rwxrwxr-x 1 10488 10501 645 Mar 9 2023 01_check.sh
-rwxrwxr-x 1 10488 10501 661 Mar 9 2023 02_preprocess.sh
-rwxrwxr-x 1 10488 10501 603 Mar 9 2023 03_build.sh
-rwxrwxr-x 1 10488 10501 13039 Mar 9 2023 postprocess.py
-rwxrwxr-x 1 10488 10501 3133 Mar 9 2023 preprocess.py
-rwxrwxr-x 1 10488 10501 2752 Mar 9 2023 README.cn.md
-rwxrwxr-x 1 10488 10501 10773 Mar 28 20:13 yolov5s_config.yaml
-rwxr-xr-x 1 10488 10501 29999538 Mar 9 2023 YOLOv5s.onnx
若
6.2.3.3. 模型验证
若
进入
浮点 模型 转换 示例yolov5s模型 目录
cd yolov5s_v2.0/04_detection/03_yolov5s/mapper
模型
检查
#确认模型结构及算子是否支持,并提供每个算子执行硬件的分配情况(BPU/CPU)
bash 01_check.sh
命令
2024-03-28 20:24:43,193 INFO End to Horizon NN Model Convert.
2024-03-28 20:24:43,205 INFO ONNX model output num : 3
2024-03-28 20:24:43,220 INFO End model checking....
6.2.3.4. 模型转换
模型
进行
校准 数据 预处理
bash 02_preprocess.sh
命令
write:./calibration_data_rgb_f32/COCO_val2014_000000181677.rgb
write:./calibration_data_rgb_f32/COCO_val2014_000000181714.rgb
write:./calibration_data_rgb_f32/COCO_val2014_000000181739.rgb
模型
转换
#转换时所需的配置文件 yolov5s_config.yaml,已存放在03_build.sh脚本同级文件夹下
bash 03_build.sh
命令
2024-03-28 20:31:13,228 INFO Convert to runtime bin file successfully!
2024-03-28 20:31:13,228 INFO End Model Convert
模型model_output 文件夹
torch-jit-export_subgraph_0.html # 静态
性能 评估 文件(可读性 更好) torch-jit-export_subgraph_0.json # 静态
性能 评估 文件 yolov5s_672x672_nv12.bin # 用于
在 处理器 上 加载 运行 的 模型 yolov5s_672x672_nv12_calibrated_model.onnx # 中间
过程 模型 文件,可 用于 后续 模型 的 精度 校验 yolov5s_672x672_nv12_optimized_float_model.onnx # 中间
过程 模型 文件,可 用于 后续 模型 的 精度 校验 yolov5s_672x672_nv12_original_float_model.onnx # 中间
过程 模型 文件,可 用于 后续 模型 的 精度 校验 yolov5s_672x672_nv12_quantized_model.onnx # 中间
过程 模型 文件,可 用于 后续 模型 的 精度 校验
6.2.3.5. 模型上板运行
注意事项:模型
请sunrise_camera_vxxx.tar.gz 安装包yolov5s_672x672_nv12.bin 定点model_zoom 目录
sh ./start_app.sh
运行yolov5s , 并
更