简介
自有实现的算子在昇腾AI处理器上的运算结果与业界标杆算子的运算结果可能存在差异:
- ATC在模型转换过程中对模型进行了优化,包括算子消除、算子融合、算子拆分,这些动作可能会造成自有实现的算子运算结果与业界标杆算子运算结果存在差异。
- 用户原始网络模型可以迁移到昇腾训练环境上执行训练,网络模型迁移可能会造成自有实现的算子运算结果与用业界标杆算子运算结果存在差异。
- 对于进行ATC转换后的离线模型,由于CANN软件版本迭代、模型版本迭代、模型优化、硬件升级或ATC转换前开启或关闭了算子融合功能,需要判断升级或优化后的离线模型是否存在精度下降问题。
为了帮助开发人员快速解决算子精度问题,需要提供自有实现的算子运算结果与业界标杆算子运算结果之间差异比对的工具。
精度比对工具选择
当前支持的精度比对工具如下:
- PyTorch精度比对工具:用于PyTorch训练场景的精度比对,包含数据dump、精度比对、比对结果分析以及溢出检测等功能。详情请参见《PyTorch模型迁移和训练指南》。
- 一键式精度比对工具:一般情况下推荐使用该工具,仅支持推理场景,请参见《msit debug compare功能使用指南》。
- msaccucmp.py脚本精度比对工具:用于对包括Caffe、ONNX和TensorFlow框架模型的ATC模型转换前后的比对、TensorFlow训练场景的比对、离线模型不同版本之间的比对等;另外该工具还支持精度比对结果的专家建议输出、npy与npy文件之间的精度比对以及单算子比对等功能。
- MindStudio精度比对工具:msaccucmp.py脚本精度比对工具的界面可视化版本。详情请参见《MindStudio 用户指南》。
本文档主要介绍msaccucmp.py脚本精度比对工具。
父主题: 精度比对工具