class_docstr: The encoder for ASR model of Squeezeformer.
  Based on this paper:
  'Squeezeformer: An Efficient Transformer for Automatic Speech Recognition' by Sehoon Kim et al.
  https://arxiv.org/abs/2206.00888
  
  Args:
      feat_in (int): the size of feature channels
      n_layers (int): number of layers of ConformerBlock
      d_model (int): the hidden size of the model
      feat_out (int): the size of the output features
          Defaults to -1 (means feat_out is d_model)
      subsampling (str): the method of subsampling, choices=['vggnet', 'striding', 'dw_striding']
          Defaults to dw_striding.
      subsampling_factor (int): the subsampling factor which should be power of 2
          Defaults to 4.
      subsampling_conv_channels (int): the size of the convolutions in the subsampling module
          Defaults to -1 which would set it to d_model.
      ff_expansion_factor (int): the expansion factor in feed forward layers
          Defaults to 4.
      self_attention_model (str): type of the attention layer and positional encoding
          'rel_pos': relative positional embedding and Transformer-XL
          'abs_pos': absolute positional embedding and Transformer
          default is rel_pos.
      pos_emb_max_len (int): the maximum length of positional embeddings
          Defaulst to 5000
      n_heads (int): number of heads in multi-headed attention layers
          Defaults to 4.
      xscaling (bool): enables scaling the inputs to the multi-headed attention layers by sqrt(d_model)
          Defaults to True.
      untie_biases (bool): whether to not share (untie) the bias weights between layers of Transformer-XL
          Defaults to True.
      conv_kernel_size (int): the size of the convolutions in the convolutional modules
          Defaults to 31.
      conv_norm_type (str): the type of the normalization in the convolutional modules
          Defaults to 'batch_norm'.
      dropout (float): the dropout rate used in all layers except the attention layers
          Defaults to 0.1.
      dropout_emb (float): the dropout rate used for the positional embeddings
          Defaults to 0.1.
      dropout_att (float): the dropout rate used for the attention layer
          Defaults to 0.0.
      adaptive_scale (bool): Whether to scale the inputs to each component by affine `scale` and `bias` layer.
          Or use a fixed scale=1 and bias=0.
      time_reduce_idx (int): Optional integer index of a layer where a time reduction operation will occur.
          All operations beyond this point will only occur at the reduced resolution.
      time_recovery_idx (int): Optional integer index of a layer where the time recovery operation will occur.
          All operations beyond this point will occur at the original resolution (resolution after
          primary downsampling). If no value is provided, assumed to be the last layer.
docstr: Returns definitions of module input ports.
          
code: def input_types(self):
      """Returns definitions of module input ports."""
      return OrderedDict(
          {
              "audio_signal": NeuralType(
                  ("B", "D", "T"), SpectrogramType()
              ),
              "length": NeuralType(tuple("B"), LengthsType()),
          }
      )
  
imports: import math
  from collections import OrderedDict
  from typing import List, Optional, Set
  import torch
  import torch.distributed
  import torch.nn
  from omegaconf import DictConfig
  from nemo.collections.asr.parts.submodules.multi_head_attention import PositionalEncoding, RelPositionalEncoding
  from nemo.collections.asr.parts.submodules.squeezeformer_modules import SqueezeformerLayer
  from nemo.collections.asr.parts.submodules.subsampling import ConvSubsampling, StackingSubsampling, TimeReductionModule
  from nemo.collections.asr.parts.utils import adapter_utils
  from nemo.core.classes.common import typecheck
  from nemo.core.classes.exportable import Exportable
  from nemo.core.classes.mixins import AccessMixin, adapter_mixins
  from nemo.core.classes.module import NeuralModule
  from nemo.core.neural_types import AcousticEncodedRepresentation, LengthsType, NeuralType, SpectrogramType
label_desc: Use image node_id 2 for calling the SqueezeformerEncoder obj's underlying member method code with example usage: obj.input_types() and returns: OrderedDict