news 2026/7/5 19:18:59

CANN/docs - 算子精度问题定位流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/docs - 算子精度问题定位流程

问题定位流程

【免费下载链接】docs该仓库用于维护cann公共文档项目地址: https://gitcode.com/cann/docs

图 1定位流程
![](https://raw.gitcode.com/cann/docs/raw/a173bdbfa81bbfd36d1c4da672d78301fb678d36/docs/app-dev/zh/figures/定位流程.png "定位流程"?utm_source=gitcode_repo_files)

  1. 推理结果错误,为了后续定位问题,需要重新执行推理,用于获取模型的Dump数据。

    获取模型的Dump数据,需要调用acl接口打开Dump开关,详细描述请参见《精度调试工具》。

  2. 配置精度模式。

    1. 配置模型高精度模式后推理,获取模型的Dump数据。推理后,如果精度达标,则进行步骤2.b;如果精度不达标,则进行步骤3。

      配置模型高精度模式后推理,可能会影响推理性能,如果在精度达标的同时,需要保持性能,则执行2.b~2.d,配置部分算子保持原始网络中的数据类型。

      配置模型高精度模式,请参见配置网络模型的高精度模式。

    2. 使用精度比对工具比对高精度模式下的Dump数据与1获取的Dump数据。

      工具的使用请参见《精度调试工具》。

    3. 根据上一步中的比对结果识别计算有差异的算子。

      一般来说,每次识别一个差异算子(首个余弦相似度较低的算子,例如低于0.95),找到差异算子后,执行推理,推理的同时获取Dump数据,用来与高精度模式下的Dump数据比对,继续找到下一个差异算子。

      需要循环执行该步骤,直至没有差异算子。

    4. 对于有差异的算子,配置该部分算子保持原始网络中的数据类型,再重新推理。

      配置部分算子的高精度模式,请参见配置部分算子保持原始网络中的数据类型。

  3. 关闭数据缓存优化功能。

    1. 恢复模型的原有精度模式后,关闭数据缓存优化功能后推理,如果精度达标,则进行步骤3.b;如果精度不达标,则进行步骤4。

      当前默认开启数据缓存优化,开启数据缓存优化可提高计算效率、提升性能,但由于部分算子在实现上可能存在未考虑的场景,导致影响精度,因此在出现精度问题时可以尝试关闭数据缓存优化。如果关闭数据缓存优化功能后,精度达标,则还是需要识别出问题算子,再联系技术支持进一步分析、解决算子问题,解决算子问题后,建议保持开启数据缓存优化。您可以获取日志后单击Link联系技术支持。

      关闭数据缓存优化功能,请参见关闭数据缓存优化。

    2. 使用精度比对工具比对关闭数据缓存优化功能后的Dump数据与1获取的Dump数据。

      工具的使用请参见《精度调试工具》。

    3. 根据上一步中的比对结果识别计算有差异的算子。

    4. 联系技术支持,提供有差异的算子,进一步分析。您可以获取日志后单击Link联系技术支持。

  4. 关闭融合规则功能。

    1. 恢复启用数据缓存优化功能,关闭融合规则功能后推理,如果精度达标,则进行步骤4.b;如果精度不达标,则进行步骤5。

      当前默认开启融合规则,开启融合规则可提高计算效率、提升性能,但算子之间可能会融合,融合后的部分算子在实现上可能存在未考虑的场景,导致影响精度,因此在出现精度问题时可以尝试关闭融合规则。如果关闭融合规则功能后,精度达标,则还是需要识别出问题算子,反馈给技术支持进一步分析、解决算子问题,解决算子问题后,建议保持开启融合规则功能。您可以获取日志后单击Link联系技术支持。

      关闭融合规则功能,请参见关闭融合规则。关闭某些融合规则可能会导致功能问题,因此在配置关闭融合规则后,系统在不影响功能的前提下关闭部分融合规则,而不是全部融合规则。

    2. 使用精度比对工具比对关闭融合规则后的Dump数据与1获取的Dump数据。

      工具的使用请参见《精度调试工具》。

    3. 根据上一步中的比对结果识别计算有差异的算子。

    4. 联系技术支持,提供有差异的算子,进一步分析。您可以获取日志后单击Link联系技术支持。

  5. 检查数据处理或配置。

    推理精度不达标可能是由于数据集、AIPP、后处理方式的差异导致,需逐步进行排查,恢复启用融合规则功能后,请检查数据处理或配置,参见检查数据处理或配置。

    如果数据处理逻辑或数据配置有问题,则需修改后重新推理;如果数据处理逻辑或数据配置没有问题,则进行第6步。

  6. 与标杆计算数据比对。

    1. 使用精度比对工具将模型的Dump数据与标杆网络的Dump数据进行对比。

      工具的使用请参见《精度调试工具》。

    2. 根据前一步中的比对结果识别计算有差异的算子。

    3. 联系技术支持,提供有差异的算子,进一步分析。您可以获取日志后单击Link联系技术支持。

【免费下载链接】docs该仓库用于维护cann公共文档项目地址: https://gitcode.com/cann/docs

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 19:18:18

如何扩展Varnish Dashboard功能:自定义插件与API集成教程

如何扩展Varnish Dashboard功能:自定义插件与API集成教程 【免费下载链接】varnish-dashboard Advanced realtime Varnish dashboard with support for multiple servers and advanced management tasks 项目地址: https://gitcode.com/gh_mirrors/va/varnish-das…

作者头像 李华
网站建设 2026/7/5 19:18:01

Perlite目录导航:移动端优化的TOC系统让文档浏览更高效

Perlite目录导航:移动端优化的TOC系统让文档浏览更高效 【免费下载链接】Perlite A web-based markdown viewer optimized for Obsidian 项目地址: https://gitcode.com/GitHub_Trending/pe/Perlite Perlite作为一款为Obsidian优化的网页版Markdown查看器&am…

作者头像 李华
网站建设 2026/7/5 19:17:30

SickGear未来roadmap:即将推出的5大令人期待的新功能

SickGear未来roadmap:即将推出的5大令人期待的新功能 【免费下载链接】SickGear SickGear has proven the most reliable stable TV fork of the great Sick-Beard to fully automate TV enjoyment with innovation. 项目地址: https://gitcode.com/gh_mirrors/si…

作者头像 李华
网站建设 2026/7/5 19:15:34

Flutter Planets渐变应用栏:创建炫酷渐变导航栏的完整教程

Flutter Planets渐变应用栏:创建炫酷渐变导航栏的完整教程 【免费下载链接】flutter_planets_tutorial The Flutter Planets app tutorial with commits per lesson 项目地址: https://gitcode.com/gh_mirrors/fl/flutter_planets_tutorial 想要为你的Flutte…

作者头像 李华
网站建设 2026/7/5 19:14:26

LLPhant架构解析:PHP生成式AI框架的技术选型与实施指南

LLPhant架构解析:PHP生成式AI框架的技术选型与实施指南 【免费下载链接】LLPhant LLPhant - A comprehensive PHP Generative AI Framework using OpenAI GPT 4. Inspired by Langchain 项目地址: https://gitcode.com/gh_mirrors/ll/LLPhant LLPhant作为一款…

作者头像 李华