class_docstr: Zeroes out(cuts) random continuous horisontal or
  vertical segments of the spectrogram as described in
  SpecAugment (https://arxiv.org/abs/1904.08779).
  
  params:
  freq_masks - how many frequency segments should be cut
  time_masks - how many time segments should be cut
  freq_width - maximum number of frequencies to be cut in one segment
  time_width - maximum number of time steps to be cut in one segment.
      Can be a positive integer or a float value in the range [0, 1].
      If positive integer value, defines maximum number of time steps
      to be cut in one segment.
      If a float value, defines maximum percentage of timesteps that
      are cut adaptively.
class_docstr_tok: ["Zeroes","out","(","cuts",")","random","continuous","horisontal","or","vertical","segments","of","the","spectrogram","as","described","in","SpecAugment","(","https",":","\/\/arxiv.org\/abs\/1904.08779",")",".","params",":","freq_masks","-","how","many","frequency","segments","should","be","cut","time_masks","-","how","many","time","segments","should","be","cut","freq_width","-","maximum","number","of","frequencies","to","be","cut","in","one","segment","time_width","-","maximum","number","of","time","steps","to","be","cut","in","one","segment",".","Can","be","a","positive","integer","or","a","float","value","in","the","range","[","0",",","1","]",".","If","positive","integer","value",",","defines","maximum","number","of","time","steps","to","be","cut","in","one","segment",".","If","a","float","value",",","defines","maximum","percentage","of","timesteps","that","are","cut","adaptively","."]
code: def __init__(
      self,
      freq_masks=0,
      time_masks=0,
      freq_width=10,
      time_width=10,
      rng=None,
      mask_value=0.0,
  ):
      super().__init__()
  
      self._rng = random.Random() if rng is None else rng
  
      self.freq_masks = freq_masks
      self.time_masks = time_masks
  
      self.freq_width = freq_width
      self.time_width = time_width
  
      self.mask_value = mask_value
  
      if isinstance(time_width, int):
          self.adaptive_temporal_width = False
      else:
          if time_width > 1.0 or time_width < 0.0:
              raise ValueError(
                  "If `time_width` is a float value, must be in range [0, 1]"
              )
  
          self.adaptive_temporal_width = True
  
imports: import random
  import numpy
  import torch
  import torch.nn
  from nemo.core.classes import Typing, typecheck
  from nemo.core.neural_types import LengthsType, NeuralType, SpectrogramType
label_desc: Use image node_id 3 to create a new SpecAugment object from inherited base classes: nn, Typing with example: obj = SpecAugment(freq_masks, time_masks, freq_width, time_width, rng, mask_value)