anonymous8/RPD-Demo
initial commit
4943752
raw
history blame
918 Bytes
"""
Attack Recipe Class
========================
"""
from abc import ABC, abstractmethod
from textattack import Attack
class AttackRecipe(Attack, ABC):
"""A recipe for building an NLP adversarial attack from the literature."""
@staticmethod
@abstractmethod
def build(model_wrapper, **kwargs):
"""Creates pre-built :class:`~textattack.Attack` that correspond to
attacks from the literature.
Args:
model_wrapper (:class:`~textattack.models.wrappers.ModelWrapper`):
:class:`~textattack.models.wrappers.ModelWrapper` that contains the victim model and tokenizer.
This is passed to :class:`~textattack.goal_functions.GoalFunction` when constructing the attack.
kwargs:
Additional keyword arguments.
Returns:
:class:`~textattack.Attack`
"""
raise NotImplementedError()