code: def get_convinput_module_parameters(
      input_size: int,
      last_conv_size,
      subsampling_factor: int,
      is_vgg: bool = True,
  ) -> Tuple[Union[Tuple[int, int], int], int]:
      """Return the convolution module parameters.
  
      Args:
          input_size: Module input size.
          last_conv_size: Last convolution size for module output size computation.
          subsampling_factor: Total subsampling factor.
          is_vgg: Whether the module type is VGG-like.
  
      Returns:
          : First MaxPool2D kernel size or second Conv2d kernel size and stride.
          output_size: Convolution module output size.
  
      """
      if is_vgg:
          maxpool_kernel1 = subsampling_factor // 2
  
          output_size = last_conv_size * (
              ((input_size - 1) // 2 - 1) // 2
          )
  
          return maxpool_kernel1, output_size
  
      if subsampling_factor == 2:
          conv_params = (3, 1)
      elif subsampling_factor == 4:
          conv_params = (3, 2)
      else:
          conv_params = (5, 3)
  
      output_size = last_conv_size * (
          ((input_size - 1) // 2 - (conv_params[0] - conv_params[1]))
          // conv_params[1]
      )
  
      return conv_params, output_size
  
file_path: espnet/espnet2/asr_transducer/utils.py
imports: from typing import List, Tuple, Union
  import torch
label_desc: Use image node_id 2 for calling a global function with example usage: get_convinput_module_parameters(input_size, last_conv_size, subsampling_factor, is_vgg) and returns: conv_params,  output_size, maxpool_kernel1,  output_size