旭日X3开发记录

官方教程:旭日x3官方文档
Yolov5部署全流程:部署视频
配套教程:视频配套教程

在旭日x3部署yolov5(包括其他深度学习模型)需要用到旭日X3的算法工具链,模型需要从.pt格式转换为onnx格式,在转换为bpu格式。需要用到的数据集分辨率为642*642

转换onnx模型步骤
注意:由于地平线算法工具链的onnx支持版本是1.6和1.7,所以需要安装1.6或者1.7的onnx
1 将yolo.py代码中中的x[i] = x[i].view(bs, self.na, self.no, ny, nx).permute(0, 1, 3, 4, 2).contiguous()替换为
 x[i] = x[i].permute(0, 2, 3, 1).contiguous()  
我的代码在62行,这行代码的作用是将张量 x 的维度进行调整,具体来说就是将维度的排列顺序从 (0, 1, 2, 3) 改变为 (0, 2, 3, 1)。

其中 permute() 方法接受一个元组作为参数,该元组表示需要重新排列的维度。例如在这个例子中,(0, 2, 3, 1) 表示将原本的第二维(1)移动到第四维,原本的第三维(2)移动到第二维,原本的第四维(3)移动到第三维,同时将原本的第一维(0)保持不变。这个调整的过程不会改变数据的内容,只是改变了它们在张量中的排列方式。

在调用 permute() 方法之后,使用了 contiguous() 方法,该方法可以使 tensor 中的数据变得连续,即它们被存储在内存中的地址是连续的。这种操作可以提高后续计算的效率,尤其是在计算过程中需要访问大量的内存时。
 
2 BPU的工具链不支持onnx的所有版本的算子,当前BPU支持onnx的opset版本为10和11。
方式一:python .\export.py --weights .\models\yolov5s.pt --include onnx --opset 11
方式二: 
修改export.py第48行为:
torch.onnx.export(model, img, f, verbose=False, opset_version=12, input_names=['images'],
                          output_names=['classes', 'boxes'] if y is None else ['output'])
  1. 输入以下代码进行模型转换:
python export_x3.py --weights yolov5s.pt --img-size 672 --batch-size 1

在linux上搭建bpu模型转换环境,按官方教程搭建即可
搭建好后

  1. 获取工程文件
    工程文件名为:horizon_model_convert_sample
输入以下代码获得工程文件:
wget -c ftp://xj3ftp@vrftp.horizon.ai/model_convert_sample/horizon_model_convert_sample.tar.gz --ftp-password=xj3ftp@123$%
  1. 将自己的数据集放入以下目录文件夹下
    在这里插入图片描述

  2. 将自己训练的模型放入以下目录文件夹下
    在这里插入图片描述
    调用rtsp流

几种常用的启动方式

解码默认流并开启HDMI显示

sudo ./decode_rtsp_stream.py
解码默认流并关闭HDMI显示

sudo ./decode_rtsp_stream.py -d 0
解码单路rtsp流

sudo ./decode_rtsp_stream.py -u "rtsp://x.x.x.x/xxx"
解码多路rtsp流

sudo ./decode_rtsp_stream.py -u "rtsp://x.x.x.x/xxx;rtsp://x.x.x.x/xxx"
解码默认流并使能AI推理

sudo ./decode_rtsp_stream.py -a
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值