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"]
code: def _check_params(self) -> None:
      if self.num_classes <= 0:
          raise ValueError("The number of classes must be positive")
  
      if self.alpha <= 0:
          raise ValueError(
              "The combination ratio sampling parameter must be positive."
          )
  
      if self.probability < 0 or self.probability > 1:
          raise ValueError(
              "The CutMix probability must be between 0 and 1."
          )
  
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 3 for calling the CutMixTensorFlowV2 obj's underlying member method code with example usage: obj._check_params() without return types