因为实际项目需要,昨天又做了一遍yolov5的模型转换和后处理的代码开发的工作,过程中居然还是发现了一个坑的点。这里说的并不是新的 5.6 T算力的哪个 svp_npu的模型转换,而是还是哪个4.8 T 的哪个,官方文档上说的 “NNN” 的哪个 npu 的模型转换。需然这条路我在前天终于走通了,但今天还是在模型转换时遇到了个坑,然后发现了个官方文 档的问题。这个问题是这样的,以下是官方文 档的原文 :
9.1.3 ONNX 算子规格
该算子规格仅适用于ONNX原生IR定义的网络模型。算子详情请参见《Caffe&ONNX算
子规格清单》>支持ONNX算子清单.。
如果要查看基于Ascend IR定义的单算子信息,请参见《CANN 算子规格说明》手册。
当前支持的ONNX版本为1.8.0、Opset版本为v9~v13、ONNX Runtime版本为1.6.0。
这里说Opset 版本为v9-v13 但实际中,我使用了opset v10 版本把 yolov5s.pt 转为onnx 后,再把这个 yolov5s.onnx 转为 .om 时就会报 Resize 138 节点 input size error 的错误。这个问题折腾了很久,最后发现,就是 .pt 转onnx 时,选用了 v10版本的Opset , 而使用 v12 版本的 Opset 就不会产生这个 Resize138 input size error 的错误。