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


Python PyTorch fake_quantize_per_channel_affine用法及代碼示例


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

用法:

torch.fake_quantize_per_channel_affine(input, scale, zero_point, quant_min, quant_max) → Tensor

參數

  • input(Tensor) -torch.float32 中的輸入值。

  • scale(Tensor) -量化比例,每個通道

  • zero_point(Tensor) -量化 zero_point,每個通道

  • axis(整數32) -通道軸

  • quant_min(整數64) -量化域的下界

  • quant_max(整數64) -量化域的上限

返回

每個通道張量有一個新的fake_quantized

返回類型

Tensor

使用 scalezero_pointquant_minquant_max ,通過 axis 指定的通道返回一個新的張量,其中的數據在 input 假量化每個通道。

例子:

>>> x = torch.randn(2, 2, 2)
>>> x
tensor([[[-0.2525, -0.0466],
         [ 0.3491, -0.2168]],

        [[-0.5906,  1.6258],
         [ 0.6444, -0.0542]]])
>>> scales = (torch.randn(2) + 1) * 0.05
>>> scales
tensor([0.0475, 0.0486])
>>> zero_points = torch.zeros(2).to(torch.long)
>>> zero_points
tensor([0, 0])
>>> torch.fake_quantize_per_channel_affine(x, scales, zero_points, 1, 0, 255)
tensor([[[0.0000, 0.0000],
         [0.3405, 0.0000]],

        [[0.0000, 1.6134],
        [0.6323, 0.0000]]])

相關用法


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