线性

torch.ao.nn.quantized.Linear(in_features, out_features, bias_=True, dtype=torch.qint8)[源代码]

这是一个具有量化张量输入和输出的量化线性模块。它采用了与torch.nn.Linear相同的接口,请参阅https://pytorch.org/docs/stable/nn.html#torch.nn.Linear以获取详细文档。

类似于Linear,属性会在模块创建时被随机初始化,之后会被覆盖。

变量
  • weight (Tensor) – 模块的非可学习量化权重,形状为$(\text{out\_features}, \text{in\_features})$

  • bias (Tensor) – 模块的非可学习偏置项,形状为 $(\text{out\_features})$。如果 biasTrue,则该偏置项初始化为零。

  • scale - 输出量化张量的缩放因子 scale,类型为 double

  • zero_point - 输出量化张量的zero_point参数,类型为 long

示例:

>>> m = nn.quantized.Linear(20, 30)
>>> input = torch.randn(128, 20)
>>> input = torch.quantize_per_tensor(input, 1.0, 0, torch.quint8)
>>> output = m(input)
>>> print(output.size())
torch.Size([128, 30])
classmethodfrom_float(mod, use_precomputed_fake_quant=False)[源代码]

根据观察到的浮点模块创建量化模块

参数
  • mod (Module) – 一个浮点模块,该模块可以通过 torch.ao.quantization 工具生成,或者由用户自行提供。

  • use_precomputed_fake_quant (bool) – 如果为 True,模块将从预计算的假量化模块中重用最小值和最大值。

classmethodfrom_reference(ref_qlinear, output_scale, output_zero_point)[源代码]

根据参考量化模块创建一个 (fbgemm/qnnpack) 量化模块

参数
  • ref_qlinear (Module) – 一个由 torch.ao.quantization 工具生成或用户提供的参考量化线性模块

  • output_scale (float) – 输出张量的缩放比例

  • output_zero_point (int) — 输出张量的零点值

本页目录