-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathexps.py
80 lines (73 loc) · 3.51 KB
/
exps.py
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
base_config_v1 = {
'steps': 20,
'epsilon': 1/255,
'gamma': 1,
'seed': 0,
'user': 9,
}
grid_config_v1 = {
'blackbox': [0, 1],
'from_rank': [2000, 20000],
'examples': [32, 128, 2048],
'do_pca': [False, True],
'n_components': [200, 350, 500],
'by_rank': [False, True],
'rank_distribution': ['normal', 'uniform'],
}
alreay_perfromed = {
}
def gen_conf(grid):
for blackbox in grid['blackbox']:
if not blackbox:
for rank in grid['from_rank']:
yield f"wb_f{rank}", {
'blackbox': blackbox,
'from_rank': rank,
}
else:
for examples in grid['examples']:
for rank in grid['from_rank']:
for do_pca in grid['do_pca']:
if not do_pca:
for by_rank in grid['by_rank']:
if not by_rank:
yield f"bb_f{rank}_ex{examples}", {
'blackbox': blackbox,
'from_rank': rank,
'do_pca': do_pca,
'by_rank': by_rank,
'examples': examples,
}
else:
for rank_distribution in grid['rank_distribution']:
yield f"bb_f{rank}_ex{examples}_{rank_distribution[0]}Rank", {
'blackbox': blackbox,
'from_rank': rank,
'do_pca': do_pca,
'by_rank': by_rank,
'rank_distribution': rank_distribution,
'examples': examples,
}
else:
for n_components in grid['n_components']:
for by_rank in grid['by_rank']:
if not by_rank:
yield f"bb_f{rank}_ex{examples}_pca{n_components}", {
'blackbox': blackbox,
'from_rank': rank,
'do_pca': do_pca,
'n_components': n_components,
'by_rank': by_rank,
'examples': examples,
}
else:
for rank_distribution in grid['rank_distribution']:
yield f"bb_f{rank}_ex{examples}_pca{n_components}_{rank_distribution[0]}Rank", {
'blackbox': blackbox,
'from_rank': rank,
'do_pca': do_pca,
'n_components': n_components,
'by_rank': by_rank,
'rank_distribution': rank_distribution,
'examples': examples,
}