class_docstr: 1D Pooling downsampling (non-learned)
  
  Arguments
  ---------
  downsampling_factor : int
      Factor of downsampling (i.e. ratio (length before ds / length after ds))
  kernel_size : int
      Kernel size of the 1D filter (must be an odd integer)
  padding : int
      The number of padding elements to apply.
  pool_type : string
      Pooling approach, must be within ["avg","max"]
  Example
  -------
  >>> sd = PoolingDownsampler(3,41)
  >>> a = torch.rand([8,33000])
  >>> a = sd(a)
  >>> print(a.shape)
  torch.Size([8, 10987])
code: def __init__(
      self, downsampling_factor, kernel_size, padding=0, pool_type="avg"
  ):
      super().__init__()
      self.kernel_size = kernel_size
      self.padding = padding
      self.pool_type = pool_type
      self.downsampling_factor = downsampling_factor
      self.downsampler = Pooling1d(
          stride=self.downsampling_factor,
          padding=self.padding,
          kernel_size=self.kernel_size,
          input_dims=3,
          pool_type=self.pool_type,
      )
  
file_path: speechbrain/speechbrain/lobes/downsampling.py
imports: import torch
  import torchaudio.transforms
  from speechbrain.nnet.CNN import Conv1d
  from speechbrain.nnet.pooling import Pooling1d
label_desc: Use image node_id 1 to create a new PoolingDownsampler object from inherited base classes: Downsampler with example: obj = PoolingDownsampler(downsampling_factor, kernel_size, padding, pool_type)