量化模块

量化模块的基类。

QuantInputBase

输入被量化的模块的基类。

QuantLinearConvBase

量化线性模块的基类。

class QuantInputBase

基础:DynamicModule

输入被量化的模块的基类。

default_quant_desc_input = QuantizerAttributeConfig(enable=True, num_bits=8, axis=None, fake_quant=True, unsigned=False, narrow_range=False, learn_amax=False, type='static', block_sizes=None, trt_high_precision_dtype='Float', calibrator='max')
default_quant_desc_output = QuantizerAttributeConfig(enable=True, num_bits=8, axis=None, fake_quant=True, unsigned=False, narrow_range=False, learn_amax=False, type='static', block_sizes=None, trt_high_precision_dtype='Float', calibrator='max')
forward(input, *args, **kwargs)

在调用原始的前向方法之前对输入进行量化。

input_quantizer: TensorQuantizer | SequentialQuantizer
output_quantizer: TensorQuantizer | SequentialQuantizer
class QuantLinearConvBase

基础类: QuantInputBase

量化线性模块的基类。

量化线性模块是指输入和权重都被量化的模块。

default_quant_desc_weight = QuantizerAttributeConfig(enable=True, num_bits=8, axis=None, fake_quant=True, unsigned=False, narrow_range=False, learn_amax=False, type='static', block_sizes=None, trt_high_precision_dtype='Float', calibrator='max')
forward(input, *args, **kwargs)

在调用原始的前向方法之前,对输入和权重进行量化。

static initialize_quantizer_with_dummy_states(module)

使用正确类型和设备的虚拟值初始化量化器状态。

static initialize_real_qtensor_with_dummy_weight(module)

初始化真实的量化张量。

quantize_weight()

self.weight被量化的上下文中。

static sanitize_dummy_weight(module)

用1替换虚拟张量中的nan值。

weight_quantizer: TensorQuantizer | SequentialQuantizer