onnx与om模型输入相同,onnx输出正确,但是om输出不对。
收藏回复举报
onnx与om模型输入相同,onnx输出正确,但是om输出不对。
t('forum.solved') 已解决
新人帖
发表于2025-10-20 15:19:02
0 查看
运行pth推理,输出结果正确。

pth->onnx,成功,同时运行onnx推理,输出结果也正确。

onnx->om,成功,但是运行om推理,其输入与onnx输入完全一致,但是输出结果错误。

我认为既然模型转换成功了,相同的输入,必然应该有相同的输出。

(1)onnx与om关键打印信息:

print("====== ONNX 模型实际输入参数1 ======")  

print("input_data_nbyte:",  input_data.nbytes)          # 4915200

print("input_data_shape:",  input_data.shape[:4])         # torch.Size([1, 3, 640, 640])即 [B, C, H, W]

print("input_data_dtype:",  input_data.dtype)                 # torch.float32

print("input_data_numpy:",  input_data.numpy())

print("====== ONNX 模型实际输入参数2 ======")  

print("orig_size_nbytes:",orig_size.nbytes)         # 16

print("orig_size_shape:",orig_size.shape[:4])        # torch.Size([1, 2])

print("orig_size_dtype:",orig_size.dtype)             #  torch.int64

print("orig_size_numpy:",orig_size.numpy())        #  [[640 640]]

print("====================================") 

print("====== OM 模型实际输入信息1 ======")      

print("input_data_nbyte:",  img_array.nbytes)              # 4915200

print("input_data_shape:",  img_array.shape)                 # (1, 3, 640, 640)

print("input_data_dtype:",  img_array.dtype)                 # float32

print("input_data_numpy:",img_array) 

print("====== OM 模型实际输入信息2 ======")

print("orig_size_nbytes:",size_tensor.nbytes)         #  16

print("orig_size_shape:",size_tensor.shape)                #  (1, 2)

print("orig_size_dtype:",size_tensor.dtype)             #  int64

print("orig_size_numpy:",size_tensor)                          #  [[640 640]] 

(2)平台版本:

# cat /usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/ascend_toolkit_install.info

package_name=Ascend-cann-toolkit

version=8.1.RC1

(3)atc转换过程:

export bs=1 && export chip_name=310B1

atc --framework=5 \

    --model=../model/deimv2_dinov3_s_coco.onnx \

    --output=../model/deimv2_dinov3_s_coco_bs${bs} \

    --input_format=NCHW \

    --input_shape="images:${bs},3,640,640;orig_target_sizes:${bs},2" \

    --soc_version=Ascend${chip_name} \

    --log=error >log_error.txt

(3)附件:

附件1:export_onnx.py 由pth导出onnx

附件2:torch_inf.py 由pytorch推理

附件3:onnx_inf.py 由onnx推理

附件4:om_infer_image.py 由om推理

附件5:onnx图形化输入:

cke_22835.png

我要发帖子