数据准备
推理场景
需要在模型转换时,完成op_debug_level和debug_dir参数配置。流程如下:
- 启动Model Converter。
- 单击Advanced Options下拉框。
- 将Additional Arguments置于开启状态,填入“op_debug_level”参数(例如:--op_debug_level=2)和“debug_dir”参数(生成debug文件的路径,该路径为工程下的指定路径,其中路径下的“compile_path_infer”文件夹须自行创建)。如图1所示。
Windows环境下暂不支持开启Additional Arguments填入“op_debug_level”参数和“debug_dir”参数进行转换,可在关闭Additional Arguments情况下直接启动转换。
训练场景
- 当训练过程中发现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))
- Estimator模式下,开启op_debug_level和enable_exception_dump:
- 重新执行训练后,会在训练执行目录下生成指令映射文件和异常算子dump文件。
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问题定位,可定位到出错算子的代码行号。 |
父主题: AI Core Error分析