如何处理MindSpore Lite推理失败的问题

如何处理MindSpore Lite推理失败的问题

现象描述

使用MindSpore Lite进行模型部署时,转换出的*.ms模型推理失败。

原因分析

模型推理失败的问题需要借助日志报错信息来分析,出现该问题的可能原因及对应日志信息如下:

  • 模型文件错误,日志报错信息:

    [mindspore/lite/src/lite_model.cc:**] ConstructModel] The model buffer is invalid and fail to create graph.
    [mindspore/lite/src/lite_model.cc:**] ImportFromBuffer] construct model failed.
  • 模型文件和推理包版本不兼容,日志报错信息:

    [mindspore/lite/src/lite_model.cc:**] ConstructModel] Maybe this is a model transferred out using the conversion tool before 1.1.0.
    [mindspore/lite/src/lite_model.cc:**] ImportFromBuffer] construct model failed.
  • 模型输入为动态shape,需指定,日志报错信息:

    [mindspore/lite/src/common/tensor_util.cc:**] CheckTensorsInvalid] The shape of tensor contains negative dimension, check the model and assign the input shape with method Resize().
    [mindspore/lite/src/lite_session.cc:**] RunGraph] CheckInputs failed.

解决办法

检查报错日志,查找是否包含上述场景中所展示的错误信息。

步骤1:检查模型文件是否有效。

  1. 确认推理使用的模型是直接通过转换工具转出的ms模型文件,若模型文件为经过传输或下载得到的,可以通过检查md5值进行校验以查看ms模型文件是否损坏。

步骤2:检查模型文件和推理框架的版本是否匹配。

  1. 使用和转换模型使用的转换工具版本相同的MindSpore Lite进行推理。通常情况下,MindSpore Lite推理兼容较低版本ms模型但是版本差异过大的情况下可能存在兼容性问题;同时,MindSpore Lite推理不保证向后兼容较高版本转换出的ms模型。

步骤3:检查模型输入shape是否有效。

  1. MindSpore Lite在对包含动态shape输入的模型推理时要求指定合理的shape,使用benchmark工具时可通过设置inputShapes 参数指定,使用MindSpore Lite集成开发时可通过调用Resize 方法设置。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值