torch.quantize_per_tensor
-
torch.quantize_per_tensor(input, scale, zero_point, dtype) → Tensor -
Преобразует тензор с плавающей точкой в квантованный тензор с заданным масштабом и нулевым значением.
- Параметры
-
- input (Тензор) – тензор с плавающей точкой или список тензоров для квантования
- scale (float или Тензор) – масштаб, применяемый в формуле квантования
- zero_point (int или Тензор) – смещение в целых значениях, которое сопоставляется с плавающей точкой нуля
-
dtype (
torch.dtype) – желаемый тип данных возвращаемого тензора. Должен быть одним из квантованных типов:torch.quint8,torch.qint8,torch.qint32
- Возвращает
-
Новый квантованный тензор или список квантованных тензоров.
- Тип возвращаемого значения
Пример:
>>> 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)
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.quantize_per_tensor.html