如何进行dump数据文件Format转换
执行dump数据文件Format转换
本版本提供dump数据文件Format转换能力,用于用户根据自身需求将昇腾AI处理器生成的dump数据文件转换成numpy数据文件,方便查看。
该功能通过shape_conversion.py脚本实现,该脚本存放在$HOME/Ascend/ascend-toolkit/latest/tools/operator_cmp/compare路径下,命令格式如下:
python3 shape_conversion.py -i dump_file_path -format format -o outputpath [-shape shape] [-tensor tensor] [-index index] [-custom custom_path]
命令格式参数项说明:
- -i:昇腾AI处理器生成的dump文件(含路径)。
- -format :转换后的数据format。
- -o:转换后的数据存放目录。
- -shape:format转换需要的shape,当前仅FRACTAL_NZ转换需要该shape,格式为([0-9]+,)+[0-9]+,每个数字必须大于0。可选。
- -tensor :表示转换的dump文件是input数据还是output数据,默认为output。可选。
- -index:表示tensor的索引,默认为0。可选。
- -custom:用户自定义Format转换.py文件存放路径,需指定到“format_convert”目录的上一层目录。可选。.py文件相关要求参见准备自定义Format转换.py文件。

结果保存为“原始文件名.output.{index}.{shape}.npy”或“原始文件名.input.{index}.{shape}.npy”,shape的格式如:1x3x224x224。
如果自定义的Format和内置的Format一样,以自定义Format为准。
当前内置的Format转换支持如下类型:
- FRACTAL_NZ转换NCHW
- FRACTAL_NZ转换ND
- HWCN转换FRACTAL_Z
- HWCN转换成NCHW
- HWCN转换成NHWC
- NC1HWC0转换成HWCN
- NC1HWC0转换成NCHW
- NC1HWC0转换成NHWC
- NCHW转换成FRACTAL_Z
- NCHW转换成NHWC
- NHWC转换成FRACTAL_Z
- NHWC转换成HWCN
- NHWC转换成NCHW
- NDC1HWC0转换成NCDHW
准备自定义Format转换.py文件
为满足用户自定义Format转换,需要按以下要求准备:
- .py文件命名需满足规则:“convert_{format_from}_to_{format_to}.py”,其中,format _from和format _to支持的类型如下:
- NCHW
- NHWC
- ND
- NC1HWC0
- FRACTAL_Z
- NC1C0HWPAD
- NHWC1C0
- FSR_NCHW
- FRACTAL_DECONV
- C1HWNC0
- FRACTAL_DECONV_TRANSPOSE
- FRACTAL_DECONV_SP_STRIDE_TRANS
- NC1HWC0_C04
- FRACTAL_Z_C04
- CHWN
- DECONV_SP_STRIDE8_TRANS
- NC1KHKWHWC0
- BN_WEIGHT
- FILTER_HWCK
- HWCN
- LOOKUP_LOOKUPS
- LOOKUP_KEYS
- LOOKUP_VALUE
- LOOKUP_OUTPUT
- LOOKUP_HITS
- MD
- NDHWC
- C1HWNCoC0
- FRACTAL_NZ
- .py文件内容需满足以下规则:
def convert(shape_from, shape_to, array): return numpy_array
参数说明:
- shape_from:array数据的转换前的shape,一维数组。
- shape_to:array数据的转换后的shape,一维数组。(可选)。
- array:一维原始数据。
- 返回值:转换后的numpy数组。
- .py文件存放目录需满足: