dequantize_affine¶
- torchao.quantization.dequantize_affine(input: Tensor, block_size: Tuple[int, ...], scale: Tensor, zero_point: Optional[Tensor], input_dtype: dtype, quant_min: Optional[Union[int, float]] = None, quant_max: Optional[Union[int, float]] = None, zero_point_domain: ZeroPointDomain = ZeroPointDomain.INT, *, output_dtype: dtype = torch.float32) Tensor[原始碼]¶
- 引數:
input (torch.Tensor) – 量化後的 tensor,應與 dtype 引數的 dtype 匹配
block_size – (List[int]): 量化的粒度,表示共享相同量化引數 (qparam) 的 tensor 元素的大小,例如當大小與輸入 tensor 維度相同時,我們使用的是逐 tensor 量化
scale (Tensor) – 仿射量化的量化引數
zero_point (Tensor) – 仿射量化的量化引數
input_dtype (torch.dtype) – 輸入 tensor 請求的 dtype(例如 torch.uint8)
quant_min (可選[int]) – 輸入 tensor 的最小量化值
quant_max (可選[int]) – 輸入 tensor 的最大量化值
output_dtype (torch.dtype) – 輸出 tensor 的 dtype,預設為 fp32
zero_point_domain (ZeroPointDomain) – zero_point 所在的域,應為 integer 或 float;如果 zero_point 在 integer 域中,則在量化過程中將 zero_point 加到量化的整數值上;如果 zero_point 在 floating point 域中,則在量化過程中從浮點(未量化)值中減去 zero_point;預設為 ZeroPointDomain.INT
- 輸出
反量化後的 Tensor,使用請求的 dtype 或 fp32