1.应该是选用yolov5-V6.0以下的版本以及不同版本对应的pt权重。
mirrors / ultralytics / yolov5 · GitCode
这里选用了yolov5-2.0以及对于pt权重, 3.0,4.0,5.0应该都可以。参考https://bbs.huaweicloud.com/blogs/317169
python models/export.py --weights ./yolov5s.pt --img 640 --batch 1 得到 yolov5s.onnx. 注意这里export 需要将opset_version改为 opset_version=11
python3 ./ALC_model_convert/modify_yolov5.py 得到yolov5s_modify.onnx。 需要更改形状,slice的编号,和concat编号一般不需要更改。
scp ./yolov5l-2.0_modify.onnx HwHiAiUser@192.168.1.2:/home/HwHiAiUser/machi/gitee_Atlas200DK_YoloV5_Python3/ 模型移到Altas200DK上
2.进去Altas200DK
ssh HwHiAiUser@192.168.1.2
pS: Mind@123
# out_nodes 根据netron可视化网络后的节点输出进行填写。 不同模式的Conv_XXX的序号不一样,根据三个输出节点outputs进行选择
atc --model=yolov5l-2.0_modify.onnx --framework=5 --output=yolov5l-2.0 --soc_version=Ascend310 --input_format=NCHW --input_shape="images:1,12,320,320" --out_nodes="Conv_312:0;Conv_328:0;Conv_344:0" --log=info
下面图示,三个output节点,然后选择与Reshape直接相连的Conv_XXX
#输出结果移动到yolov5-2.0/Atlas200_results
scp -r HwHiAiUser@192.168.1.2:/home/HwHiAiUser/machi/gitee_Atlas200DK_YoloV5_Python3/outout_SAR_best-2.0 ./Atlas200_results/
观察
代码部分可参考昇腾社区提供的demo的备份
https://gitee.com/liurf_hw/yolov5_npu_infer
https://gitee.com/qingcheng21