class_docstr: Lightweight Convolution assuming the input is TxBxC
  Args:
      input_size: # of channels of the input
      kernel_size: convolution channels
      padding_l: padding to the left when using "same" padding
      num_heads: number of heads used. The weight is of shape (num_heads, 1, kernel_size)
      weight_dropout: the drop rate of the DropConnect to drop the weight
      weight_softmax: normalize the weight with softmax before the convolution
      bias: use bias
  
  Shape:
      Input: TxBxC, i.e. (timesteps, batch_size, input_size)
      Output: TxBxC, i.e. (timesteps, batch_size, input_size)
  
  Attributes:
      weight: the learnable weights of the module of shape
          `(num_heads, 1, kernel_size)`
      bias:   the learnable bias of the module of shape `(input_size)`
code: def __init__(
      self,
      input_size,
      kernel_size=1,
      padding_l=None,
      num_heads=1,
      weight_dropout=0.0,
      weight_softmax=False,
      bias=False,
  ):
      super().__init__()
      self.input_size = input_size
      self.kernel_size = kernel_size
      self.padding_l = padding_l
      self.num_heads = num_heads
      self.weight_dropout_module = FairseqDropout(
          weight_dropout, module_name=self.__class__.__name__
      )
      self.weight_softmax = weight_softmax
  
      self.weight = nn.Parameter(
          torch.Tensor(num_heads, 1, kernel_size)
      )
      if bias:
          self.bias = nn.Parameter(torch.Tensor(input_size))
      else:
          self.bias = None
  
      self.reset_parameters()
      self.onnx_trace = False
  
imports: import torch
  import torch.nn
  import torch.nn.functional
  from fairseq import utils
  from fairseq.incremental_decoding_utils import with_incremental_state
  from fairseq.modules.fairseq_dropout import FairseqDropout
  from fairseq.modules.unfold import unfold1d
label_desc: Use image node_id 1 to create a new LightweightConv1dTBC object from inherited base classes: nn with example: obj = LightweightConv1dTBC(input_size, kernel_size, padding_l, num_heads, weight_dropout, weight_softmax, bias)