Tensor比对命令行格式如下:
python3 msaccucmp.py compare -m my_dump_path -g golden_dump_path [-f fusion_rule_file] [-cf close_fusion_rule_file] [-q quant_fusion_rule_file] [-out output] [-op op_name] [-o output_tensor] [-i input_tensor] [-c custom_script_path] [-v version] [-n topn] [--ignore_single_op_result] [-ml max_line] [-overflow_detection]
命令行参数说明如表1所示。
精度比对工具保存在Ascend-cann-toolkit安装目录/ascend-toolkit/latest/tools/operator_cmp/compare目录下。
参数名 |
参数说明 |
是否必选 |
---|---|---|
-m --my_dump_path |
基于昇腾AI处理器运行生成的数据文件所在目录,即为比对场景中My Output模型的比对数据文件目录。 由于dump数据文件是多个二进制文件,故须指定dump数据文件所在的父目录。如:/home/HwHiAiUser/MyApp_mind/resnet50,其中resnet50文件夹下直接保存dump数据文件。 |
是 |
-g --golden_dump_path |
基于GPU/CPU运行生成的原始网络数据文件所在目录,即为比对场景中Ground Truth模型的比对数据文件目录。 由于npy数据文件是多个npy文件,故须指定npy数据文件所在的父目录。如:/home/HwHiAiUser/Standard_caffe/resnet50 ,其中resnet50文件夹下直接保存npy数据文件。 训练场景下,仅支持TensorFlow为原始训练网络的单算子比对。 |
是 |
-f --fusion_rule_file |
全网层信息文件。 推理场景,通过使用ATC转换.om模型文件生成的json文件。 训练场景,通过使用ATC转换.txt图文件生成的json文件(.txt图文件为2查找的计算图文件)。 |
否 |
-cf --close_fusion_rule_file |
离线模型全网层信息文件(通过使用ATC转换.om模型文件生成的json文件,文件包含关闭算子融合功能情况下整网算子的映射关系)。 本参数详细使用指导请参见比对步骤(推理场景融合算子精度问题排查)。 仅推理场景支持本参数。 |
否 |
-q --quant_fusion_rule_file |
量化算子映射关系文件(昇腾模型压缩输出的的json文件)。 仅推理场景支持本参数。 |
否 |
-out --output |
比对数据结果存放路径,默认为当前路径。 |
否 |
-op --op_name |
单算子比对的算子名。输入待比对算子名,算子名获取方式有:
|
是 |
-o --output_tensor |
比对指定Index的output数据。 配置格式:-o Index,其中Index可以从整网比对结果文件中的TensorIndex字段的output取值获取,例如TensorIndex为trans_Cast_0:input:0,则Index为0。 当-o与-i均未配置时,默认比对output数据的Index为0的数据。 配置-op时有效,与-i参数互斥。 |
否 |
-i --input_tensor |
比对指定Index的input数据。 配置格式:-i Index,其中Index可以从整网比对结果文件中的TensorIndex字段的input取值获取,例如TensorIndex为trans_Cast_0:input:0,则Index为0。 配置-op时有效,与-o参数互斥。 |
否 |
-c --custom_script_path |
用户自定义Format转换.py文件存放路径,需指定到“format_convert”目录的上一层目录。.py文件相关要求参见准备自定义Format转换.py文件。 不建议调用与当前用户不一致的其它用户目录下的自定义脚本文件,避免提权风险。 |
否 |
-v --version |
dump文件类型。取值为:
默认值为2。 |
否 |
-n --topn |
仅展示绝对误差和相对误差的前n条数据,比对完成后打屏展示并生成csv结果文件,取值范围为[1,10000],默认值为20。配置-op时有效。 生成的csv结果文件名分别为:
|
否 |
--ignore_single_op_result |
csv结果文件中不生成单算子比对的完整比对数据,即不生成完整比对结果的csv文件。配置-op时有效。 不配置本参数时,生成完整比对结果。 |
否 |
-ml --max_line |
单算子比对时生成的单个csv文件所包含最大的文件条数,取值范围为[10000,1000000],默认值为1000000。 文件中单算子的比对结果数据条数较大时,配置本参数可以将csv文件拆分为多个文件。比如数据条数为100000条,配置本参数为10000,那么比对结果则输出10个csv文件。 配置-op时有效,但配置--ignore_single_op_result时,本参数不生效。 |
否 |
-overflow_detection |
单算子溢出检测。配置本参数进行单算子精度比对时可检测溢出算子,以打屏形式输出。 默认未配置本参数。 当算子的Tensor数据类型是fp16时,tensor中的任意一个数值的绝对值 >= 65504,认为算子溢出。 对于比对场景中的场景7,本参数不生效。 |
否 |
注:请根据比对场景中准备的数据类型,正确选择-f或-q参数项。 |