torch.quantize_per_channel
-
torch.quantize_per_channel(input, scales, zero_points, axis, dtype) → Tensor
-
Converts a float tensor to a per-channel quantized tensor with given scales and zero points.
- Parameters
-
- input (Tensor) – float tensor to quantize
-
scales (Tensor) – float 1D tensor of scales to use, size should match
input.size(axis)
-
zero_points (int) – integer 1D tensor of offset to use, size should match
input.size(axis)
- axis (int) – dimension on which apply per-channel quantization
-
dtype (
torch.dtype
) – the desired data type of returned tensor. Has to be one of the quantized dtypes:torch.quint8
,torch.qint8
,torch.qint32
- Returns
-
A newly quantized tensor
- Return type
Example:
>>> 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)
© 2019 Torch Contributors
Licensed under the 3-clause BSD License.
https://pytorch.org/docs/1.8.0/generated/torch.quantize_per_channel.html