-
Notifications
You must be signed in to change notification settings - Fork 7
/
runner.py
149 lines (117 loc) · 5.55 KB
/
runner.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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
from __future__ import division, print_function
import matplotlib
matplotlib.use('agg')
import os
import sys
import importlib
from dar_package.datasets import vaihingen, bing
from dar_package.models.drn_contours import DRNContours
from dar_package import pretrain, train_baseline, train_contours
from dar_package import eval_contours, eval_baseline
from dar_package.utils.train_utils import save_config, overwrite_config
import dar_package.config
def pretrain_vaihingen(split_num=1):
importlib.reload(dar_package.config)
config = dar_package.config.config
print("Pretrain vaihingen {}".format(split_num))
checkpoint_path = pretrain.run(config['pretrain_vaihingen_{}'.format(split_num)],
config,
vaihingen.VaihingenDataset,
DRNContours,
split_num)
overwrite_config('vaihingen_exp_{}'.format(split_num), 'restore', checkpoint_path)
def pretrain_bing(split_num=1):
importlib.reload(dar_package.config)
config = dar_package.config.config
print("Pretrain bing {}".format(split_num))
checkpoint_path = pretrain.run(config['pretrain_bing_{}'.format(split_num)],
config,
bing.BingDataset,
DRNContours,
split_num)
overwrite_config('bing_exp_{}'.format(split_num), 'restore', checkpoint_path)
def train_baseline_vaihingen(split_num=1):
importlib.reload(dar_package.config)
config = dar_package.config.config
print("Baseline vaihingen {}".format(split_num))
checkpoint_path = train_baseline.run(config['baseline_vaihingen_{}'.format(split_num)],
config,
vaihingen.VaihingenDataset,
DRNContours,
split_num)
overwrite_config('baseline_vaihingen_{}'.format(split_num), 'eval_model', checkpoint_path)
def train_baseline_bing(split_num=1):
importlib.reload(dar_package.config)
config = dar_package.config.config
print("Baseline bing {}".format(split_num))
checkpoint_path = train_baseline.run(config['baseline_bing_{}'.format(split_num)],
config,
bing.BingDataset,
DRNContours,
split_num)
overwrite_config('baseline_bing_{}'.format(split_num), 'eval_model', checkpoint_path)
def train_vaihingen(split_num=1):
importlib.reload(dar_package.config)
config = dar_package.config.config
print("Train vaihingen {}".format(split_num))
checkpoint_path = train_contours.run(config['vaihingen_exp_{}'.format(split_num)],
config,
vaihingen.VaihingenDataset,
DRNContours,
split_num)
overwrite_config('vaihingen_exp_{}'.format(split_num), 'eval_model', checkpoint_path)
def train_bing(split_num=1):
importlib.reload(dar_package.config)
config = dar_package.config.config
print("Train bing {}".format(split_num))
checkpoint_path = train_contours.run(config['bing_exp_{}'.format(split_num)],
config,
bing.BingDataset,
DRNContours,
split_num)
overwrite_config('bing_exp_{}'.format(split_num), 'eval_model', checkpoint_path)
def eval_baseline_vaihingen(split_num=1):
importlib.reload(dar_package.config)
config = dar_package.config.config
save_dir = eval_baseline.run(config['baseline_vaihingen_{}'.format(split_num)],
vaihingen.VaihingenDataset,
DRNContours)
def eval_vaihingen(split_num=1):
importlib.reload(dar_package.config)
config = dar_package.config.config
save_dir = eval_contours.run(config['vaihingen_exp_{}'.format(split_num)],
vaihingen.VaihingenDataset,
DRNContours)
def eval_baseline_bing(split_num=1):
importlib.reload(dar_package.config)
config = dar_package.config.config
save_dir = eval_baseline.run(config['baseline_bing_{}'.format(split_num)],
bing.BingDataset,
DRNContours)
def eval_bing(split_num=1):
importlib.reload(dar_package.config)
config = dar_package.config.config
save_dir = eval_contours.run(config['bing_exp_{}'.format(split_num)],
bing.BingDataset,
DRNContours)
def run_vaihingen(split_num):
train_baseline_vaihingen(split_num)
pretrain_vaihingen(split_num)
train_vaihingen(split_num)
eval_baseline_vaihingen(split_num)
eval_vaihingen(split_num)
def run_bing(split_num):
train_baseline_bing(split_num)
pretrain_bing(split_num)
train_bing(split_num)
eval_baseline_bing(split_num)
eval_bing(split_num)
def main(args):
experiments = {'vaihingen': run_vaihingen,
'bing': run_bing}
config = dar_package.config.config
for dataset, coordinator in experiments.items():
for split_num in range(1, int(config[dataset]['num_folds']) + 1):
coordinator(split_num)
if __name__ == "__main__":
main(sys.argv[1:])