整网比对
命令格式说明
Vector比对命令行格式如下:
python3.7.5 msaccucmp.pyc compare -m my_dump_path -g golden_dump_path [-f fusion_rule_file] [-q quant_fusion_rule_file] [-out output] [-c custom_script_path]
命令行参数说明如表5-4所示。
参数名 |
参数说明 |
---|---|
-m --my_dump_path |
必选。My Output模型的比对数据文件目录。 |
-g --golden_dump_path |
必选。Ground Truth模型的比对数据文件目录。 |
-f --fusion_rule_file |
可选。离线模型的全网层信息文件(通过使用ATC转换.om模型文件生成的json文件)。 |
-q --quant_fusion_rule_file |
可选。量化融合规则文件。 |
-out --output |
可选。比对数据结果存放路径,默认为当前路径。 |
-c --custom_script_path |
可选。用户自定义Format转换.py文件存放路径,需指定到“format_convert”目录的上一层目录。.py文件相关要求参见准备自定义Format转换.py文件。 |
请根据比对数据说明中准备的数据类型,正确选择-f或-q参数项。
比对步骤
Vector比对命令行方式操作步骤:
- 本节涉及的.json文件、目录等名称均为举例,请根据实际环境替换。其中,--out指定的结果存放路径,需确保HwHiAiUser用户具有读写权限。
- 本节以非量化昇腾AI处理器运行生成的dump数据与非量化Caffe模型npy数据比对为例进行介绍,下文中参数说明均以该示例介绍,请根据您的比对数据选择不同加以替换理解。
- 如果是两份基于相同模型、昇腾AI处理器运行生成的dump数据进行精度比对,需确保input个数、output个数、format、shape必须完全一致,否则无法比对;另外,此场景下命令行只需要带-m、-g、-out参数,不需要输入-f、-q参数。
- 以HwHiAiUser用户登录开发环境。
- 执行export命令设置环境变量并生成json文件。
设置环境变量:
export LD_LIBRARY_PATH=/home/HwHiAiUser/Ascend/ascend-toolkit/latest/atc/lib64:${LD_LIBRARY_PATH}
生成json文件:
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/atc/bin/atc --mode=1 --om=/home/HwHiAiUser/data/resnet50.om --json=/home/HwHiAiUser/data/resnet50.json
- 进入/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/tools/operator_cmp/compare目录。
- 执行Vector比对命令,样例命令如下:
python3.7.5 msaccucmp.pyc compare -m /home/HwHiAiUser/MyApp_mind/resnet50 -g /home/HwHiAiUser/Standard_caffe/resnet50 -f /home/HwHiAiUser/data/resnet50.json -out /home/HwHiAiUser/result
Vector比对结果result_*.csv文件内容如图5-4所示。参数解释如下:
- LeftOp:表示My Output模型的算子名。
- RightOp:表示Ground Truth模型的算子名。
- TensorIndex:表示My Output模型算子的input ID和output ID。
- CosineSimilarity:进行余弦相似度算法比对出来的结果,范围是[-1,1],比对的结果如果越接近1,表示两者的值越相近,越接近-1意味着两者的值越相反。
- MaxAbsoluteError:进行最大绝对误差算法比对出来的结果,值越接近于0,表明越相近,值越大,表明差距越大。
- AccumulatedRelativeError:进行累积相对误差算法比对出来的结果,值越接近于0,表明越相近,值越大,表明差距越大。
- RelativeEuclideanDistance:进行欧氏相对距离算法比对出来的结果,值越接近于0,表明越相近,值越大,表明差距越大。
- KullbackLeiblerDivergence:进行KLD散度算法比对出来的结果,取值范围是 0 到无穷大。KL 散度越小,真实分布与近似分布之间的匹配越好。
- StandardDeviation:进行标准差算法比对出来的结果,取值范围:0到无穷大。标准差越小,离散度越小,表明越接近平均值。该列显示My Output和Ground Truth两组数据的均值和标准差,第一组展示My Output模型dump数据的数值(均值;标准差),第二组展示Ground Truth模型dump数据的数值(均值;标准差)。
- 显示“*”,表示新增的算子、无对应的原始算子;“NaN”表示无比对结果。
- 余弦相似度和KLD散度比较结果为NaN,其他算法有比较数据,则表明左侧或右侧数据为0;KLD散度比较结果为inf,表明右侧数据有一个为0;比对结果为nan,表示dump数据有nan。