码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 如何处理MindSpore Lite推理精度异常问题


    如何处理MindSpore Lite推理精度异常问题

    现象描述

    使用MindSpore Lite集成时对推理结果后处理后发现效果不理想,怀疑推理精度存在问题,可通过以下方式进行精度分析验证。

    原因分析

    模型推理效果不理想的原因一般包括:输入数据有误、数据预处理或后处理流程有误、fp16推理引入的精度损失、推理框架存在精度问题:

    • 输入数据格式异常或预处理有误。
    • 打开fp16推理引起的精度损失。
    • 算子精度异常。

    解决办法

    步骤1:检查输入数据。

    1. MindSpore Lite 1.3.0及之前版本ms模型的输入数据格式为NHWC,MindSpore Lite 1.5.0之后的版本支持inputDataFormat 参数设置输入数据格式为NHWC或NCHW,需要确保输入数据的格式确保和ms模型要求的输入格式一致。

    2. 检查输入数据是否需要预处理及预处理过程是否正确:例如未进行归一化处理,导致数值较大,在进行矩阵乘或幂指运算时出现数值溢出。

    步骤2:检查是否打开fp16推理。

    1. 使用fp16推理时会存在数值精度损失,整网推理过程中会由于误差累积导致最终输出结果误差变大,甚至会导致数值溢出从而出现Nan或Inf值。
    2. 如果精度异常问题由于打开fp16推理引入,可以参考步骤3定位具体出现精度问题的算子。然后使用MindSpore Lite 1.5.0及之后版本提供混合精度推理能力,在整网推理优先使用fp16时支持设置某一层算子进行fp32推理,具体使用方法可参考官网文档混合精度运行 ,通过将溢出层设置为fp32避免在fp16推理时出现的整网推理精度问题。

    步骤3:通过MindSpore Lite提供的基准测试工具benchmark进行精度验证。

    1. 通过benchmark工具的Dump功能 保存算子层输出,和原框架推理结果进行对比进一步定位出现精度异常的算子。
    2. 针对存在精度问题的算子,可以下载MindSpore源码 检查算子实现并构造相应单算子网络进行调试与问题定位;也可以在MindSpore社区提ISSUE 给MindSpore Lite的开发人员处理。

    建议与总结

    无

    相关参考文档

    其他推理问题请参考《问题定位指南》。

  • 相关阅读:
    C++11重写muduo网络库2—Cmake,nocopyable,logger,Timestamp,InetAddress
    使用seata实现分布式事务
    Mybatis(一)
    SM2密码算法数据结构
    深入 Java 线程池:从设计思想到源码解读
    【Visual Leak Detector】源码编译 VLD 库
    IDEA Debug过程中使用Drop Frame或Reset Frame实现操作回退
    计算机毕业设计springboot基于微信小程序的汇客源民宿预订平台
    YB6502是一款5V输入支持两节串联磷酸铁锂电池的升压充电管理应用
    vue学习(6)自定义指令详解及常见自定义指令
  • 原文地址:https://blog.csdn.net/Kenji_Shinji/article/details/127103503
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号