class_docstr: Conv1D + Linear for Transformer block.
  
  A variant of MultiLayeredConv1d, which replaces second conv-layer to linear.
docstr: Initialize Conv1dLinear module.
  
  Args:
      in_chans (int): Number of input channels.
      hidden_chans (int): Number of hidden channels.
      kernel_size (int): Kernel size of conv1d.
      dropout_rate (float): Dropout rate.
code: def __init__(self, in_chans, hidden_chans, kernel_size, dropout_rate):
      """Initialize Conv1dLinear module.
  
      Args:
          in_chans (int): Number of input channels.
          hidden_chans (int): Number of hidden channels.
          kernel_size (int): Kernel size of conv1d.
          dropout_rate (float): Dropout rate.
  
      """
      super(Conv1dLinear, self).__init__()
      self.w_1 = torch.nn.Conv1d(
          in_chans,
          hidden_chans,
          kernel_size,
          stride=1,
          padding=(kernel_size - 1) // 2,
      )
      self.w_2 = torch.nn.Linear(hidden_chans, in_chans)
      self.dropout = torch.nn.Dropout(dropout_rate)
  
file_path: espnet/espnet/nets/pytorch_backend/transformer/multi_layer_conv.py
imports: import torch
label_desc: Use image node_id 1 to create a new Conv1dLinear object from inherited base classes: torch.nn with example: obj = Conv1dLinear(in_chans, hidden_chans, kernel_size, dropout_rate)