code: def forward(self, input):
      qinput = input
      if self.input_quant is not None:
          qinput = self.input_quant(input)
      qweight = self.weight_quant(self.weight)
      output = F.linear(qinput, qweight)
      if self.output_quant is not None:
          output = self.output_quant(output)
      if self.bias is not None:
          output = output + self.bias
  
      return output
  
file_path: lightseq/lightseq/training/ops/pytorch/quantization.py
imports: import torch.nn.functional
  from torch.nn import Linear
  from lightseq.training.pytorch_quantization.tensor_quant import QuantDescriptor, QUANT_DESC_8BIT_PER_TENSOR
  from lightseq.training.pytorch_quantization.nn.modules.tensor_quantizer import TensorQuantizer, enable_quant, disable_quant, qat_mode, ptq_mode
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