class_docstr: Quantized version of nn.Linear
  
  Apply quantized linear to the incoming data, y = dequant(quant(x)quant(A)^T + b).
  
  Keep Module name "Linear" instead of "QuantLinear" so that it can be easily dropped into preexisting model and load
  pretrained weights. An alias "QuantLinear" is defined below. The base code is a copy of nn.Linear, see detailed
  comment of original arguments there.
  
  Quantization descriptors are passed in in kwargs. If not presents, default_quant_desc_input and
  default_quant_desc_weight are used.
  
  Keyword Arguments:
      quant_desc_input: An instance of :class:`QuantDescriptor <lightseq.training.pytorch_quantization.tensor_quant.QuantDescriptor>`.
          Quantization descriptor of input.
      quant_desc_wegiht: An instance of :class:`QuantDescriptor <lightseq.training.pytorch_quantization.tensor_quant.QuantDescriptor>`.
          Quantization descriptor of weight.
  
  Raises:
      ValueError: If unsupported arguments are passed in.
      KeyError: If unsupported kwargs are passed in.
  
  Readonly properties:
      - input_quantizer:
      - weight_quantizer:
  
  Static methods:
      - set_default_quant_desc_input: Set default_quant_desc_input
      - set_default_quant_desc_weight: Set default_quant_desc_weight
code: def forward(self, input):
      quant_input = self._input_quantizer(input)
      quant_weight = self._weight_quantizer(self.weight)
  
      output = F.linear(quant_input, quant_weight, bias=self.bias)
  
      return output
  
file_path: lightseq/lightseq/training/pytorch_quantization/nn/modules/quant_linear.py
imports: from torch import nn
  from torch.nn import functional
  from lightseq.training.pytorch_quantization import tensor_quant
  from .None import _utils
label_desc: Use image node_id 2 for calling the QuantLinear obj's underlying member method code with example usage: obj.forward(input) and returns: output