DumpConfig构造函数
功能说明
DumpConfig类的构造函数,用于配置dump功能。
函数原型
def __init__(self, enable_dump=False, dump_path=None, dump_step=None, dump_mode="output", enable_dump_debug=False, dump_debug_mode="all", dump_data="tensor", dump_layer=None )
参数说明
参数名 |
输入/输出 |
描述 |
---|---|---|
enable_dump |
输入 |
是否开启Data Dump功能,默认值:False。
说明:
|
dump_path |
输入 |
Dump文件保存路径。enable_dump或enable_dump_debug为true时,该参数必须配置。 该参数指定的目录需要在启动训练的环境上(容器或Host侧)提前创建且确保安装时配置的运行用户具有读写权限,支持配置绝对路径或相对路径(相对执行命令行时的当前路径)。
|
dump_step |
输入 |
指定采集哪些迭代的Data Dump数据。 多个迭代用“|”分割,例如:0|5|10;也可以用"-"指定迭代范围,例如:0|3-5|10。 若不配置该参数,表示采集所有迭代的dump数据。 |
dump_mode |
输入 |
Data Dump模式,用于指定dump算子输入还是输出数据。取值如下:
说明:
配置为all时,由于部分算子在执行过程中会修改输入数据,例如集合通信类算子HcomAllGather、HcomAllReduce等,因此系统在进行dump时,会在算子执行前dump算子输入,在算子执行后dump算子输出,这样,针对同一个算子,算子输入、输出的dump数据是分开落盘,会出现多个dump文件,在解析dump文件后,用户可通过文件内容判断是输入还是输出。 |
enable_dump_debug |
输入 |
溢出检测场景下,是否开启溢出数据采集功能,默认值:False。
说明:
|
dump_debug_mode |
输入 |
溢出检测模式,取值如下:
|
dump_data |
输入 |
指定算子dump内容类型,取值:
大规模训练场景下,通常dump数据量太大并且耗时长,可以先dump所有算子的统计数据,根据统计数据识别可能异常的算子,然后再指定dump异常算子的input或output数据。 |
dump_layer |
输入 |
指定需要dump的算子。取值为算子名,多个算子名之间使用空格分隔。若不配置此字段,默认dump全部算子。 若指定的算子其输入涉及data算子,会同时将data算子信息dump出来。 |
返回值
返回DumpConfig类对象,作为NPURunConfig的参数传入。
约束说明
enable_dump和enable_dump_debug不能同时开启。
调用示例
1 2 3 4 5 |
from npu_bridge.npu_init import * ... dump_config = DumpConfig(enable_dump=True, dump_path="/home/HwHiAiUser/output", dump_step="0|5|10", dump_mode="all") session_config=tf.ConfigProto(allow_soft_placement=True) config = NPURunConfig(dump_config=dump_config, session_config=session_config) |