class_docstr: Lightweight Convolution assuming the input is BxCxT
  This is just an example that explains LightConv clearer than the TBC version.
  We don't use this module in the model.
  
  Args:
      input_size: # of channels of the input and output
      kernel_size: convolution channels
      padding: padding
      num_heads: number of heads used. The weight is of shape
          `(num_heads, 1, kernel_size)`
      weight_softmax: normalize the weight with softmax before the convolution
  
  Shape:
      Input: BxCxT, i.e. (batch_size, input_size, timesteps)
      Output: BxCxT, i.e. (batch_size, input_size, timesteps)
  
  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=0,
      num_heads=1,
      weight_softmax=False,
      bias=False,
      weight_dropout=0.0,
  ):
      super().__init__()
      self.input_size = input_size
      self.kernel_size = kernel_size
      self.num_heads = num_heads
      self.padding = padding
      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.weight_dropout_module = FairseqDropout(
          weight_dropout, module_name=self.__class__.__name__
      )
      self.reset_parameters()
  
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 LightweightConv1d object from inherited base classes: nn with example: obj = LightweightConv1d(input_size, kernel_size, padding, num_heads, weight_softmax, bias, weight_dropout)