data dump功能
功能简介
为了定位图模式精度问题,TorchAir给图模式提供了一个dump数据接口,方便用户dump图模式数据。
graph dump与data dump是不同的功能,二者可以单独使用,也可以共同使能用于定位精度问题。
关于data dump功能的详细介绍可以参考《CANN 精度比对工具使用指南》中“准备NPU侧dump数据和计算图文件”章节。
参数说明
参数名 |
说明 |
配置示例 |
是否必选 |
---|---|---|---|
enable_dump |
是否开启data dump功能:
默认关闭。 |
config.dump_config.enable_dump = True |
否
说明:
若用户要使用data dump功能,该配置项为必选,且置为True。 |
dump_mode |
data dump模式,用于指定dump算子输入还是输出数据。取值如下:
默认值为"all"。 |
config.dump_config.dump_mode = "all" |
否 |
dump_path |
dump数据的存放路径(若设置的是相对路径,则为拼接后的全路径),默认为当前目录。 |
config.dump_config.dump_path = './dump' |
否 |
quant_dumpable |
如果是量化后的网络,可通过此参数控制是否采集量化前的dump数据,默认值为False。
|
config.dump_config.quant_dumpable= True |
否 |
使用方法
在设置config时使用下列开关进行相关配置:
import torch_npu
import torchair as tng
config = tng.CompilerConfig()
# data dump开关:[必选]
config.dump_config.enable_dump = True
# dump类型:[可选],all代表dump所有数据
config.dump_config.dump_mode = "all"
# dump路径:[可选],默认为当前目录
config.dump_config.dump_path = 'home/dump'
# 量化data dump开关:[可选],是否采集量化前的dump数据
config.dump_config.quant_dumpable= True
npu_backend= torchair.get_npu_backend(compiler_config=config)
...
model = Model()
model = torch.compile(model, backend=npu_backend, dynamic=False)
- 获取dump数据文件
数据生成在dump_path指定的目录下,即data_dump_dir={dump_path}/{time}/{deviceid}/{model_name}/{model_id}/{data_index}目录下。以dump_path配置为“/home/dump”为例,数据存放目录data_dump_dir=“/home/dump/2024112145738/0/_0/1/0”。
- time:dump数据文件落盘的时间,格式为YYYYMMDDHHMMSS。
- deviceid:DeviceID。
- model_name:子图名称。
- model_id:子图ID号。
- data_index:迭代数,用于保存对应迭代的dump数据。
- 解析dump数据文件,得到npy文件