OpenAttack

Форк
0
/
multiprocess_eval.py 
32 строки · 1.2 Кб
1
'''
2
This example code shows how to using multiprocessing to accelerate adversarial attacks
3
'''
4
import OpenAttack
5
import datasets
6

7
def dataset_mapping(x):
8
    return {
9
        "x": x["sentence"],
10
        "y": 1 if x["label"] > 0.5 else 0,
11
    }
12
    
13
    
14
def main():
15
    victim = OpenAttack.loadVictim("BERT.SST")
16
    # Victim.BiLSTM.SST is a pytorch model which is trained on Dataset.SST. It uses Glove vectors for word representation.
17
    # The load operation returns a PytorchClassifier that can be further used for Attacker and AttackEval.
18

19
    dataset = datasets.load_dataset("sst", split="train[:20]").map(function=dataset_mapping)
20
    # Dataset.SST.sample is a list of 1k sentences sampled from test dataset of Dataset.SST.
21

22
    attacker = OpenAttack.attackers.GeneticAttacker()
23
    # After this step, we’ve initialized a GeneticAttacker and uses the default configuration during attack process.
24

25
    attack_eval = OpenAttack.AttackEval(attacker, victim)
26
    # DefaultAttackEval is the default implementation for AttackEval which supports seven basic metrics.
27

28
    attack_eval.eval(dataset, visualize=True, num_workers=4)
29
    # Using multiprocessing by specify num_workers
30

31
if __name__ == "__main__":
32
    main()

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.