动态shape模型用户输入和模型推导结果不匹配
适用场景
- 业务场景:昇腾模型算法,模型转化、应用/算子开发、TensorFlow训练
- 适用处理器:Atlas 200/300/500 推理产品、Atlas 推理系列产品、Atlas 训练系列产品
- 处理器形态:EP、RC
现象描述
场景1:模型执行报错,日志信息中包含以下关键信息:“[Check][Size] %s(%s) index[%d] mem size out of range! Expected size: %ld, but given input size: %ld.”
场景2:单算子场景执行报错,日志信息中包含以下关键信息:“[Check][Param:outputs]Output size mismatch. index = %zu, model expect %zu, but given %zu(after align)”
可能原因
场景1:
此处为模型执行时,校验用户分配的output_buffer大小和模型经过一层层infershape后得到的模型输出的output_buffer大小不匹配。
场景2:
此处为单算子场景执行时,校验用户分配的output_buffer大小和单算子编译时infershape推出的output_size大小不匹配。
解决措施
针对分析的故障可能原因,可以参考下面步骤处理:
针对场景1:
若发生该错误,用户需要检查分配的output_buffer大小是否正确,应该与模型推导的大小保持一致。建议用户分配的output_buffer按照上报的ERROR中提示的大小进行分配。
针对场景2:
若发生该错误,用户需检查分配的output_buffer大小和算子infershape提示的size大小是否一致,建议按照报错提示的大小进行分配。
父主题: 常见故障分析与处理