def __init__(
        self,
        classifier: PyTorchClassifier,
        proxy_classifier: PyTorchClassifier,
        lpips_classifier: PyTorchClassifier,
        list_avg_models: list[PyTorchClassifier],
        attack: EvasionAttack,
        train_params: dict,
    ):
        """
        Create an :class:`.AdversarialTrainerOAATPyTorch` instance.

        :param classifier: Model to train adversarially.
        :param proxy_classifier: Model for adversarial weight perturbation.
        :param lpips_classifier: Weight averaging model for calculating activations.
        :param list_avg_models: List of models for weight averaging.
        :param attack: attack to use for data augmentation in adversarial training.
        :param train_params: training parameters' dictionary related to adversarial training
        """
        super().__init__(classifier, proxy_classifier, lpips_classifier, list_avg_models, attack, train_params)
        self._classifier: PyTorchClassifier
        self._proxy_classifier: PyTorchClassifier
        self._lpips_classifier: PyTorchClassifier
        self._list_avg_models: list[PyTorchClassifier]
        self._attack: EvasionAttack
        self._train_params: dict
        self._apply_wp: bool
        self._apply_lpips_pert: bool

        Create an :class:`.AdversarialTrainerOAATPyTorch` instance.

        :param classifier: Model to train adversarially.
        :param proxy_classifier: Model for adversarial weight perturbation.
        :param lpips_classifier: Weight averaging model for calculating activations.
        :param list_avg_models: List of models for weight averaging.
        :param attack: attack to use for data augmentation in adversarial training.
        :param train_params: training parameters' dictionary related to adversarial training
        
art/defences/trainer/adversarial_trainer_oaat_pytorch.py