查看dump数据文件

dump文件无法通过文本工具直接查看其内容,为了查看dump文件内容,本文提供以下脚本将dump文件转换为numpy格式文件后,再通过numpy官方提供的能力转为txt文档进行查看:

  1. 使用安装用户登录开发环境。
  2. 进入/home/HwHiAiUser/Ascend/ascend-toolkit/latest/tools/operator_cmp/compare目录。
  3. 执行msaccucmp.py脚本,转换dump文件为numpy文件。举例:

    python3 msaccucmp.py convert -d dump_file [-out output] [-f format -s shape] [-o output_tensor] [-i input_tensor] [-v version] [-t type]
    表1 Format转换参数项说明

    参数名

    描述

    是否必选

    -d

    --dump_file

    昇腾AI处理器AI处理器NPU IP加速器生成的dump文件。

    支持指定单个文件;单个路径;同时指定多个文件,文件名用逗号隔开,例如-d /{PATH}/dump_file1,/{PATH}/dump_file2。

    -out

    --output

    转换后的数据存放目录,默认为当前路径。

    -f

    --format

    • 命令行包含-f参数,表示进行format转换,指定转换后数据format。如果dump文件包含original_shape字段,则会根据original_shape对数据进行切片。
    • 命令行不包含-f参数,表示进行dump文件解析。

    -s

    --shape

    format转换需要的shape,当前仅FRACTAL_NZ转换需要配置该参数,格式为([0-9]+,)+[0-9]+,每个数字必须大于0。配置-f时有效。

    -o

    --output_tensor

    转换指定index的output数据,与-i互斥。配置-f时有效。

    当-o与-i均未配置时,默认转换所有的input与output。

    -i

    --input_tensor

    转换指定index的input数据,与-o互斥。配置-f时有效。

    -v

    --version

    dump文件类型,1代表protobuf序列化后的数据文件,2代表自定义格式的数据文件。默认值为2。

    -t

    --type

    输出文件的类型。取值为:

    • npy:输出文件保存为numpy格式。
    • msnpy:输出文件保存为numpy格式,一般用于MindSpore场景。
    • bin:输出文件保存为binary格式。

    默认值为npy。

  4. 调用Python,转换numpy文件为txt文件。

    $ python3
    
    >>> import numpy as np
    >>> a = np.load("/home/HwHiAiUser/dumptonumpy/Pooling.pool1.1147.1589195081588018.output.0.npy")
    >>> b = a.flatten()
    >>> np.savetxt("/home/HwHiAiUser/dumptonumpy/Pooling.pool1.1147.1589195081588018.output.0.txt", b)

    转换为.txt格式文件后,维度信息、Dtype均不存在。详细的使用方法请参考numpy官网介绍。