场景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大小是否一致,建议按照报错提示的大小进行分配。