函数原型
def __init__(self,
enable_profiling=False,
profiling_options=None
)
功能说明
ProfilingConfig类的构造函数,用于配置Profiling功能。
参数说明
参数名 |
输入/输出 |
描述 |
enable_profiling |
输入 |
是否开启Profiling功能。
- True:开启Profiling功能,从profiling_options读取Profiling的采集选项。
- False:关闭Profiling功能,默认关闭。
|
profiling_options |
输入 |
Profiling配置选项。
- output:Profiling采集结果文件保存路径。该参数指定的目录需要在启动训练的环境上(容器或Host侧)提前创建且确保安装时配置的运行用户具有读写权限,支持配置绝对路径或相对路径(相对执行命令行时的当前路径)。
- 绝对路径配置以“/”开头,例如:/home/HwHiAiUser/output。
- 相对路径配置直接以目录名开始,例如:output。
- training_trace:采集迭代轨迹数据,即训练任务及AI软件栈的软件信息,实现对训练任务的性能分析,重点关注数据增强、前后向计算、梯度聚合更新等相关数据。为非必选项配置,用户可不配置,当用户配置时必须设为“on”。
- task_trace:采集任务轨迹数据,即昇腾AI处理器HWTS,分析任务开始、结束等信息。取值on/off。如果将该参数配置为“on”和“off”之外的任意值,则按配置为“off”处理。
- aicpu:采集aicpu数据增强的Profiling数据。取值on/off。如果将该参数配置为“on”和“off”之外的任意值,则按配置为“off”处理。
- fp_point:training_trace为on时需要配置。指定训练网络迭代轨迹正向算子的开始位置,用于记录前向计算开始时间戳。配置值为指定的正向第一个算子名字。用户可以在训练脚本中,通过tf.io.write_graph将graph保存成.pbtxt文件,并获取文件中的name名称填入。
- bp_point:training_trace为on时需要配置。指定训练网络迭代轨迹反向算子的结束位置,记录后向计算结束时间戳,fp_point和bp_point可以计算出正反向时间。配置值为指定的反向最后一个算子名字。用户可以在训练脚本中,通过tf.io.write_graph将graph保存成.pbtxt文件,并获取文件中的name名称填入。
- aic_metrics:AICore的硬件信息,取值如下:
ArithmeticUtilization:各种计算类指标占比统计 PipeUtilization: 计算单元和搬运单元耗时占比,该项为默认值 Memory:外部内存读写类指令占比 MemoryL0:内部内存读写类指令占比 ResourceConflictRatio:流水线队列类指令占比
配置示例:
profiling_options = '{"output":"/tmp/profiling","training_trace":"on","fp_point":"resnet_model/conv2d/Conv2Dresnet_model/batch_normalization/FusedBatchNormV3_Reduce","bp_point":"gradients/AddN_70"}'
|
返回值
返回ProfilingConfig类对象,作为NPURunConfig的参数传入。