Mindspore Lite和onnx runtime推理同一个模型,输入一样,输出结果不同?

问题

有伙伴用Mindspore Lite推理模型时发现。使用onnx runtime推理同一个模型,输入一样,输出结果不同。

阅读 669
1 个回答

定位过程

  • 找伙伴要到了模型以及代码:
  • 使用https://netron.app/查看onnx模型和转换后的ms模型输入format是否一致:

  • 发现一个输入format为1x224x224x3,另一个为1x3x224x224。格式不一致,所以导致输出的结果不同。
  • 解决办法

    模型输入format,onnx模型输入默认是NCHW,ms模型输入默认是NHWC。所以,用模型转换工具转换的时候,需要指定一下format,也就是加上:inputDataFormat=NCHW

    ./converter_lite --fmk=ONNX --modelFile=resnet18_static.onnx --outputFile=model_resnet18 --inputDataFormat=NCHW

    转换后onnx模型和ms模型的输入格式就一致了。

    模型转换文档:https://www.mindspore.cn/lite/docs/zh-CN/r1.8/use/converter\_tool.html

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进