-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathrun_experiments.py
More file actions
208 lines (173 loc) · 13.3 KB
/
run_experiments.py
File metadata and controls
208 lines (173 loc) · 13.3 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
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
import os
import sys
import subprocess
from datetime import datetime
GPU_ID = 6 # Can specify multiple as a comma-separated string, e.g. "0,1"
LOGS_DIR = "logs"
def run(command: str, log_prefix: str = ""):
"""
Runs given command and redirects output to a file named after the config
and the timestamp at which it was run
"""
config_name = "unnamed"
if "--config" in command:
before_config, keyword, after_config = command.partition("--config") # Gets configs/config_name.yaml ...
before_slash, keyword, after_slash = after_config.strip().partition("configs/") # Gets config_name.yaml ...
# For configs inside a subdirectory, there are two slashes, so repeat
if "/" in after_slash:
before_slash, keyword, after_slash = after_slash.strip().partition("/")
config_name = after_slash.split(".")[0] # Gets just config_name
# When running evaluation with only --trained_model_version (and no config)
# we can pass in the name we want for the log
if log_prefix != "":
if config_name == "unnamed":
config_name = log_prefix
else:
config_name = log_prefix + "__" + config_name
if "evaluation" in command:
# Name evaluation logs with prefix
config_name = "eval__" + config_name
timestamp = str(datetime.now()).split(".")[0] # Removes decimal seconds
log_filename = (config_name + "-" + timestamp).replace(" ", "-")
log_filepath = os.path.join(LOGS_DIR, log_filename) + ".log"
print(command + f" > {log_filepath}")
subprocess.call(command + f" > {log_filepath}", shell=True)
print(command + "\nCompleted!")
def train_text_baseline_roberta_mpnet():
""" text: {roberta, mpnet} """
run(f"python run_training.py --config configs/text__2_class__roberta.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text__3_class__roberta.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text__6_class__roberta.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text__2_class__mpnet.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text__3_class__mpnet.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text__6_class__mpnet.yaml --gpus {GPU_ID}")
def eval_text_baseline_roberta_mpnet():
# NOTE: Make sure you specify the trained model version in the config (or pass it as --trained_model_version)
trained_model_version_numbers = [i for i in range(318, 324)] # [318, 323] inclusive
for version_number in trained_model_version_numbers:
run(f"python run_evaluation.py --trained_model_version {version_number} --gpus {GPU_ID}",
log_prefix="text_baseline")
def train_image_baseline_resnet():
""" image: resnet """
run(f"python run_training.py --config configs/image__2_class__resnet.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/image__3_class__resnet.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/image__6_class__resnet.yaml --gpus {GPU_ID}")
def eval_image_baseline_resnet():
# NOTE: Make sure you specify the trained model version in the config (or pass it as --trained_model_version)
trained_model_version_numbers = [325, 326, 328]
for version_number in trained_model_version_numbers:
run(f"python run_evaluation.py --trained_model_version {version_number} --gpus {GPU_ID}",
log_prefix="image_baseline")
def train_graphlin_mpnet_resnet_bart():
""" text: mpnet + image: resnet + dialogue: GraphLin-BART """
run(f"python run_training.py --config configs/graphlin__text_image_dialogue__2_class__mpnet_resnet_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/graphlin__text_image_dialogue__3_class__mpnet_resnet_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/graphlin__text_image_dialogue__6_class__mpnet_resnet_bart.yaml --gpus {GPU_ID}")
def eval_graphlin_mpnet_resnet_bart():
run(f"python run_evaluation.py --config configs/graphlin__text_image_dialogue__2_class__mpnet_resnet_bart.yaml --trained_model_version 399 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/graphlin__text_image_dialogue__3_class__mpnet_resnet_bart.yaml --trained_model_version 400 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/graphlin__text_image_dialogue__6_class__mpnet_resnet_bart.yaml --trained_model_version 401 --gpus {GPU_ID}")
def train_argsum_mpnet_resnet_bart():
""" text: mpnet + image: resnet + dialogue: ArgSum-BART """
run(f"python run_training.py --config configs/argsum__text_image_dialogue__2_class__mpnet_resnet_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/argsum__text_image_dialogue__3_class__mpnet_resnet_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/argsum__text_image_dialogue__6_class__mpnet_resnet_bart.yaml --gpus {GPU_ID}")
def eval_argsum_mpnet_resnet_bart():
run(f"python run_evaluation.py --config configs/argsum__text_image_dialogue__2_class__mpnet_resnet_bart.yaml --trained_model_version 402 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/argsum__text_image_dialogue__3_class__mpnet_resnet_bart.yaml --trained_model_version 403 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/argsum__text_image_dialogue__6_class__mpnet_resnet_bart.yaml --trained_model_version 404 --gpus {GPU_ID}")
def train_roberta_mpnet_resnet_bart_ranksum():
"""
text: {roberta, mpnet} + image: resnet
text: {roberta, mpnet} + image: resnet + dialogue: RankSum-BART
"""
run(f"python run_training.py --config configs/text_image__2_class__mpnet_resnet.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image__3_class__mpnet_resnet.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image__6_class__mpnet_resnet.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image_dialogue__2_class__mpnet_resnet_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image_dialogue__3_class__mpnet_resnet_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image_dialogue__6_class__mpnet_resnet_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image__2_class__roberta_resnet.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image__3_class__roberta_resnet.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image__6_class__roberta_resnet.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image_dialogue__2_class__roberta_resnet_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image_dialogue__3_class__roberta_resnet_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image_dialogue__6_class__roberta_resnet_bart.yaml --gpus {GPU_ID}")
def train_roberta_mpnet_dino():
"""
text: {roberta, mpnet} + image: dino
"""
run(f"python run_training.py --config configs/text_image__2_class__mpnet_dino.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image__3_class__mpnet_dino.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image__6_class__mpnet_dino.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image__2_class__roberta_dino.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image__3_class__roberta_dino.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image__6_class__roberta_dino.yaml --gpus {GPU_ID}")
def eval_roberta_mpnet_dino():
run(f"python run_evaluation.py --config configs/text_image__2_class__mpnet_dino.yaml --trained_model_version 345 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/text_image__3_class__mpnet_dino.yaml --trained_model_version 348 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/text_image__6_class__mpnet_dino.yaml --trained_model_version 350 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/text_image__2_class__roberta_dino.yaml --trained_model_version 359 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/text_image__3_class__roberta_dino.yaml --trained_model_version 360 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/text_image__6_class__roberta_dino.yaml --trained_model_version 364 --gpus {GPU_ID}")
def train_roberta_mpnet_dino_bart_ranksum():
"""
text: {roberta, mpnet} + image: dino + dialogue: RankSum-BART
"""
run(f"python run_training.py --config configs/text_image_dialogue__2_class__mpnet_dino_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image_dialogue__3_class__mpnet_dino_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image_dialogue__6_class__mpnet_dino_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image_dialogue__2_class__roberta_dino_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image_dialogue__3_class__roberta_dino_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/text_image_dialogue__6_class__roberta_dino_bart.yaml --gpus {GPU_ID}")
def eval_roberta_mpnet_dino_bart_ranksum():
run(f"python run_evaluation.py --config configs/text_image_dialogue__2_class__mpnet_dino_bart.yaml --trained_model_version 347 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/text_image_dialogue__3_class__mpnet_dino_bart.yaml --trained_model_version 349 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/text_image_dialogue__6_class__mpnet_dino_bart.yaml --trained_model_version 358 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/text_image_dialogue__2_class__roberta_dino_bart.yaml --trained_model_version 361 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/text_image_dialogue__3_class__roberta_dino_bart.yaml --trained_model_version 365 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/text_image_dialogue__6_class__roberta_dino_bart.yaml --trained_model_version 367 --gpus {GPU_ID}")
def train_low_rank_fusion_text_image():
"""
text: mpnet + image: resnet (fusion_method: low-rank)
"""
run(f"python run_training.py --config configs/low_rank_fusion__text_image__2_class__mpnet_resnet.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/low_rank_fusion__text_image__3_class__mpnet_resnet.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/low_rank_fusion__text_image__6_class__mpnet_resnet.yaml --gpus {GPU_ID}")
def eval_low_rank_fusion_text_image():
run(f"python run_evaluation.py --config configs/low_rank_fusion__text_image__2_class__mpnet_resnet.yaml --trained_model_version 357 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/low_rank_fusion__text_image__3_class__mpnet_resnet.yaml --trained_model_version 362 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/low_rank_fusion__text_image__6_class__mpnet_resnet.yaml --trained_model_version 366 --gpus {GPU_ID}")
def train_low_rank_fusion_text_image_dialogue():
"""
text: mpnet + image: resnet + dialogue: RankSum-BART (fusion_method: low-rank)
"""
run(f"python run_training.py --config configs/low_rank_fusion__text_image_dialogue__2_class__mpnet_resnet_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/low_rank_fusion__text_image_dialogue__3_class__mpnet_resnet_bart.yaml --gpus {GPU_ID}")
run(f"python run_training.py --config configs/low_rank_fusion__text_image_dialogue__6_class__mpnet_resnet_bart.yaml --gpus {GPU_ID}")
def eval_low_rank_fusion_text_image_dialogue():
run(f"python run_evaluation.py --config configs/low_rank_fusion__text_image_dialogue__2_class__mpnet_resnet_bart.yaml --trained_model_version 368 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/low_rank_fusion__text_image_dialogue__3_class__mpnet_resnet_bart.yaml --trained_model_version 371 --gpus {GPU_ID}")
run(f"python run_evaluation.py --config configs/low_rank_fusion__text_image_dialogue__6_class__mpnet_resnet_bart.yaml --trained_model_version 376 --gpus {GPU_ID}")
if __name__ == "__main__":
# subprocess.call("python run_training.py --config configs/sampled_text_image_dialogue__2_class__mpnet_resnet_bart.yaml", shell=True)
# run("python run_training.py --only_check_args --config configs/sampled_text_image_dialogue__2_class__mpnet_resnet_bart.yaml")
# TESTING OUT TEXT BASELINE MODEL
# run(f"python run_training.py --config configs/text__2_class__mpnet.yaml --gpus {GPU_ID}")
# train_text_baseline_roberta_mpnet()
# train_image_baseline_resnet()
# eval_text_baseline_roberta_mpnet()
# eval_image_baseline_resnet()
# train_roberta_mpnet_dino()
# train_roberta_mpnet_dino_bart_ranksum()
# train_low_rank_fusion_text_image()
# train_low_rank_fusion_text_image_dialogue()
# eval_roberta_mpnet_dino()
# eval_roberta_mpnet_dino_bart_ranksum()
# eval_low_rank_fusion_text_image()
# eval_low_rank_fusion_text_image_dialogue()
# ::DONE TILL HERE
# train_graphlin_mpnet_resnet_bart()
# train_argsum_mpnet_resnet_bart()
eval_graphlin_mpnet_resnet_bart()
eval_argsum_mpnet_resnet_bart()