---
title: 问题定位流程
description: "图1 定位流程"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/programug/acldevg/aclcppdevg_000102.html
sourcePath: /source/zh/canncommercial/900/programug/acldevg/aclcppdevg_000102.html
indexId: 30f8034c4522969a9be1b828e63f940c7974360df76457bdc14d2f800885263e70
---
# 问题定位流程

图1 定位流程

1. 推理结果错误，为了后续定位问题，需要重新执行推理，用于获取模型的Dump数据。
  获取模型的Dump数据，需要调用acl接口打开Dump开关，详细描述请参见《精度调试工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/ModelAccuracyAnalyzer/atlasaccuracy_16_1000.html)》。

2. 配置精度模式。

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

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

  b. 使用精度比对工具比对高精度模式下的Dump数据与    1
获取的Dump数据。
    工具的使用请参见《精度调试工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/ModelAccuracyAnalyzer/atlasaccuracy_16_1000.html)》。

  c. 根据    2.b
中的比对结果识别计算有差异的算子。
    一般来说，每次识别一个差异算子（首个余弦相似度较低的算子，例如低于0.95），找到差异算子后，执行2.d推理，推理的同时获取Dump数据，用来与高精度模式下的Dump数据比对，继续找到下一个差异算子。

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

  d. 对于有差异的算子，配置该部分算子保持原始网络中的数据类型，再重新推理。
    配置部分算子的高精度模式，请参见配置部分算子保持原始网络中的数据类型。

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

  a. 恢复模型的原有精度模式后，关闭数据缓存优化功能后推理，如果精度达标，则进行步骤    3.b
；如果精度不达标，则进行步骤    4
。
    当前默认开启数据缓存优化，开启数据缓存优化可提高计算效率、提升性能，但由于部分算子在实现上可能存在未考虑的场景，导致影响精度，因此在出现精度问题时可以尝试关闭数据缓存优化。如果关闭数据缓存优化功能后，精度达标，则还是需要识别出问题算子，再联系技术支持进一步分析、解决算子问题，解决算子问题后，建议保持开启数据缓存优化。您可以获取日志后单击Link(https://www.hiascend.com/support)联系技术支持。

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

  b. 使用精度比对工具比对关闭数据缓存优化功能后的Dump数据与    1
获取的Dump数据。
    工具的使用请参见《精度调试工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/ModelAccuracyAnalyzer/atlasaccuracy_16_1000.html)》。

  c. 根据    3.b
中的比对结果识别计算有差异的算子。
  d. 联系技术支持，提供有差异的算子，进一步分析。您可以获取日志后单击Link(https://www.hiascend.com/support)联系技术支持。
4. 关闭融合规则功能。

  a. 恢复启用数据缓存优化功能，关闭融合规则功能后推理，如果精度达标，则进行步骤    4.b
；如果精度不达标，则进行步骤    5
。
    当前默认开启融合规则，开启融合规则可提高计算效率、提升性能，但算子之间可能会融合，融合后的部分算子在实现上可能存在未考虑的场景，导致影响精度，因此在出现精度问题时可以尝试关闭融合规则。如果关闭融合规则功能后，精度达标，则还是需要识别出问题算子，反馈给技术支持进一步分析、解决算子问题，解决算子问题后，建议保持开启融合规则功能。您可以获取日志后单击Link(https://www.hiascend.com/support)联系技术支持。

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

  b. 使用精度比对工具比对关闭融合规则后的Dump数据与    1
获取的Dump数据。
    工具的使用请参见《精度调试工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/ModelAccuracyAnalyzer/atlasaccuracy_16_1000.html)》。

  c. 根据    4.b
中的比对结果识别计算有差异的算子。
  d. 联系技术支持，提供有差异的算子，进一步分析。您可以获取日志后单击Link(https://www.hiascend.com/support)联系技术支持。
5. 检查数据处理或配置。
  推理精度不达标可能是由于数据集、AIPP、后处理方式的差异导致，需逐步进行排查，恢复启用融合规则功能后，请检查数据处理或配置，参见检查数据处理或配置。

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

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

  a. 使用精度比对工具将模型的Dump数据与标杆网络的Dump数据进行对比。
    工具的使用请参见《精度调试工具(https://www.hiascend.com/document/detail/zh/canncommercial/900/devaids/ModelAccuracyAnalyzer/atlasaccuracy_16_1000.html)》

  b. 根据    6.a
中的比对结果识别计算有差异的算子。
  c. 联系技术支持，提供有差异的算子，进一步分析。您可以获取日志后单击Link(https://www.hiascend.com/support)联系技术支持。
