LinearQAT
功能说明
构造Linear的QAT算子。
函数原型
直接构造接口:
amct_pytorch.nn.module.quantization.linear.LinearQAT(in_features, out_features, bias, device, dtype, config)
基于原生算子构造接口:
amct_pytorch.nn.module.quantization.linear.LinearQAT.from_float(mod, config)
参数说明
参数名 |
输入/输出 |
含义 |
使用限制 |
---|---|---|---|
in_features |
输入 |
输入特征数 |
数据类型:int 必填 |
out_features |
输入 |
输出特征数 |
数据类型:int 必填 |
bias |
输入 |
是否开启偏值项参与学习 |
数据类型:bool 默认值为True |
device |
输入 |
运行设备 |
默认值:None |
dtype |
输入 |
torch数值类型 |
torch数据类型, 仅支持torch.float32 |
config |
输入 |
量化配置,配置参考样例如下,量化配置参数的具体说明请参见量化配置参数说明。 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 } } |
数据类型:dict 默认值:None |
参数名 |
输入/输出 |
含义 |
使用限制 |
---|---|---|---|
mod |
输入 |
待量化的原生Linear算子 |
数据类型:torch.nn.Module |
config |
输入 |
量化配置。 配置参考样例如下,量化配置参数的具体说明请参见量化配置参数说明。 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 } } |
数据类型:dict 默认值:None |
返回值说明
生成一个Linear对应QAT算子,用于后续量化感知训练。
调用示例
直接构造:
1 2 3 4 | from amct_pytorch.nn.module.quantization.linear import LinearQAT LinearQAT(in_features=1, out_features=1, bias=True, device=None, dtype=None, config=None) |
基于原生算子构造:
1 2 3 4 5 6 | 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) |
父主题: 单算子模式