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

手工量化

本节详细介绍训练后量化支持的量化层,接口调用流程和调用示例。

训练后量化支持量化的层以及约束如下,量化示例请参见获取更多样例

表1 训练后量化支持的层以及约束

支持的层类型

约束

nn.Dense:全连接层

-

nn.Conv2d:卷积层

dilation为1、group为1、filter维度为4;或者dilation为1、group不为1,group=channel、filter维度为4。

接口调用流程

训练后量化接口调用流程如图1所示。

图1 训练后量化接口调用流程
蓝色部分为用户实现,灰色部分为用户调用AMCT提供的 API 实现,使用流程如下:
  1. 用户首先构造MindSpore的原始模型,然后使用create_quant_config生成量化配置文件。
  2. 根据MindSpore模型和量化配置文件,即可调用quantize_model接口对原始MindSpore模型进行修改,修改后的模型中包含了量化算法相关的算子,用户使用该模型借助下载的数据集和校准集,在MindSpore环境中进行inference,可以得到量化因子。校准集应该从训练集或者测试集中获取,保证数据分布和真实数据接近,用于产生量化因子,从而保证量化后模型的精度。
  3. 最后用户可以调用save_model接口保存量化后的.air格式的量化模型文件,该量化模型可以在昇腾AI处理器部署。
    部署模型的AscendQuant层将Float32的输入数据量化为INT8,作为卷积层的输入,权重也是使用INT8数据类型作为计算,在部署模型中的卷积层的计算是基于INT8,INT32数据类型的,输出为INT32数据类型经过AscendDequant层转换成Float32数据类型转输给下一个网络层。示意图如下:
    图2 可部署模型

调用示例

该场景下调用示例请参见快速入门

搜索结果
找到“0”个结果

当前产品无相关内容

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