class_docstr: This is abstract class for different backend-specific implementations of OAAT protocol.
  
  | Paper link: https://link.springer.com/chapter/10.1007/978-3-031-20065-6_18
class_docstr_tok: ["This","is","abstract","class","for","different","backend-specific","implementations","of","OAAT","protocol",".","|","Paper","link",":","https",":","\/\/link.springer.com\/chapter\/10.1007\/978-3-031-20065-6_18"]
docstr: Train a model adversarially with OAAT using a data generator.
  See class documentation for more information on the exact procedure.
  
  :param generator: Data generator.
  :param validation_data: Tuple consisting of validation data, (x_val, y_val)
  :param nb_epochs: Number of epochs to use for trainings.
  :param kwargs: Dictionary of framework-specific arguments. These will be passed as such to the `fit` function of
         the target classifier.
docstr_tok: ["Train","a","model","adversarially","with","OAAT","using","a","data","generator",".","See","class","documentation","for","more","information","on","the","exact","procedure",".",":","param","generator",":","Data","generator",".",":","param","validation_data",":","Tuple","consisting","of","validation","data",",","(","x_val",",","y_val",")",":","param","nb_epochs",":","Number","of","epochs","to","use","for","trainings",".",":","param","kwargs",":","Dictionary","of","framework-specific","arguments",".","These","will","be","passed","as","such","to","the","`","fit","`","function","of","the","target","classifier","."]
code: def fit_generator(  # pylint: disable=W0221
      self,
      generator: DataGenerator,
      validation_data: Optional[Tuple[np.ndarray, np.ndarray]] = None,
      nb_epochs: int = 20,
      **kwargs,
  ):
      """
      Train a model adversarially with OAAT using a data generator.
      See class documentation for more information on the exact procedure.
  
      :param generator: Data generator.
      :param validation_data: Tuple consisting of validation data, (x_val, y_val)
      :param nb_epochs: Number of epochs to use for trainings.
      :param kwargs: Dictionary of framework-specific arguments. These will be passed as such to the `fit` function of
             the target classifier.
      """
      raise NotImplementedError
  
file_path: adversarial-robustness-toolbox/art/defences/trainer/adversarial_trainer_oaat.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import abc
  from typing import Optional, Tuple, TYPE_CHECKING, Sequence
  import numpy
  from art.defences.trainer.trainer import Trainer
  from art.attacks.attack import EvasionAttack
  from art.data_generators import DataGenerator
label_desc: Use image node_id 3 for calling the AdversarialTrainerOAAT obj's underlying member method code with example usage: obj.fit_generator(generator, validation_data, nb_epochs) without return types