赞
踩
wget -c ftp://xj3ftp@vrftp.horizon.ai/ai_toolchain/ai_toolchain.tar.gz --ftp-password=xj3ftp@123$%
wget -c ftp://xj3ftp@vrftp.horizon.ai/model_convert_sample/yolov5s_v2.0.tar.gz --ftp-password=xj3ftp@123$%
conda create -n horizon_bpu python=3.8.10 -y
conda activate horizon_bpu
tar -xzvf yolov5s_v2.0.tar.gz
出现:
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
查了下说tar包压缩的时候用cvf参数,解压的时候用xvf参数,使用命令:
tar -vxf yolov5s_v2.0.tar.gz
即可,继续命令:
tar -vxf ai_toolchain.tar.gz
pip install ai_toolchain/h* -i https://mirrors.aliyun.com/pypi/simple
pip install pycocotools -i https://mirrors.aliyun.com/pypi/simple
在顺利完成安装后,您可以键入 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 horizon_bpu
或 conda activate horizon_bpu
进入模型转换环境。
进入模型转换环境后,执行以下命令,检查yolov5s浮点模型是否存在:
ls -l yolov5s_v2.0/01_common/model_zoo/mapper/detection/yolov5_onnx_optimized
出现:
ls: 无法访问 'yolov5s_v2.0/01_common/model_zoo/mapper/detection/yolov5_onnx_optimized': 没有那个文件或目录
怎么回事?是模型示例包没下载成功吗?还是上面环境安装的过程有问题?检查了一下,没有发现;既然终端中提示说是没有那个文件或目录,我们就到上面环境安装里面wget下载后解压的yolov5s_v2.0文件夹下看看,发现01_common文件夹下并没有model_zoo文件夹。
若示例浮点模型已准备完成,根据以下步骤进行模型验证,确保其符合地平线X3处理器的支持约束。
cd yolov5s_v2.0/04_detection/03_yolov5s/mapper
#确认模型结构及算子是否支持,并提供每个算子执行硬件的分配情况(BPU/CPU)
bash 01_check.sh
终端出现提示bash: 01_check.sh: 没有那个文件或目录
,进入wget下载后解压的yolov5s_v2.0文件夹下的04_detection下03_yolov5s下mapper中,发现有01_check_Ultra.sh和01_check_X3.sh,个人使用的板子为X3,模型检查命令替换为:
bash 01_check_X3.sh
命令执行完毕后,成功出现下面日志
2023-12-13 18:29:37,484 INFO [Wed Dec 13 18:29:37 2023] End to Horizon NN Model Convert.
2023-12-13 18:29:37,496 INFO ONNX model output num : 3
2023-12-13 18:29:37,513 INFO End model checking....
模型检查通过后,根据以下步骤进行模型转换。
进行校准数据预处理
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
模型转换
同样,命令和手册里面做下改变:
bash 03_build_X3.sh
命令执行完毕后,若出现以下日志并无任何报错,说明模型转换成功
2023-12-14 08:55:04,648 INFO Convert to runtime bin file successfully!
2023-12-14 08:55:04,648 INFO End Model Convert
模型转换完成后,会在 model_output 文件夹下保存模型文件和静态性能评估文件。
注意事项:模型上板运行前,请确保已按照 安装系统 章节完成开发板端的环境部署。 将 yolov5s_672x672_nv12.bin 定点模型拷贝 替换 至开发板的 /app/ai_inference/models 目录下,调用以下命令运行:
cd /app/ai_inference/07_yolov5_sample/
sudo python3 ./test_yolov5.py
估计是板子有更新,模型存放的目录变动为/app/pydev_demo/models/,发现此目录下的models文件夹为一个文件链接,查看属性发现其链接目标为/app/model/basic,然后去此目录查看,basic链接目标为/opt/hobot/model/x3/basic,所以将 yolov5s_672x672_nv12.bin 定点模型拷贝替换至开发板此目录下,可以将目录中原有yolov5s_672x672_nv12.bin改下名称做一个备份,直接复制提示权限不够,在开发机model_output文件夹下打开终端,使用命令:
sudo cp -i yolov5s_672x672_nv12.bin /media/xxx/rootfs/opt/hobot/model/x3/basic
其中 /media/xxx/rootfs/opt/hobot/model/x3/basic根据开发板的存储卡使用读卡器挂载在你电脑上的位置名称确定,xxx替换根据自己电脑而定,可查看文件属性得到;而test_yolov5.py的目录变动为/app/pydev_demo/07_yolov5_sample,因此命令改为:
cd /app/pydev_demo/07_yolov5_sample/
sudo python3 ./test_yolov5.py
yolov5s_672x672_nv12.bin使用开发机model_output文件夹下的文件替换后,运行上述命令,运行成功后,会输出图像的分割结果,并且dump出分割效果图: result.jpg。运行成功,贴一下手册上的结果:
...... detected item num: 15 person is in the picture with confidence:0.8555 person is in the picture with confidence:0.7774 person is in the picture with confidence:0.6599 person is in the picture with confidence:0.6310 person is in the picture with confidence:0.6091 person is in the picture with confidence:0.5242 person is in the picture with confidence:0.5182 person is in the picture with confidence:0.4737 person is in the picture with confidence:0.4037 person is in the picture with confidence:0.4023 kite is in the picture with confidence:0.8651 kite is in the picture with confidence:0.8428 kite is in the picture with confidence:0.7063 kite is in the picture with confidence:0.6806 kite is in the picture with confidence:0.5446 ......
常用API示例,请参考 yolov5目标检测算法 章节内容:
更多模型推理API使用说明,请参考 Python开发指南-AI 算法推理接口使用说明 和 C/C++开发指南-BPU(算法推理模块)API 章节内容。详见旭日X3派用户手册算法工具链开发指南入门指南。
注意:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。