def __init__(
        self,
        clip_values: "CLIP_VALUES_TYPE" = (0.0, 1.0),
        eps: int = 16,
        pixel_cnn: "CLASSIFIER_NEURALNETWORK_TYPE" | None = None,
        batch_size: int = 128,
        apply_fit: bool = False,
        apply_predict: bool = True,
        verbose: bool = False,
    ) -> None:
        """
        Create an instance of pixel defence.

        :param clip_values: Tuple of the form `(min, max)` representing the minimum and maximum values allowed
               for features.
        :param eps: Defense parameter 0-255.
        :param pixel_cnn: Pre-trained PixelCNN model.
        :param verbose: Show progress bars.
        """
        super().__init__(is_fitted=True, apply_fit=apply_fit, apply_predict=apply_predict)
        self.clip_values = clip_values
        self.eps = eps
        self.batch_size = batch_size
        self.pixel_cnn = pixel_cnn
        self.verbose = verbose
        self._check_params()

        Create an instance of pixel defence.

        :param clip_values: Tuple of the form `(min, max)` representing the minimum and maximum values allowed
               for features.
        :param eps: Defense parameter 0-255.
        :param pixel_cnn: Pre-trained PixelCNN model.
        :param verbose: Show progress bars.
        
art/defences/preprocessor/pixel_defend.py