单算子比对
命令格式说明
执行比对命令前,赋予HwHiAiUser用户拥有比对结果存储目录的读写权限。
Vector比对命令行格式如下:
python3 compare_vector.py -l LEFT_DUMP_PATH -r RIGHT_DUMP_PATH -f FUSION_JSON_FILE_PATH -o OUTPUT_PATH -d OP_NAME [-t DETAIL_TYPE] [-i OUTPUT_INDEX] [-custom CUSTOM_PATH]
参数说明如下:
- -l:基于昇腾AI处理器运行生成的dump数据文件所在目录,目录下dump文件命名格式需符合要求: op_type.op_name.taskid.timestamp,其中op_type、op_name对应的名称需满足“A-Za-z0-9_-”正则表达式规则,timestamp为16位时间戳,taskid为0~9数字组成。
- -r:基于GPU/CPU运行生成的TensorFlow原始网络npy或dump数据文件所在目录,目录下文件命名需符合要求:
- dump数据文件命名规则:op_name.output_index.timestamp.pb,其中op_name对应的名称需满足“A-Za-z0-9_-”正则表达式规则,timestamp为16位时间戳,output_index为0~9数字组成。
- npy数据文件命名规则:op_name.output_index.timestamp.npy,其中op_name字段需满足“A-Za-z0-9_-”正则表达式规则,timestamp为16位时间戳,output_index为0~9数字组成。
- -f:全网层信息文件(通过使用ATC转换.txt图文件生成的json文件)。
- -o:比对数据结果待存储目录。
- -d:待比对的单算子层名。
- -t:dump数据的输入输出类型,取值input或output,默认取output。可选。
- -i:该算子的input或output的index。可选。
- -custom:用户自定义Format转换.py文件存放路径,需指定到“format_convert”目录的上一层目录。可选。.py文件相关要求参见准备自定义Format转换.py文件。
比对步骤
Vector比对命令行方式操作步骤:

本节中.json文件、目录等名称均为举例,请根据实际环境替换;其中result路径需提前创建,并确保执行命令的用户具有读写权限。
- 以HwHiAiUser用户登录操作系统。
- 执行export命令设置环境变量并生成json文件。
设置环境变量:
export LD_LIBRARY_PATH=/home/HwHiAiUser/Ascend/ascend-toolkit/latest/lib64:${LD_LIBRARY_PATH}
模型文件转json:
/ascend-toolkit/latest/bin/atc --mode=5 --om=ge_proto_00005_Build.txt --json=ge_proto_00005_Build.txt.json
该命令行中ge_proto_00005_Build.txt文件名为举例,实际执行时,需要根据实际图文件名替换。
一般情况下,*_Build.txt文件有多个,选取计算图文件方法:以ge_proto_*****_Build.txt为例,分别打开并查看这些文件,如果包含name字段为IteratorV2或Iterator或GetNext的算子,则为计算图。
- 进入/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/tools/operator_cmp/compare目录。
- 执行Vector比对命令,样例命令如下:
python3 compare_vector.py -l /home/HwHiAiUser/MyApp_mind/resnet50 -r /home/HwHiAiUser/Standard_tf/resnet50 -f /home/HwHiAiUser/data/ge_proto_00005_Build.txt.json -o /home/HwHiAiUser/result -d gradients/AddN_63 -i 0
- Vector比对结果文件内容如图1和图2所示。
单算子比对概要结果存放在“{op_name}_input_{index}_summary.txt”或“{op_name}_output_{index}_summary.txt”文件中,各参数说明如下:
- TotalCount:该算子的dump数据的data个数。
- LeftOp:表示基于昇腾AI处理器运行生成的dump数据的算子名。
- RightOp:表示基于GPU/CPU运行生成的npy或dump数据的算子名。
- Format:数据格式。
- MinAbsoluteError & MaxAbsoluteError:绝对误差的最小和最大值范围。
- MinRelativeError & MaxRelativeError:相对误差的最小和最大值范围。
单算子比对详细结果存放在“{op_name}_input_{index}_{file_index}.csv”或“{op_name}_output_{index}_{file_index}.csv”文件中,每个文件最多记录100万条数据。图2中各列参数说明如下:
- N,C,H,W:数据的坐标点。
- Left:该列为基于昇腾AI处理器运行生成的算子dump值。
- Right :该列为基于GPU/CPU运行生成的算子dump值。
- RelativeError:相对误差,AbsoluteError值除以Right列算子的dump值比对出来的结果。当Right列算子的dump值为0时,该处显示为“-”。
- AbsoluteError:绝对误差,Left列算子的dump值减Right列算子的dump值取绝对值比对出来的结果。