当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。