This repository has been archived by the owner on May 21, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgenotypes.py
123 lines (115 loc) · 4.27 KB
/
genotypes.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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
from collections import namedtuple
Genotype = namedtuple('Genotype', 'normal normal_concat reduce reduce_concat normal_bottleneck reduce_bottleneck')
PRIMITIVES = [
'none',
'max_pool_3x3',
'avg_pool_3x3',
'skip_connect',
'sep_conv_3x3',
'sep_conv_5x5',
'dil_conv_3x3',
'dil_conv_5x5'
]
ATTN_PRIMIVIVES = [
'Identity',
'SE',
'BAM',
'CBAM',
'GE_theta-plus',
'DoubleAttention'
]
NASNet = Genotype(
normal=[
('sep_conv_5x5', 1),
('sep_conv_3x3', 0),
('sep_conv_5x5', 0),
('sep_conv_3x3', 0),
('avg_pool_3x3', 1),
('skip_connect', 0),
('avg_pool_3x3', 0),
('avg_pool_3x3', 0),
('sep_conv_3x3', 1),
('skip_connect', 1),
],
normal_concat=[2, 3, 4, 5, 6],
reduce=[
('sep_conv_5x5', 1),
('sep_conv_7x7', 0),
('max_pool_3x3', 1),
('sep_conv_7x7', 0),
('avg_pool_3x3', 1),
('sep_conv_5x5', 0),
('skip_connect', 3),
('avg_pool_3x3', 2),
('sep_conv_3x3', 2),
('max_pool_3x3', 1),
],
reduce_concat=[4, 5, 6],
normal_bottleneck='',
reduce_bottleneck=''
)
AmoebaNet = Genotype(
normal=[
('avg_pool_3x3', 0),
('max_pool_3x3', 1),
('sep_conv_3x3', 0),
('sep_conv_5x5', 2),
('sep_conv_3x3', 0),
('avg_pool_3x3', 3),
('sep_conv_3x3', 1),
('skip_connect', 1),
('skip_connect', 0),
('avg_pool_3x3', 1),
],
normal_concat=[4, 5, 6],
reduce=[
('avg_pool_3x3', 0),
('sep_conv_3x3', 1),
('max_pool_3x3', 0),
('sep_conv_7x7', 2),
('sep_conv_7x7', 0),
('avg_pool_3x3', 1),
('max_pool_3x3', 0),
('max_pool_3x3', 1),
('conv_7x1_1x7', 0),
('sep_conv_3x3', 5),
],
reduce_concat=[3, 4, 6],
normal_bottleneck='',
reduce_bottleneck=''
)
DARTS_V1 = Genotype(
normal=[('sep_conv_3x3', 1, ''), ('sep_conv_3x3', 0, ''), ('skip_connect', 0, ''), ('sep_conv_3x3', 1, ''),
('skip_connect', 0, ''),
('sep_conv_3x3', 1, ''), ('sep_conv_3x3', 0, ''), ('skip_connect', 2, '')],
normal_concat=[2, 3, 4, 5],
reduce=[('max_pool_3x3', 0, ''), ('max_pool_3x3', 1, ''), ('skip_connect', 2, ''), ('max_pool_3x3', 0, ''),
('max_pool_3x3', 0, ''),
('skip_connect', 2, ''), ('skip_connect', 2, ''), ('avg_pool_3x3', 0, '')],
reduce_concat=[2, 3, 4, 5],
normal_bottleneck='', reduce_bottleneck='')
DARTS_V2 = Genotype(
normal=[('sep_conv_3x3', 0, ''), ('sep_conv_3x3', 1, ''), ('sep_conv_3x3', 0, ''), ('sep_conv_3x3', 1, ''),
('sep_conv_3x3', 1, ''),
('skip_connect', 0, ''), ('skip_connect', 0, ''), ('dil_conv_3x3', 2, '')],
normal_concat=[2, 3, 4, 5],
reduce=[('max_pool_3x3', 0, ''), ('max_pool_3x3', 1, ''), ('skip_connect', 2, ''), ('max_pool_3x3', 1, ''),
('max_pool_3x3', 0, ''),
('skip_connect', 2, ''), ('skip_connect', 2, ''), ('max_pool_3x3', 1, '')],
reduce_concat=[2, 3, 4, 5],
normal_bottleneck='', reduce_bottleneck='')
MyDARTS = Genotype(
normal=[('max_pool_3x3', 0), ('max_pool_3x3', 1), ('max_pool_3x3', 0), ('max_pool_3x3', 2), ('max_pool_3x3', 2),
('max_pool_3x3', 0), ('max_pool_3x3', 2), ('max_pool_3x3', 0)], normal_concat=range(2, 6),
reduce=[('dil_conv_5x5', 1), ('dil_conv_5x5', 0), ('max_pool_3x3', 2), ('sep_conv_5x5', 1), ('dil_conv_5x5', 3),
('sep_conv_5x5', 0), ('dil_conv_5x5', 2), ('sep_conv_5x5', 3)], reduce_concat=range(2, 6),
normal_bottleneck='', reduce_bottleneck='')
DARTS = DARTS_V2
Att_DARTS = Genotype(
normal=[('sep_conv_3x3', 0, 'DoubleAttention'), ('sep_conv_3x3', 1, 'CBAM'), ('sep_conv_3x3', 0, 'CBAM'),
('skip_connect', 2, 'CBAM'), ('skip_connect', 0, 'CBAM'), ('sep_conv_3x3', 1, 'CBAM'),
('skip_connect', 0, 'CBAM'), ('skip_connect', 2, 'CBAM')], normal_concat=range(2, 6),
reduce=[('max_pool_3x3', 0, 'BAM'), ('dil_conv_3x3', 1, 'DoubleAttention'), ('avg_pool_3x3', 0, 'BAM'),
('skip_connect', 2, 'CBAM'), ('skip_connect', 2, 'CBAM'), ('avg_pool_3x3', 0, 'BAM'),
('skip_connect', 2, 'CBAM'), ('avg_pool_3x3', 0, 'BAM')], reduce_concat=range(2, 6),
normal_bottleneck='', reduce_bottleneck='')