下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

非均匀量化

非均匀量化是在均匀量化的基础上,挑选部分量化台阶作为量化后的值,如均匀量化到8比特后,使用共256个([-128, 127]之间的整数)台阶数值,可挑选其中的32个数值来表示量化后的值。

模型在昇腾AI处理器上推理时,可通过非均匀量化提高权重压缩率(需要与ATC工具配合,编译时使能权重压缩),降低权重传输开销,进一步提升推理性能。

非均匀量化后,如果精度仿真模型在原始TensorFlow环境中推理精度不满足要求,可通过调整非均匀量化配置文件config.json中的参数来恢复模型精度,调整方法请参见手动调优。量化示例请参见获取更多样例>resnet_v1_50。

非均匀量化支持量化的层以及约束如下:

表1 非均匀量化支持的层以及约束

支持的层类型

约束

备注

MatMul

transpose属性为false

weight的输入来源不含有placeholder等可动态变化的节点,且weight的节点类型只能是const。

Conv2D

-

weight的输入来源不含有placeholder等可动态变化的节点,且weight的节点类型只能是const。

实现流程

非均匀量化实现原理同均匀量化,简要流程如图1所示。

图1 非均匀量化流程图

详细流程说明如下:

  1. 参见均匀量化章节获取均匀量化的部署模型和精度仿真模型。
  2. 参见ATC工具使用指南1中生成的部署模型转换成json文件,该json文件记录了量化后模型的融合信息,同时也携带了支持weight压缩特性层的信息(通过fe_weight_compress字段识别)。
  3. 如果要进行weight压缩,则参见训练后量化简易配置文件说明章节获取非均匀量化简易配置文件,然后获取2生成的量化后模型的融合json文件进行非均匀量化。

    非均匀量化过程中,会根据融合json文件,获取原始模型中哪些层支持weight压缩,然后重新生成非均匀量化的部署模型和量化配置文件。

  4. 查看非均匀量化后,精度仿真模型在原始TensorFlow环境中推理精度是否满足要求,如果不满足要求,则需要手动调整非均匀量化配置文件config.json中的参数,然后重新进行非均匀量化,直至满足精度要求。调整方法请参见手动调优
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词