昇腾社区首页
中文
注册

数据准备

  1. 当训练过程中发现AI Core Error问题时,用户需在重新执行训练前导入如下环境变量。

    具体细节请参见ATC工具使用指南日志参考

    export DUMP_GE_GRAPH=1  # 控制dump图的内容多少,取值为1,全量dump
    export DUMP_GRAPH_LEVEL=1  # 控制dump图的个数,取值为1,dump所有图
    export ASCEND_GLOBAL_LOG_LEVEL=1  # 设置全局日志级别,取值为1,代表INFO
  2. 当训练过程中发现AI Core Error问题时,用户可参考如下步骤配置op_debug_level和enable_exception_dump参数。
    • Estimator模式下,开启op_debug_level和enable_exception_dump:
      from npu_bridge.estimator.npu.npu_config import NPURunConfig
      from npu_bridge.estimator.npu.npu_config import DumpConfig
      
      session_config=tf.ConfigProto()
      
      config = NPURunConfig(
        op_debug_level = 2,            # 开启算子debug功能。
        session_config=session_config,
        enable_exception_dump=1       # Dump AI Core Error算子的输入和输出信息,dump信息生成在当前脚本执行目录。不支持dump动态shape算子。
        )
    • sess.run模式下,开启op_debug_level和enable_exception_dump:
      import tensorflow as tf
      from npu_bridge.estimator import npu_ops
      from tensorflow.core.protobuf.rewriter_config_pb2 import RewriterConfig
      
      config = tf.ConfigProto()
      
      custom_op =  config.graph_options.rewrite_options.custom_optimizers.add()
      custom_op.name =  "NpuOptimizer" 
      custom_op.parameter_map["use_off_line"].b = True
      custom_op.parameter_map["enable_exception_dump"].i = 1   # Dump AI Core Error算子的输入和输出信息,dump信息生成在当前脚本执行目录。不支持dump动态shape算子。
      custom_op.parameter_map["op_debug_level"].i = 2          # 开启算子debug功能。
      config.graph_options.rewrite_options.remapping = RewriterConfig.OFF  # 关闭remap开关
      
      with tf.Session(config=config) as sess:
        print(sess.run(cost))
    表1 op_debug_level参数取值说明

    取值

    说明

    0

    不开启算子debug功能,默认为0。

    1

    开启算子debug功能,在训练脚本执行目录下的kernel_meta文件夹中生成TBE指令映射文件(算子cce文件*.cce、python-cce映射文件*_loc.json、.o和.json文件),用于后续工具进行AI Core Error问题定位。

    2

    开启算子debug功能,在训练脚本执行目录下的kernel_meta文件夹中生成TBE指令映射文件(算子cce文件*.cce、python-cce映射文件*_loc.json、.o和.json文件),并关闭编译优化开关(开启ccec编译器选项-O0-g),用于后续工具进行AI Core Error问题定位,可定位到出错算子的代码行号。

  1. 重新执行训练后,会在训练执行目录下生成指令映射文件和异常算子dump文件。