比对步骤

说明

操作步骤

本节以非量化昇腾AI处理器运行生成的dump数据与非量化Caffe模型npy数据比对为例进行介绍,下文中参数说明均以该示例介绍,请根据您的实际情况进行替换。

  1. 以HwHiAiUser用户登录开发环境。
  2. 生成json文件。

    Ascend-cann-toolkit安装目录/ascend-toolkit/latest/bin/atc --mode=1 --om=/home/HwHiAiUser/data/resnet50.om --json=/home/HwHiAiUser/data/resnet50.json

  3. 进入/home/HwHiAiUser/Ascend/ascend-toolkit/latest/tools/operator_cmp/compare目录。
  4. 执行Tensor比对命令。

    由于dump和npy比对数据文件是由多个文件组成,故下文操作步骤中-m-g参数须指定数据文件所在的父目录。如:/home/HwHiAiUser/MyApp_mind/resnet50,其中resnet50文件夹下直接保存比对数据文件。

    目录结构示例如下:

    root@xxx:/home/HwHiAiUser/MyApp_mind/resnet50# tree
    .
    ├── BatchMatMul.bert_encoder_layer_0_attention_self_MatMul_1.24.1614717261785536
    ├── BatchMatMul.bert_encoder_layer_0_attention_self_MatMul.21.1614717261768864
    ├── BatchMatMul.bert_encoder_layer_10_attention_self_MatMul_1.235.1614717263664916
    #仅为示例,此处省略剩余文件名。

    • 单算子比对标准比对样例:

      python3 msaccucmp.py compare -m /home/HwHiAiUser/MyApp_mind/resnet50 -g /home/HwHiAiUser/Standard_caffe/resnet50 -f /home/HwHiAiUser/data/resnet50.json -out /home/HwHiAiUser/result -op pool5 -i 0

      Tensor比对结果文件内容如图1图2所示。
      图1 单算子比对概要结果
      单算子比对概要结果存放在“{op_name}_input_{index}_summary.txt”“{op_name}_output_{index}_summary.txt”文件中,各参数说明如下:
      表1 单算子比对概要结果的参数说明

      参数

      说明

      TotalCount

      该算子的dump数据的data个数。

      NPUDump

      表示My Output模型算子名。

      GroundTruth

      表示Ground Truth模型的算子名。

      Format

      数据格式。

      MinAbsoluteError

      绝对误差的最小值。

      MaxAbsoluteError

      绝对误差的最大值。

      MinRelativeError

      相对误差的最小值。

      MaxRelativeError

      相对误差的最大值。

      图2 单算子完整比对结果

      单算子比对完整结果存放在“{op_name}_input_{index}_{file_index}.csv”“{op_name}_output_{index}_{file_index}.csv”文件中,每个文件最多记录100万条数据。配置--ignore_single_op_result参数时不生成此结果。比对结果各列参数说明如表2

      表2 单算子完整比对结果参数说明

      参数

      说明

      N C H W

      数据的坐标点。

      NPUDump

      My Output模型的算子dump值。

      GroundTruth

      Ground Truth模型的算子dump值。

      RelativeError

      相对误差,AbsoluteError值除以Ground Truth模型算子的dump值比对出来的结果。当Ground Truth算子的dump值为0时,该处显示为“-”

      AbsoluteError

      绝对误差,My Output模型算子的dump值减Ground Truth模型算子的dump值取绝对值比对出来的结果。

    • 单算子比对仅比对算子的前n条数据样例:

      python3 msaccucmp.py compare -m /home/HwHiAiUser/MyApp_mind/resnet50 -g /home/HwHiAiUser/Standard_caffe/resnet50 -f /home/HwHiAiUser/data/resnet50.json -out /home/HwHiAiUser/result -op pool1 -o 0 -n 20

      比对完成后的打屏展示结果如图3所示。

      图3 前20条数据比对结果

      前20条数据比对csv结果文件内容如图4图5所示。

      图4 绝对误差
      图5 相对误差