华为昇腾200IDKA2如何用sample样例换成自己训练的模型
·
参考论坛林同学的文章 https://www.hiascend.com/forum/thread-0214137663603808010-1-1.html
一、第一种情况是你用了yolov5模型

二、用了模型适配工具生成的模型

重点:
如果是使用其他yolov5模型(例如yolov5s),需要将对应的前处理,根据当前格式,修改覆盖掉sample样例的前处理,后处理相同操作。
我又参考了林同学的一个回复(找了好久)

之后发现模型适配工具给的转换方法是fp16

所以我选择用官方给的atc命令转换
YoloV5s模型转换命令如下
atc --model=yolov5s.onnx --framework=5 --output=yolov5s_bs1 --input_format=NCHW --soc_version=Ascend310B4 --input_fp16_nodes="images"

因为默认是float32,所以如果我们想用float32的话,应该把最后的去掉(并且我soc换成了310B1,我的版本是这个,虽然我感觉应该没关系)
atc --model=yolov5s.onnx --framework=5 --output=yolov5s_bs1 --input_format=NCHW --soc_version=Ascend310B1
用这个得到的模型替换到sample中,再改一下标签文件,再加上第一种情况的/255.0就成功了。
总结
生成压缩包之后不要用onnx2om.py转换,用如下命令:
atc --model=yolov5s.onnx --framework=5 --output=yolov5s_bs1 --input_format=NCHW --soc_version=Ascend310B1
然后在预处理倒数第二行加入/255.0

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐

所有评论(0)