torch.quantize_per_channel
-
torch.quantize_per_channel(input, scales, zero_points, axis, dtype) → Tensor -
Преобразует тензор с плавающей запятой в квантованный тензор с заданными масштабами и нулевыми точками по каналам.
- Параметры
-
- input (Тензор) – тензор с плавающей запятой для квантования
-
scales (Тензор) – одномерный тензор с масштабами, размер должен соответствовать
input.size(axis) -
zero_points (целое) – одномерный целочисленный тензор смещения, размер должен соответствовать
input.size(axis) - axis (целое) – размерность, по которой применять квантование по каналам
-
dtype (
torch.dtype) – желаемый тип данных возвращаемого тензора. Должен быть одним из квантованных типов данных:torch.quint8,torch.qint8,torch.qint32
- Возвращает
-
Новый квантованный тензор
- Тип возвращаемого значения
Пример:
>>> x = torch.tensor([[-1.0, 0.0], [1.0, 2.0]]) >>> torch.quantize_per_channel(x, torch.tensor([0.1, 0.01]), torch.tensor([10, 0]), 0, torch.quint8) tensor([[-1., 0.], [ 1., 2.]], size=(2, 2), dtype=torch.quint8, quantization_scheme=torch.per_channel_affine, scale=tensor([0.1000, 0.0100], dtype=torch.float64), zero_point=tensor([10, 0]), axis=0) >>> torch.quantize_per_channel(x, torch.tensor([0.1, 0.01]), torch.tensor([10, 0]), 0, torch.quint8).int_repr() tensor([[ 0, 10], [100, 200]], dtype=torch.uint8)
© 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_channel.html