class_docstr: Abstract base class for preprocessing defences.
  
  By default, the gradient is estimated using BPDA with the identity function.
      To modify, override `estimate_gradient`
docstr: Fit the parameters of the data preprocessor if it has any.
  
  :param x: Training set to fit the preprocessor.
  :param y: Labels for the training set.
  :param kwargs: Other parameters.
docstr_tok: ["Fit","the","parameters","of","the","data","preprocessor","if","it","has","any",".",":","param","x",":","Training","set","to","fit","the","preprocessor",".",":","param","y",":","Labels","for","the","training","set",".",":","param","kwargs",":","Other","parameters","."]
code: def fit(
      self, x: np.ndarray, y: Optional[np.ndarray] = None, **kwargs
  ) -> None:
      """
      Fit the parameters of the data preprocessor if it has any.
  
      :param x: Training set to fit the preprocessor.
      :param y: Labels for the training set.
      :param kwargs: Other parameters.
      """
      pass
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import abc
  from typing import List, Optional, Tuple, Any, TYPE_CHECKING
  import numpy
  from art import config
label_desc: Use image node_id 6 for calling the Preprocessor obj's underlying member method code with example usage: obj.fit(x, y) without return types