class_docstr: This is abstract class for different backend-specific implementations of Fast is Better than Free protocol
  for adversarial training.
  
  | Paper link: https://openreview.net/forum?id=BJx040EFvH
docstr: Train a model adversarially using a data generator.
  See class documentation for more information on the exact procedure.
  
  :param generator: Data generator.
  :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(
      self, generator: "DataGenerator", nb_epochs: int = 20, **kwargs
  ):
      """
      Train a model adversarially using a data generator.
      See class documentation for more information on the exact procedure.
  
      :param generator: Data generator.
      :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_fbf.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import abc
  from typing import Optional, Union, Tuple, TYPE_CHECKING
  import numpy
  from art.defences.trainer.trainer import Trainer
label_desc: Use image node_id 3 for calling the AdversarialTrainerFBF obj's underlying member method code with example usage: obj.fit_generator(generator, nb_epochs) without return types