class_docstr: Implement the CutMix data augmentation defence approach in TensorFlow v2.
  
  | Paper link: https://arxiv.org/abs/1905.04899
  
  | Please keep in mind the limitations of defences. For more information on the limitations of this defence,
      see https://arxiv.org/abs/1803.09868 . For details on how to evaluate classifier security in general, see
      https://arxiv.org/abs/1902.06705
class_docstr_tok: ["Implement","the","CutMix","data","augmentation","defence","approach","in","TensorFlow","v2",".","|","Paper","link",":","https",":","\/\/arxiv.org\/abs\/1905.04899","|","Please","keep","in","mind","the","limitations","of","defences",".","For","more","information","on","the","limitations","of","this","defence",",","see","https",":","\/\/arxiv.org\/abs\/1803.09868",".","For","details","on","how","to","evaluate","classifier","security","in","general",",","see","https",":","\/\/arxiv.org\/abs\/1902.06705"]
docstr: Create an instance of a CutMix data augmentation object.
  
  :param num_classes: The number of classes used for one-hot encoding.
  :param alpha: The hyperparameter for sampling the combination ratio.
  :param probability: The probability of applying CutMix per sample.
  :param channels_first: Set channels first or last.
  :param apply_fit: True if applied during fitting/training.
  :param apply_predict: True if applied during predicting.
  :param verbose: Show progress bars.
docstr_tok: ["Create","an","instance","of","a","CutMix","data","augmentation","object",".",":","param","num_classes",":","The","number","of","classes","used","for","one-hot","encoding",".",":","param","alpha",":","The","hyperparameter","for","sampling","the","combination","ratio",".",":","param","probability",":","The","probability","of","applying","CutMix","per","sample",".",":","param","channels_first",":","Set","channels","first","or","last",".",":","param","apply_fit",":","True","if","applied","during","fitting\/training",".",":","param","apply_predict",":","True","if","applied","during","predicting",".",":","param","verbose",":","Show","progress","bars","."]
code: def __init__(
      self,
      num_classes: int,
      alpha: float = 1.0,
      probability: float = 0.5,
      channels_first: bool = False,
      apply_fit: bool = True,
      apply_predict: bool = False,
      verbose: bool = False,
  ) -> None:
      """
      Create an instance of a CutMix data augmentation object.
  
      :param num_classes: The number of classes used for one-hot encoding.
      :param alpha: The hyperparameter for sampling the combination ratio.
      :param probability: The probability of applying CutMix per sample.
      :param channels_first: Set channels first or last.
      :param apply_fit: True if applied during fitting/training.
      :param apply_predict: True if applied during predicting.
      :param verbose: Show progress bars.
      """
      super().__init__(
          is_fitted=True,
          apply_fit=apply_fit,
          apply_predict=apply_predict,
      )
      self.num_classes = num_classes
      self.alpha = alpha
      self.probability = probability
      self.channels_first = channels_first
      self.verbose = verbose
      self._check_params()
  
file_path: adversarial-robustness-toolbox/art/defences/preprocessor/cutmix/cutmix_tensorflow.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Optional, Tuple, TYPE_CHECKING
  import numpy
  from tqdm.auto import tqdm
  from art.defences.preprocessor.preprocessor import PreprocessorTensorFlowV2
label_desc: Use image node_id 1 to create a new CutMixTensorFlowV2 object from inherited base classes: PreprocessorTensorFlowV2 with example: obj = CutMixTensorFlowV2(num_classes, alpha, probability, channels_first, apply_fit, apply_predict, verbose)