LinearQAT
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | √ |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
功能说明
构造Linear的QAT算子。
函数原型
-
直接构造接口:
qat = amct_pytorch.nn.module.quantization.linear.LinearQAT(in_features, out_features, bias, device, dtype, config) -
基于原生算子构造接口:
qat = amct_pytorch.nn.module.quantization.linear.LinearQAT.from_float(mod, config)
参数说明
表 1 直接构造接口参数说明
含义:量化配置,配置参考样例如下,量化配置参数的具体说明请参见量化配置参数说明。 config = { "retrain_enable":true, "retrain_data_config": { "dst_type": "INT8", "batch_num": 10, "fixed_min": False, "clip_min": -1.0, "clip_max": 1.0 }, "retrain_weight_config": { "dst_type": "INT8", "weights_retrain_algo": "arq_retrain", "channel_wise": False } } |
表 2 基于原生算子构造接口
含义:量化配置。配置参考样例如下,量化配置参数的具体说明请参见量化配置参数说明。 config = { "retrain_enable":true, "retrain_data_config": { "dst_type": "INT8", "batch_num": 10, "fixed_min": False, "clip_min": -1.0, "clip_max": 1.0 }, "retrain_weight_config": { "dst_type": "INT8", "weights_retrain_algo": "arq_retrain", "channel_wise": False } } |
返回值说明
- 直接构造:返回构造的QAT单算子实例。
- 基于原生算子构造:torch.nn.Module转化后的QAT单算子。
调用示例
-
直接构造:
from amct_pytorch.nn.module.quantization.linear import LinearQAT LinearQAT(in_features=1, out_features=1, bias=True, device=None, dtype=None, config=None) -
基于原生算子构造:
import torch from amct_pytorch.nn.module.quantization.linear import LinearQAT linear_op = torch.nn.Linear(in_features=1, out_features=1, bias=True, device=None, dtype=None) LinearQAT.from_float(mod=linear_op, config=None)