class_docstr: Gaussian noise applied to padded samples. No
  noise is added to positions that are part of padding
  
  Arguments
  ---------
  length_dim: int
      the
docstr: Creates Gaussian noise. If a tensor of lengths is
  provided, no noise is added to the padding positions.
  
  sample: torch.Tensor
      a batch of data
  length: torch.Tensor
      relative lengths
code: def forward(self, sample, length=None, **kwargs):
      """Creates Gaussian noise. If a tensor of lengths is
      provided, no noise is added to the padding positions.
  
      sample: torch.Tensor
          a batch of data
      length: torch.Tensor
          relative lengths
      """
      noise = torch.randn_like(sample)
      if length is not None:
          max_len = sample.size(self.length_dim)
          mask = length_to_mask(length * max_len, max_len).bool()
          mask_shape = self._compute_mask_shape(noise, max_len)
          mask = mask.view(mask_shape)
          noise.masked_fill_(~mask, 0.0)
      return noise
  
imports: from collections import namedtuple
  import torch
  from torch import nn
  from torch.nn import functional
  from tqdm.auto import tqdm
  from speechbrain.utils.data_utils import unsqueeze_as
  from speechbrain.dataio.dataio import length_to_mask
  from speechbrain.utils import data_utils
label_desc: Use image node_id 2 for calling the LengthMaskedGaussianNoise obj's underlying member method code with example usage: obj.forward(sample, length) and returns: noise