base_qtensor

实数量化张量的基类。

BaseQuantizedTensor

量化张量的基类,提供量化和反量化的方法。

QTensorWrapper

一个用于量化张量的包装类,使其与torch.nn.Parameter兼容。

函数

pack_real_quantize_weight

将实数量化张量打包为压缩格式,并设置适当的load_state_dict函数。

class BaseQuantizedTensor

基础类:object

量化张量的基类,提供量化和反量化的方法。

这个类应该被子类化以实现特定类型的量化张量。它处理量化数据的存储以及必要的配置和原始属性。

original_meta_tensor

原始元数据以保留原始张量的属性。

Type:

torch.Tensor

quantized_data

用于存储量化张量数据的存储。Quantized_data 的数据类型根据 QuantizedTensor 的实现进行自定义。

Type:

torch.Tensor

__init__(original_shape, original_dtype, quantized_data)

初始化数据属性。

Parameters:
  • original_shape (Size) –

  • original_dtype (dtype) –

  • quantized_data (张量) –

dequantize(dtype=None, **kwarg)

将量化张量转换回标准的 torch.Tensor。

Returns:

去量化的张量。

Return type:

torch.Tensor

classmethod quantize(input, block_size)

将一个假的 torch.Tensor 打包成一个真正的量化张量。

Parameters:
  • fake_quant_tensor (torch.Tensor) – 伪量化张量。

  • 输入 (张量) –

  • block_size (int) –

Returns:

一个真实的量化张量,比例。

class QTensorWrapper

基础类: Parameter

一个用于量化张量的包装类,使其与torch.nn.Parameter兼容。

Parameters:

qtensor (BaseQuantizedTensor) – 要包装的量化张量。

static __new__(cls, qtensor)

创建一个新的 QTensorWrapper 实例。

Parameters:

qtensor (BaseQuantizedTensor) –

dim()

返回 meta_tensor 的维度数量。

get_qtensor()

从QTensorWrapper获取量化张量类。

to(*args, **kwargs)

重写 to 方法以将真实的量化张量移动到指定的设备。

pack_real_quantize_weight(module, force_quantize=False)

将实数量化张量打包为压缩格式,并设置适当的load_state_dict函数。

Parameters:

force_quantize (bool) –