pytorch / 2 / generated / torch.ao.nn.quantized.linear.html

Linear

class torch.ao.nn.quantized.Linear(in_features, out_features, bias_=True, dtype=torch.qint8) [source]

A quantized linear module with quantized tensor as inputs and outputs. We adopt the same interface as torch.nn.Linear, please see https://pytorch.org/docs/stable/nn.html#torch.nn.Linear for documentation.

Similar to Linear, attributes will be randomly initialized at module creation time and will be overwritten later

Variables
  • weight (Tensor) – the non-learnable quantized weights of the module of shape ( out_features , in_features ) (\text{out\_features}, \text{in\_features}) .
  • bias (Tensor) – the non-learnable bias of the module of shape ( out_features ) (\text{out\_features}) . If bias is True, the values are initialized to zero.
  • scalescale parameter of output Quantized Tensor, type: double
  • zero_pointzero_point parameter for output Quantized Tensor, type: long

Examples:

>>> 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])
classmethod from_float(mod) [source]

Create a quantized module from an observed float module

Parameters

mod (Module) – a float module, either produced by torch.ao.quantization utilities or provided by the user

classmethod from_reference(ref_qlinear, output_scale, output_zero_point) [source]

Create a (fbgemm/qnnpack) quantized module from a reference quantized module

Parameters
  • ref_qlinear (Module) – a reference quantized linear module, either produced by torch.ao.quantization utilities or provided by the user
  • output_scale (float) – scale for output Tensor
  • output_zero_point (int) – zero point for output Tensor

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/generated/torch.ao.nn.quantized.Linear.html