功能与约束
简介
ATC在模型转换过程中对模型进行了优化,包括算子消除、算子融合、算子拆分,可能会造成自有实现的算子运算结果与用业界标准算子(如Caffe、TensorFlow)运算结果存在偏差,此时需要提供工具比对两者之间的差距,帮助开发人员快速解决算子精度问题。
精度比对工具提供比对华为自有模型算子的运算结果与Caffe、TensorFlow标准算子的运算结果,以便确认误差发生的算子,目前提供以下比对方法:
Vector比对,包含余弦相似度、最大绝对误差、累积相对误差、欧氏相对距离、KLD散度、标准差的算法比对。
功能
当前版本,精度比对支持通过昇腾AI处理器运行生成的dump数据与Ground Truth(基于GPU/CPU运行生成的npy数据)进行比对,同时还支持量化、非量化的数据比对,具体范围如表5-1。
序号 |
待比对数据 (My Output) |
标准数据 (Ground Truth) |
---|---|---|
1 |
非量化离线模型在昇腾AI处理器上运行生成的dump数据 |
非量化原始模型的npy文件(Caffe) |
2 |
量化离线模型在昇腾AI处理器上运行生成的dump数据 |
非量化原始模型的npy文件(Caffe) |
3 |
量化原始模型的npy文件(Caffe) |
非量化原始模型的npy文件(Caffe) |
4 |
量化离线模型在昇腾AI处理器上运行生成的dump数据 |
量化原始模型的npy文件(Caffe) |
5 |
非量化离线模型在昇腾AI处理器上运行生成的dump数据 |
非量化原始模型的npy文件(TensorFlow) |
6 |
通过昇腾AI处理器运行生成的dump数据 |
通过昇腾AI处理器运行生成的dump数据 |
约束
- 使用精度比对工具前,请参考《CANN 软件安装指南》手册完成开发环境搭建。本文以HwHiAiUser普通用户安装,且默认安装路径/home/HwHiAiUser/Ascend/ascend-toolkit/latest为例,介绍精度比对的操作方法,请实际操作时根据您自己的环境进行替换。本文中举例路径均需要确保HwHiAiUser具有读或读写权限。
- 本文多处举例或说明提到运行环境,请根据实际情况替换。
- 使用精度比对工具,请确保硬件环境满足要求:CPU 8核 2.6Ghz,内存16GB,否则有可能会造成比对缓慢。
- 单算子网络不支持精度比对。
- 精度比对工具需要配套python3.7.5版本使用。
- 精度比对支持的dump数据的类型:
- FLOAT
- FLOAT16
- DT_INT8
- DT_UINT8
- DT_INT16
- DT_UINT16
- DT_INT32
- DT_INT64
- DT_UINT32
- DT_UINT64
- DT_BOOL
- DT_DOUBLE