说明与约束
说明
- 原命令行比对方式将保持原有功能,不继续演进,推荐使用新的比对方式进行精度比对。
- 原命令行比对方式只支持protobuf序列化后的dump文件,不支持自定义格式的dump文件。
- Tensor命令行方式比对提供按整网比对和按单算子比对两种,请根据比对场景选择比对方式。
约束
- 需要确保离线模型的dump文件与Caffe、TensorFlow模型的npy或dump文件为相同模型的数据。如果不是相同模型的数据,但模型中有相同的算子名称,也可以进行比较,但结果数据只显示匹配到的相同算子的比对结果。
- 针对FastRCNN网络场景,ProposalD算子及之后的算子,算子精度不达标属于正常情况,最终结果以FSRDetectionOutput算子的比对结果精度为准。
- 如果在图编译过程中,原图的算子发生了融合,导致算子的output在编译后的模型中找不到对应的output时,该算子无法进行比对。
- 如果在图编译阶段对图做了结构性修改(如stride切分、L1 fusion、L2 fusion)的场景,会造成算子的input或output无法比对。
- 如果比对数据两边相同算子有dump数据,但算子的shape不一致(离线模型算子shape变小)或format不支持转换,该算子无法进行比对。
- 当模型转换对输入数据做了额外的预处理,造成原始模型的输入与离线模型的data算子输入格式不同时(比如AIPP场景下data输入为YUV),data算子比对结果异常、不具备参考意义。
- 如果没有关闭对应的融合规则,会使得量化算子与之前的算子进行融合,导致该算子的output的比对结果不可信。
- 量化模型里做了量化处理的算子无法比对,必须是反量化的输出才能比对,量化模型里未做量化处理的算子不受影响。例如,量化模型里AscendQuant算子的output无法比对。
父主题: Tensor比对