OpenAttack

Форк
0
/
test_chinese_multi_process.py 
38 строк · 1.1 Кб
1
import sys, os, datasets, time
2
sys.path.insert(0, os.path.join(
3
    os.path.dirname(os.path.abspath(__file__)),
4
    ".."
5
))
6

7
import OpenAttack
8
from attackers_chinese import get_attackers_on_chinese
9

10
def dataset_mapping(x):
11
    return {
12
        "x": x["review_body"],
13
        "y": x["stars"],
14
    }
15
    
16
def main():
17
    import multiprocessing
18
    if multiprocessing.get_start_method() != "spawn":
19
        multiprocessing.set_start_method("spawn", force=True)
20
    dataset =  datasets.load_dataset('amazon_reviews_multi','zh',split="train[:100]").map(function=dataset_mapping)
21
    clsf = OpenAttack.loadVictim("BERT.AMAZON_ZH").to("cuda:0")
22
    attackers = get_attackers_on_chinese(dataset, clsf)
23

24
    for attacker in attackers:
25
        print(attacker.__class__.__name__)
26
        try:
27
            st = time.perf_counter()
28
            print(
29
                OpenAttack.AttackEval(attacker, clsf, language="chinese").eval(dataset, num_workers=2, progress_bar=False),
30
                time.perf_counter() - st
31
            )
32
        except Exception as e:
33
            raise e
34
            print(e)
35
            print("\n")
36

37
if __name__ == "__main__":
38
    main()

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

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

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

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