量化模块
量化模块的基类。
类
输入被量化的模块的基类。 |
|
量化线性模块的基类。 |
- class QuantInputBase
-
输入被量化的模块的基类。
- 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