基础量化
训练后量化支持量化的层以及约束如下,量化示例请参见获取更多样例>ResNet50。
支持的层类型 |
约束 |
---|---|
nn.Dense:全连接层 |
- |
nn.Conv2d:卷积层 |
dilation为1、group为1、filter维度为4;或者dilation为1、group不为1,group=channel、filter维度为4。 |
接口调用流程
训练后量化接口调用流程如图1所示。
蓝色部分为用户实现,灰色部分为用户调用AMCT提供的 API 实现,使用流程如下:
- 用户首先构造MindSpore的原始模型,然后使用create_quant_config生成量化配置文件。
- 根据MindSpore模型和量化配置文件,即可调用quantize_model接口对原始MindSpore模型进行修改,修改后的模型中包含了量化算法相关的算子,用户使用该模型借助下载的数据集和校准集,在MindSpore环境中进行inference,可以得到量化因子。校准集应该从训练集或者测试集中获取,保证数据分布和真实数据接近,用于产生量化因子,从而保证量化后模型的精度。
- 最后用户可以调用save_model接口保存量化后的.air格式的量化模型文件,该量化模型可以在昇腾AI处理器部署。
调用示例
该场景下调用示例请参见快速入门。
父主题: 训练后量化