PrecisionDebugger
概述
PrecisionDebugger模块包含dump和溢出检测功能的总体配置项。可以指定dump目录,设置dump或溢出检测功能,指定dump的卡和迭代。
可以在from ptdbg_ascend import *和模型初始化之间的任意位置添加该模块。
接口原型
PrecisionDebugger(dump_path=None, hook_name=None, rank=None, step[], enable_dataloader=False)
参数名 |
说明 |
是否必选 |
---|---|---|
dump_path |
设置dump数据目录路径,参数示例:"./dump_path"。dump_path的父目录须为已存在目录。 默认在指定的dump_path路径下生成ptdbg_dump_{version}目录,并在该目录下生成dump.pkl文件以及dump数据文件保存目录。 当configure_hook函数配置了mode参数时,dump.pkl文件以及dump数据文件保存目录名称添加mode参数值为前缀,详情请参见“dump数据存盘说明”。 |
是 |
hook_name |
dump模式,可取值dump和overflow_check,表示dump和溢出检测功能,二选一。 |
是 |
rank |
指定对某张卡上的数据进行dump或溢出检测,默认未配置(表示dump所有卡的数据),须根据实际卡的Rank ID配置。 |
否 |
step |
指定dump某个step的数据。 |
否 |
enable_dataloader |
自动控制开关,可取值True或False,配置为True后自动识别dump step参数指定的迭代,此时start和stop函数可不配置,配置为False则需要配置start和stop函数并在最后一个stop函数后或一个step结束的位置添加debugger.step()。 |
否 |
接口示例
- 开启Dump:
from ptdbg_ascend import PrecisionDebugger as PD debugger = PD(dump_path="./dump_path", hook_name="dump") # 模型初始化 # 下面代码也可以用PD.start()和PD.stop() debugger.start() ... debugger.stop()
- 开启溢出检测:
from ptdbg_ascend import PrecisionDebugger as PD debugger = PD(dump_path="./dump_path", hook_name="overflow_check") # 模型初始化 # 下面代码也可以用debugger.start()和debugger.stop() PD.start() ... PD.stop()
父主题: 接口说明