choose_qparams_affine¶
- torchao.quantization.choose_qparams_affine(input: Tensor, mapping_type: MappingType, block_size: Tuple[int], target_dtype: dtype, quant_min: Optional[Union[int, float]] = None, quant_max: Optional[Union[int, float]] = None, eps: Optional[float] = None, scale_dtype: Optional[dtype] = None, zero_point_dtype: Optional[dtype] = torch.int32) Tuple[Tensor, Tensor] [源代码]¶
- 参数:
input (torch.Tensor) – fp32, bf16, fp16 输入张量
mapping_type (MappingType) – 确定 qparams 如何计算,对称或非对称
block_size – (Tuple[int]): 量化的粒度,这表示共享相同 qparam 的张量元素的数量,例如,当大小与输入张量维度相同时,我们使用每张量量化
target_dtype (torch.dtype) – 目标量化张量的 dtype
quant_min (Optional[int]) – 目标量化张量的最小量化值
quant_max (Optioanl[int]) – 目标量化张量的最大量化值
eps (Optional[float]) – 最小比例,如果未提供,则默认为 input.dtype 的 eps
scale_dtype (torch.dtype) – scale 张量的 dtype
zero_point_dtype (torch.dtype) – zero_point 张量的 dtype,默认为 torch.int32
params (已移除) – zero_point_domain (ZeroPointDomain): zero_point 所在的域,默认为 Integer 或 None preserve_zero (bool): 是否在量化张量中保留零,默认为 True
- 输出
具有请求 dtype 的 scales 和 zero_points 张量元组