當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python PyTorch quantize_per_tensor用法及代碼示例

本文簡要介紹python語言中 torch.quantize_per_tensor 的用法。

用法:

torch.quantize_per_tensor(input, scale, zero_point, dtype) → Tensor

參數

  • input(Tensor) -浮點張量或要量化的張量列表

  • scale(float或者Tensor) -在量化公式中應用的比例

  • zero_point(int或者Tensor) -映射到浮點零的整數值中的偏移量

  • dtype(torch.dtype) -返回張量的所需數據類型。必須是量化數據類型之一:torch.quint8torch.qint8torch.qint32

返回

新量化的張量或量化張量的列表。

返回類型

Tensor

將浮點張量轉換為具有給定比例和零點的量化張量。

例子:

>>> torch.quantize_per_tensor(torch.tensor([-1.0, 0.0, 1.0, 2.0]), 0.1, 10, torch.quint8)
tensor([-1.,  0.,  1.,  2.], size=(4,), dtype=torch.quint8,
       quantization_scheme=torch.per_tensor_affine, scale=0.1, zero_point=10)
>>> torch.quantize_per_tensor(torch.tensor([-1.0, 0.0, 1.0, 2.0]), 0.1, 10, torch.quint8).int_repr()
tensor([ 0, 10, 20, 30], dtype=torch.uint8)
>>> torch.quantize_per_tensor([torch.tensor([-1.0, 0.0]), torch.tensor([-2.0, 2.0])],
>>> torch.tensor([0.1, 0.2]), torch.tensor([10, 20]), torch.quint8)
(tensor([-1.,  0.], size=(2,), dtype=torch.quint8,
    quantization_scheme=torch.per_tensor_affine, scale=0.1, zero_point=10),
    tensor([-2.,  2.], size=(2,), dtype=torch.quint8,
    quantization_scheme=torch.per_tensor_affine, scale=0.2, zero_point=20))
>>> torch.quantize_per_tensor(torch.tensor([-1.0, 0.0, 1.0, 2.0]), torch.tensor(0.1), torch.tensor(10), torch.quint8)
tensor([-1.,  0.,  1.,  2.], size=(4,), dtype=torch.quint8,
   quantization_scheme=torch.per_tensor_affine, scale=0.10, zero_point=10)

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.quantize_per_tensor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。