通过脚本工具方式分析比对结果

脚本工具介绍

专家系统提供“mscmp_advisor.py”脚本工具。功能及安装路径如下:

表1 脚本工具介绍

脚本名

功能

路径

“mscmp_advisor.py”

对Tensor比对结果进行专家系统分析,并输出优化建议。

Ascend-cann-toolkit安装目录/ascend-toolkit/latest/tools/operator_cmp/compare

命令格式说明

“mscmp_advisor.py”脚本是直接用比对结果.csv文件进行分析,所以在进行该操作前需要先完成精度比对获取.csv文件。

命令行格式如下:

python3 mscmp_advisor.py -i input_file [-input_nodes node_name] [-o out_path]

表2 整网比对命令行参数说明

参数名

参数说明

是否必选

-i

--input_file

指定比对结果.csv文件。例如:/home/HwHiAiUser/result/result_*.csv

本参数最大支持.csv文件的大小为100M。

-input_nodes

指定网络模型的输入节点。多个节点用英文分号(;)隔开。例如:"node_name1;node_name2;node_name3"

若不配置,则不进行输入检测。

-o

--out_path

分析结果输出路径。结果文件命名为advisor_summary.txt。

若不配置,不落盘结果文件。

操作步骤

  1. 登录CANN工具安装环境。
  2. 生成json文件。

    /home/HwHiAiUser/Ascend/ascend-toolkit/latest/bin/atc --mode=1 --om=/home/HwHiAiUser/data/resnet50.om --json=/home/HwHiAiUser/data/resnet50.json

  3. 配置环境变量。

    export PYTHONPATH=/home/HwHiAiUser/Ascend/ascend-toolkit/latest/tools/operator_cmp/compare:$PYTHONPATH

  4. 执行精度比对命令。

    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 -overflow_detection

    此处需要配置-overflow_detection参数识别溢出算子。执行比对后输出比对结果文件result_*.csv。

  5. 执行专家系统分析。

    python3 mscmp_advisor.py -i /home/HwHiAiUser/result/result_*.csv -input_nodes "node_name1;node_name2;node_name3" -o /home/HwHiAiUser/result

  6. 执行命令后进行专家系统分析并直接打屏输出结果。输出结果详细介绍请参见输出结果和优化建议