class_docstr: Implement the Cutout data augmentation defence approach in PyTorch.
  
  | Paper link: https://arxiv.org/abs/1708.04552
  
  | 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 Cutout data augmentation object.
  
  :param length: Maximum length of the bounding box.
  :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 device_type: Type of device on which the classifier is run, either `gpu` or `cpu`.
  :param verbose: Show progress bars.
code: def __init__(
      self,
      length: int,
      channels_first: bool = False,
      apply_fit: bool = True,
      apply_predict: bool = False,
      device_type: str = "gpu",
      verbose: bool = False,
  ):
      """
      Create an instance of a Cutout data augmentation object.
  
      :param length: Maximum length of the bounding box.
      :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 device_type: Type of device on which the classifier is run, either `gpu` or `cpu`.
      :param verbose: Show progress bars.
      """
      super().__init__(
          device_type=device_type,
          is_fitted=True,
          apply_fit=apply_fit,
          apply_predict=apply_predict,
      )
      self.length = length
      self.channels_first = channels_first
      self.verbose = verbose
      self._check_params()
  
file_path: adversarial-robustness-toolbox/art/defences/preprocessor/cutout/cutout_pytorch.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  from typing import Optional, Tuple, TYPE_CHECKING
  from tqdm.auto import trange
  from art.defences.preprocessor.preprocessor import PreprocessorPyTorch
label_desc: Use image node_id 1 to create a new CutoutPyTorch object from inherited base classes: PreprocessorPyTorch with example: obj = CutoutPyTorch(length, channels_first, apply_fit, apply_predict, device_type, verbose)