torch_quantizer
类用于创建量化器对象:
class torch_quantizer():
def __init__(self,
quant_mode: str, # ['calib', 'test']
module: torch.nn.Module,
input_args: Union[torch.Tensor, Sequence[Any]] = None,
state_dict_file: Optional[str] = None,
output_dir: str = "quantize_result",
bitwidth: int = 8,
device: torch.device = torch.device("cuda"),
quant_config_file: Optional[str] = None,
target: Optional[str]=None):
实参
- Quant_mode
- 这是 1 个整数,表示此进程将使用的量化模式。calib 值用于校准量化,而 test 值则用于评估量化模型。
- Module
- 要量化的浮点模块。
- Input_args
- 此输入张量的形状与要量化的浮点模块的实际输入相同,但可取随机数值。
- State_dict_file
- 用于对参数文件进行预训练的浮点模块。如果浮点模块已读入参数,则无需设置该参数。
- Output_dir
- 量化结果和中间文件的目录。默认值为 quantize_result。
- Bitwidth
- 全局量化位宽。默认值为 8。
- Device
- 在 GPU 或 CPU 上运行模型。
- Quant_config_file
- 包含量化策略配置的 JSON 文件的位置。
- Target
- 如果指定了目标器件,则会开启硬件感知量化。默认值为 None。