class_docstr: Class performing adversarial training following Fast is Better Than Free protocol.
  
  | Paper link: https://openreview.net/forum?id=BJx040EFvH
  
  | The effectiveness of this protocol is found to be sensitive to the use of techniques like
      data augmentation, gradient clipping and learning rate schedules. Optionally, the use of
      mixed precision arithmetic operation via apex library can significantly reduce the training
      time making this one of the fastest adversarial training protocol.
class_docstr_tok: ["Class","performing","adversarial","training","following","Fast","is","Better","Than","Free","protocol",".","|","Paper","link",":","https",":","\/\/openreview.net\/forum","?","id=BJx040EFvH","|","The","effectiveness","of","this","protocol","is","found","to","be","sensitive","to","the","use","of","techniques","like","data","augmentation",",","gradient","clipping","and","learning","rate","schedules",".","Optionally",",","the","use","of","mixed","precision","arithmetic","operation","via","apex","library","can","significantly","reduce","the","training","time","making","this","one","of","the","fastest","adversarial","training","protocol","."]
docstr: Create an :class:`.AdversarialTrainerFBFPyTorch` instance.
  
  :param classifier: Model to train adversarially.
  :param eps: Maximum perturbation that the attacker can introduce.
  :param use_amp: Boolean that decides if apex should be used for mixed precision arithmetic during training
docstr_tok: ["Create","an",":","class",":","`",".AdversarialTrainerFBFPyTorch","`","instance",".",":","param","classifier",":","Model","to","train","adversarially",".",":","param","eps",":","Maximum","perturbation","that","the","attacker","can","introduce",".",":","param","use_amp",":","Boolean","that","decides","if","apex","should","be","used","for","mixed","precision","arithmetic","during","training"]
code: def __init__(
      self,
      classifier: "PyTorchClassifier",
      eps: Union[int, float] = 8,
      use_amp: bool = False,
  ):
      """
      Create an :class:`.AdversarialTrainerFBFPyTorch` instance.
  
      :param classifier: Model to train adversarially.
      :param eps: Maximum perturbation that the attacker can introduce.
      :param use_amp: Boolean that decides if apex should be used for mixed precision arithmetic during training
      """
      super().__init__(classifier, eps)
      self._classifier: "PyTorchClassifier"
      self._use_amp = use_amp
  
file_path: adversarial-robustness-toolbox/art/defences/trainer/adversarial_trainer_fbf_pytorch.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import logging
  import time
  from typing import Optional, Tuple, Union, TYPE_CHECKING
  import numpy
  from tqdm.auto import trange
  from art.config import ART_NUMPY_DTYPE
  from art.defences.trainer.adversarial_trainer_fbf import AdversarialTrainerFBF
  from art.utils import random_sphere
label_desc: Use image node_id 1 to create a new AdversarialTrainerFBFPyTorch object from inherited base classes: AdversarialTrainerFBF with example: obj = AdversarialTrainerFBFPyTorch(classifier, eps, use_amp)