data dump功能

功能简介

为了定位图模式精度问题,TorchAir给图模式提供了一个dump数据接口,方便用户dump图模式数据。

graph dump与data dump是不同的功能,二者可以单独使用,也可以共同使能用于定位精度问题。

关于data dump功能的详细介绍可以参考《CANN 精度比对工具使用指南》中“准备NPU侧dump数据和计算图文件”章节

参数说明

表1 参数配置

参数名

说明

配置示例

是否必选

enable_dump

是否开启data dump功能:

  • False:关闭data dump功能
  • True:开启data dump功能

默认关闭。

config.dump_config.enable_dump = True

说明:

若用户要使用data dump功能,该配置项为必选,且置为True。

dump_mode

data dump模式,用于指定dump算子输入还是输出数据。取值如下:

  • input:仅dump算子输入数据。
  • output:仅dump算子输出数据。
  • all:dump算子输入和输出数据。

默认值为"all"。

config.dump_config.dump_mode = "all"

dump_path

dump数据的存放路径(若设置的是相对路径,则为拼接后的全路径),默认为当前目录。

config.dump_config.dump_path = './dump'

quant_dumpable

如果是量化后的网络,可通过此参数控制是否采集量化前的dump数据,默认值为False。

  • False:图编译过程中可能优化量化前的输入输出,此时无法获取量化前的dump数据。
  • True:开启此配置后,可确保能够采集量化前的dump数据。

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)