class_docstr: Initialize the Lightseq Quant Linear Layer.
  
  Static variable:
      layer_id: The layer-index counter starting from 0 and incrementing by 1 every time a layer object is instantiated,
  Arguments:
      config: An object of LSQuantLinearLayer config, see get_config
class_docstr_tok: ["Initialize","the","Lightseq","Quant","Linear","Layer",".","Static","variable",":","layer_id",":","The","layer-index","counter","starting","from","0","and","incrementing","by","1","every","time","a","layer","object","is","instantiated",",","Arguments",":","config",":","An","object","of","LSQuantLinearLayer","config",",","see","get_config"]
code: def reset_parameters(self) -> None:
      # Setting a=sqrt(5) in kaiming_uniform is the same as initializing with
      # uniform(-1/sqrt(in_features), 1/sqrt(in_features)). For details, see
      # https://github.com/pytorch/pytorch/issues/57109
      nn.init.kaiming_uniform_(self.weight, a=math.sqrt(5))
      act_cmax = act_quant_config.amax.tolist()
      wei_cmax = weight_quant_config.amax.tolist()
      init_clip_max = torch.tensor([act_cmax, wei_cmax, act_cmax])
      self.clip_max.data = init_clip_max
      if self.bias is not None:
          fan_in, _ = nn.init._calculate_fan_in_and_fan_out(self.weight)
          bound = 1 / math.sqrt(fan_in) if fan_in > 0 else 0
          nn.init.uniform_(self.bias, -bound, bound)
  
imports: from dataclasses import dataclass
  import math
  import torch
  from torch import nn
  from torch.autograd import Function
  from torch.nn import functional
  from lightseq.training.ops.pytorch.quantization import weight_quant_config, act_quant_config
  from lightseq.training.ops.pytorch.builder import TransformerBuilder
label_desc: Use image node_id 2 for calling the LSQuantLinearLayer obj's underlying member method code with example usage: obj.reset_parameters() without return types