-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathconstrained_random.yaml
142 lines (132 loc) · 3.54 KB
/
constrained_random.yaml
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
name: constrained_random_darts_cnn_nas
data:
data_download_dir: /data
min_validation_period:
batches: 500
hyperparameters:
use_constraints: true
learning_rate: 0.025
momentum: 0.9
weight_decay: 3.0e-4
train_epochs: 300
global_batch_size: 96
init_channels: 36
layers: 20
auxiliary: true
auxiliary_weight: 0.4
cutout: true
cutout_length: 16
drop_path_prob: 0.2
clip_gradients_l2_norm: 5
# Tunable hyperparameters
# Normal cell
normal_node1_edge1:
type: categorical
vals: [0, 1]
normal_node1_edge2:
type: categorical
vals: [0, 1]
normal_node2_edge1:
type: categorical
vals: [0, 1, 2]
normal_node2_edge2:
type: categorical
vals: [0, 1, 2]
normal_node3_edge1:
type: categorical
vals: [0, 1, 2, 3]
normal_node3_edge2:
type: categorical
vals: [0, 1, 2, 3]
normal_node4_edge1:
type: categorical
vals: [0, 1, 2, 3, 4]
normal_node4_edge2:
type: categorical
vals: [0, 1, 2, 3, 4]
normal_node1_edge1_op: sep_conv_3x3
normal_node1_edge2_op: sep_conv_3x3
normal_node2_edge1_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
normal_node2_edge2_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
normal_node3_edge1_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
normal_node3_edge2_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
normal_node4_edge1_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
normal_node4_edge2_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
# Reduce cell
reduce_node1_edge1:
type: categorical
vals: [0, 1]
reduce_node1_edge2:
type: categorical
vals: [0, 1]
reduce_node2_edge1:
type: categorical
vals: [0, 1, 2]
reduce_node2_edge2:
type: categorical
vals: [0, 1, 2]
reduce_node3_edge1:
type: categorical
vals: [0, 1, 2, 3]
reduce_node3_edge2:
type: categorical
vals: [0, 1, 2, 3]
reduce_node4_edge1:
type: categorical
vals: [0, 1, 2, 3, 4]
reduce_node4_edge2:
type: categorical
vals: [0, 1, 2, 3, 4]
reduce_node1_edge1_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
reduce_node1_edge2_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
reduce_node2_edge1_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
reduce_node2_edge2_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
reduce_node3_edge1_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
reduce_node3_edge2_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
reduce_node4_edge1_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
reduce_node4_edge2_op:
type: categorical
vals: [max_pool_3x3, skip_connect, sep_conv_3x3, dil_conv_3x3]
resources:
slots_per_trial: 1
max_slots: 16
scheduling_unit: 100
bind_mounts:
- host_path: /tmp
container_path: /data
read_only: false
searcher:
name: random
metric: top1_accuracy
smaller_is_better: false
# 50k examples in train, 96 examples per batch, 100 batches per step -> 300 epochs ~ 1562 steps
max_length:
batches: 156200
max_trials: 100
entrypoint: model_def:DARTSCNNTrial