-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathperturbation_testing.py
More file actions
64 lines (50 loc) · 1.74 KB
/
Copy pathperturbation_testing.py
File metadata and controls
64 lines (50 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# imports
from models.simplecnn import SimpleCNN
from models.vgg import VGG
from models.casia import Casia
from models.arcface import ArcFace
from models.linear import Linear
from models.tinycnn import TinyCNN
from models.VITEmbeddings import ViTEmbedder
from perturbations.perturbations import evaluate_attack
from preprocess_data import TEST_SET
figure_path = './figures/'
if __name__ == "__main__":
cnn = SimpleCNN()
vgg = VGG()
casia = Casia()
arcface = ArcFace()
linear = Linear()
vit = ViTEmbedder()
tinycnn = TinyCNN()
cnn_path = "./checkpoints/simplecnn.npy"
vgg_path = "./checkpoints/vgg.npy"
casia_path = "./checkpoints/casia.npy"
arc_path = "./checkpoints/arcface.npy"
linear_path = "./checkpoints/linear.npy"
vit_path = "./checkpoints/vit.npy"
tiny_path = "./checkpoints/tiny.npy"
cnn.load(cnn_path)
vgg.load(vgg_path)
casia.load(casia_path)
arcface.load(arc_path)
linear.load(linear_path)
vit.load(vit_path)
tinycnn.load(tiny_path)
target_models = [cnn, linear, casia, vgg, arcface, vit]
source_models = [cnn, linear, casia, vgg, vit]
model_labels = ["SimpleCNN", "Linear", "ResNet_v1(Casia)", "ResNet_v1(VGG)", "ArcFace", "VIT"]
attacks = ["noise"]
# Define which epsilons to test
epsilons = [0.00, 0.04, 0.08, 0.12, 0.16, 0.20]
for attack in attacks:
for source_model in source_models:
evaluate_attack(
source_model = source_model,
target_models=target_models,
model_labels=model_labels,
dataset=TEST_SET,
epsilons=epsilons,
attack_method= attack,
save_path=figure_path
)