class_docstr: Apply SpecAugment to a Spectrogram. For more info, check the original paper at:
  https://arxiv.org/abs/1904.08779
  
  Args:
      freq_mask_param (`int`): Frequency Mask Parameter (F in the paper)
      time_mask_param (ìnt`): Time Mask Parameter (T in the paper)
      n_freq_masks (`int`): Number of frequency masks to apply (mF in the paper). By default is 1.
      n_time_masks (`int`): Number of time masks to apply (mT in the paper). By default is 1.
      mask_value (`float`): Value of the applied masks. By default is 0.
      data_format (`str`): specifies the data format of batch input/output
      **kwargs: Keyword args for the parent keras layer (e.g., `name`)
  
  Example:
      ::
  
          input_shape = (2048, 1)  # mono signal
  
          # We compute the Mel Spectrogram of the input signal
          melgram = kapre.composed.get_melspectrogram_layer(input_shape=input_shape,
                                                n_fft=1024,
                                                return_decibel=True,
                                                n_mels=256,
                                                input_data_format='channels_last',
                                                output_data_format='channels_last')
  
  
          # Now we define the SpecAugment layer. It will apply 5 masks in the frequency axis,
          # 3 masks in the time axis. The frequency mask param is 5 and the time mask param
          # is 10.
          spec_augment = SpecAugment(freq_mask_param=5,
                                     time_mask_param=10,
                                     n_freq_masks=5,
                                     n_time_masks=3)
  
          model = Sequential()
          model.add(melgram)
  
          # Add the spec_augment layer for augmentation
          model.add(spec_augment)
      ::
class_docstr_tok: ["Apply","SpecAugment","to","a","Spectrogram",".","For","more","info",",","check","the","original","paper","at",":","https",":","\/\/arxiv.org\/abs\/1904.08779","Args",":","freq_mask_param","(","`","int","`",")",":","Frequency","Mask","Parameter","(","F","in","the","paper",")","time_mask_param","(","\u00ecnt","`",")",":","Time","Mask","Parameter","(","T","in","the","paper",")","n_freq_masks","(","`","int","`",")",":","Number","of","frequency","masks","to","apply","(","mF","in","the","paper",")",".","By","default","is","1.","n_time_masks","(","`","int","`",")",":","Number","of","time","masks","to","apply","(","mT","in","the","paper",")",".","By","default","is","1.","mask_value","(","`","float","`",")",":","Value","of","the","applied","masks",".","By","default","is","0.","data_format","(","`","str","`",")",":","specifies","the","data","format","of","batch","input\/output","*","*","kwargs",":","Keyword","args","for","the","parent","keras","layer","(","e.g.",",","`","name","`",")","Example",":",":",":","input_shape","=","(","2048",",","1",")","#","mono","signal","#","We","compute","the","Mel","Spectrogram","of","the","input","signal","melgram","=","kapre.composed.get_melspectrogram_layer","(","input_shape=input_shape",",","n_fft=1024",",","return_decibel=True",",","n_mels=256",",","input_data_format='channels_last","'",",","output_data_format='channels_last","'",")","#","Now","we","define","the","SpecAugment","layer",".","It","will","apply","5","masks","in","the","frequency","axis",",","#","3","masks","in","the","time","axis",".","The","frequency","mask","param","is","5","and","the","time","mask","param","#","is","10.","spec_augment","=","SpecAugment","(","freq_mask_param=5",",","time_mask_param=10",",","n_freq_masks=5",",","n_time_masks=3",")","model","=","Sequential","(",")","model.add","(","melgram",")","#","Add","the","spec_augment","layer","for","augmentation","model.add","(","spec_augment",")",":",":"]
docstr: Main method that applies SpecAugment technique by both frequency and
  time axis.
  Args:
      x (float `Tensor`) : A spectrogram. Its shape is (time, freq, ch) or (ch, time, freq)
              depending on data_format.
  Returns:
      (float `Tensor`): The spectrogram masked by time and frequency axis. Its shape is (time, freq, ch)
          or (ch, time, freq) depending on x shape (that is, the input spectrogram).
docstr_tok: ["Main","method","that","applies","SpecAugment","technique","by","both","frequency","and","time","axis",".","Args",":","x","(","float","`","Tensor","`",")",":","A","spectrogram",".","Its","shape","is","(","time",",","freq",",","ch",")","or","(","ch",",","time",",","freq",")","depending","on","data_format",".","Returns",":","(","float","`","Tensor","`",")",":","The","spectrogram","masked","by","time","and","frequency","axis",".","Its","shape","is","(","time",",","freq",",","ch",")","or","(","ch",",","time",",","freq",")","depending","on","x","shape","(","that","is",",","the","input","spectrogram",")","."]
code: def _apply_spec_augment(self, x):
      """
      Main method that applies SpecAugment technique by both frequency and
      time axis.
      Args:
          x (float `Tensor`) : A spectrogram. Its shape is (time, freq, ch) or (ch, time, freq)
                  depending on data_format.
      Returns:
          (float `Tensor`): The spectrogram masked by time and frequency axis. Its shape is (time, freq, ch)
              or (ch, time, freq) depending on x shape (that is, the input spectrogram).
      """
      if self.data_format == _CH_LAST_STR:
          time_axis, freq_axis = 0, 1
      else:
          time_axis, freq_axis = 1, 2
  
      if self.n_time_masks >= 1:
          x = self._apply_masks_to_axis(
              x,
              axis=time_axis,
              mask_param=self.time_mask_param,
              n_masks=self.n_time_masks,
          )
      if self.n_freq_masks >= 1:
          x = self._apply_masks_to_axis(
              x,
              axis=freq_axis,
              mask_param=self.freq_mask_param,
              n_masks=self.n_freq_masks,
          )
      return x
  
file_path: kapre/kapre/augmentation.py
imports: import tensorflow
  from tensorflow.keras.layers import Layer
  from tensorflow.keras import backend
  from .None import backend
  from .backend import _CH_FIRST_STR, _CH_LAST_STR, _CH_DEFAULT_STR
  import numpy
label_desc: Use image node_id 4 for calling the SpecAugment obj's underlying member method code with example usage: obj._apply_spec_augment(x) and returns: x