class_docstr: Zeroes out(cuts) random continuous horisontal or
  vertical segments of the spectrogram as described in
  SpecAugment (https://arxiv.org/abs/1904.08779).
  
  Utilizes a Numba CUDA kernel to perform inplace edit of the input without loops.
  Parallelize over freq and time axis, parallel threads over batch.
  Sequential over masks (adaptive in time).
  
  Args:
      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.
      rng: Ignored.
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",")",".","Utilizes","a","Numba","CUDA","kernel","to","perform","inplace","edit","of","the","input","without","loops",".","Parallelize","over","freq","and","time","axis",",","parallel","threads","over","batch",".","Sequential","over","masks","(","adaptive","in","time",")",".","Args",":","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",".","rng",":","Ignored","."]
docstr: Returns definitions of module output types
          
docstr_tok: ["Returns","definitions","of","module","output","types"]
code: def output_types(self):
      """Returns definitions of module output types"""
      return {
          "augmented_spec": NeuralType(
              ("B", "D", "T"), SpectrogramType()
          )
      }
  
file_path: NeMo/nemo/collections/asr/parts/numba/spec_augment/spec_aug_numba.py
imports: import torch
  import torch.nn
  from numba import cuda
  from nemo.core.classes import Typing, typecheck
  from nemo.core.neural_types import LengthsType, NeuralType, SpectrogramType
  from nemo.utils import logging
label_desc: Use image node_id 2 for calling the SpecAugmentNumba obj's underlying member method code with example usage: obj.output_types() and returns: dict