-
Notifications
You must be signed in to change notification settings - Fork 0
/
run_jobs.py
109 lines (97 loc) · 9.28 KB
/
run_jobs.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
import os
import utils
from config import RESULTS_DIR_LOCAL, RESULTS_DIR_REMOTE
jobs = [
# TOPIC AGNOSTIC MODELS -------------------------------------------------------------------------------
# {'dataloader': 'multi_file_str', 'model': 'word_rnn', 'batch_size': 256, 'lrt': 0.0001,
# 'epoch_size': 100, 'n_epochs': 2000, 'hidden_size_rnn': 200, 'n_layers_rnn': 2, 'sentence_len': 20,
# 'use_pretrained_embeddings': '', 'dropout': 0.4, 'bidirectional': ''},
# {'dataloader': 'multi_file_str', 'model': 'word_rnn', 'batch_size': 256, 'lrt': 0.0001,
# 'epoch_size': 100, 'n_epochs': 2000, 'hidden_size_rnn': 200, 'n_layers_rnn': 2, 'sentence_len': 20,
# 'use_pretrained_embeddings': '', 'dropout': 0.2, 'bidirectional': ''},
# {'dataloader': 'multi_file_str', 'model': 'word_rnn', 'batch_size': 256, 'lrt': 0.0001,
# 'epoch_size': 100, 'n_epochs': 2000, 'hidden_size_rnn': 200, 'n_layers_rnn': 2, 'sentence_len': 20,
# 'use_pretrained_embeddings': '', 'dropout': 0.0, 'bidirectional': ''},
# {'dataloader': 'multi_file_str', 'model': 'word_rnn', 'batch_size': 256, 'lrt': 0.0001,
# 'epoch_size': 100, 'n_epochs': 2000, 'hidden_size_rnn': 200, 'n_layers_rnn': 4, 'sentence_len': 20,
# 'use_pretrained_embeddings': '', 'dropout': 0.2, 'bidirectional': ''},
# {'dataloader': 'multi_file_str', 'model': 'word_rnn', 'batch_size': 256, 'lrt': 0.0001,
# 'epoch_size': 100, 'n_epochs': 2000, 'hidden_size_rnn': 100, 'n_layers_rnn': 2, 'sentence_len': 20,
# 'use_pretrained_embeddings': '', 'dropout': 0.2, 'bidirectional': '', 'glove_dir':'data/glove.6B/glove.6B.100d.txt'},
# {'dataloader': 'multi_file_str', 'model': 'word_rnn', 'batch_size': 256, 'lrt': 0.0001,
# 'epoch_size': 100, 'n_epochs': 2000, 'hidden_size_rnn': 300, 'n_layers_rnn': 2, 'sentence_len': 20,
# 'use_pretrained_embeddings': '', 'dropout': 0.2, 'bidirectional': '', 'glove_dir':'data/glove.6B/glove.6B.100d.txt'},
# {'dataloader': 'multi_file_str', 'model': 'word_rnn', 'batch_size': 256, 'lrt': 0.0001,
# 'epoch_size': 100, 'n_epochs': 2000, 'hidden_size_rnn': 200, 'n_layers_rnn': 2, 'sentence_len': 20, 'dropout': 0.2, 'bidirectional': ''},
# {'dataloader': 'multi_file_str', 'model': 'word_rnn', 'batch_size': 256, 'lrt': 0.0001,
# 'epoch_size': 100, 'n_epochs': 2000, 'hidden_size_rnn': 200, 'n_layers_rnn': 2, 'sentence_len': 20,
# 'reuse_pred':'', 'use_pretrained_embeddings': '', 'dropout': 0.4, 'bidirectional': ''},
# {'dataloader': 'multi_file_str', 'model': 'word_rnn', 'batch_size': 256, 'lrt': 0.0001,
# 'epoch_size': 100, 'n_epochs': 2000, 'hidden_size_rnn': 200, 'n_layers_rnn': 2, 'sentence_len': 20,
# 'use_pretrained_embeddings': '', 'dropout': 0.2},
# TOPIC MODELS --------------------------------------------------------------------------------------
{'dataloader': 'multi_file_str', 'model': 'word_rnn_topic_closest_word_to_rest', 'batch_size': 64, 'lrt': 0.001,
'epoch_size': 20, 'n_epochs': 300, 'hidden_size_rnn': 200, 'n_layers_rnn': 4, 'sentence_len': 20, 'loss_alpha': 0.5,
'dropout': 0.2, 'use_pretrained_embeddings': '', 'bidirectional':'', 'glove_dir': 'data/glove.6B/glove.6B.200d.txt',
'baseline_model': '/data/jcm807/batch_size=256-bidirectional=True-char_ngram=2-dataloader=multi_file_str-dropout=0.2-hidden_size_rnn=200-lrt=0.0001-model=word_rnn-n_layers_rnn=4-reuse_pred=False-sentence_len=20-use_pretrained_embeddings=True/checkpoint',
},
# {'dataloader': 'multi_file_str', 'model': 'word_rnn_topic_least_frequent_word', 'batch_size': 64, 'lrt': 0.001,
# 'epoch_size': 20, 'n_epochs': 300, 'hidden_size_rnn': 200, 'n_layers_rnn': 4, 'sentence_len': 20, 'loss_alpha': 0.5,
# 'dropout': 0.2, 'use_pretrained_embeddings': '', 'bidirectional':'', 'glove_dir': 'data/glove.6B/glove.6B.200d.txt',
# 'baseline_model': '/data/jcm807/batch_size=256-bidirectional=True-char_ngram=2-dataloader=multi_file_str-dropout=0.2-hidden_size_rnn=200-lrt=0.0001-model=word_rnn-n_layers_rnn=4-reuse_pred=False-sentence_len=20-use_pretrained_embeddings=True/checkpoint',
# },
# {'dataloader': 'multi_file_str', 'model': 'word_rnn_topic_least_frequent_words', 'batch_size': 64, 'lrt': 0.001,
# 'epoch_size': 20, 'n_epochs': 300, 'hidden_size_rnn': 200, 'n_layers_rnn': 4, 'sentence_len': 20, 'loss_alpha': 0.5,
# 'dropout': 0.2, 'use_pretrained_embeddings': '', 'bidirectional':'', 'glove_dir': 'data/glove.6B/glove.6B.200d.txt',
# 'baseline_model': '/data/jcm807/batch_size=256-bidirectional=True-char_ngram=2-dataloader=multi_file_str-dropout=0.2-hidden_size_rnn=200-lrt=0.0001-model=word_rnn-n_layers_rnn=4-reuse_pred=False-sentence_len=20-use_pretrained_embeddings=True/checkpoint',
# },
# {'dataloader': 'multi_file_str', 'model': 'word_rnn_topic_closest_word_to_rest', 'batch_size': 64, 'lrt': 0.001,
# 'epoch_size': 20, 'n_epochs': 300, 'hidden_size_rnn': 200, 'n_layers_rnn': 4, 'sentence_len': 20, 'loss_alpha': 0.8,
# 'dropout': 0.2, 'use_pretrained_embeddings': '', 'bidirectional':'', 'glove_dir': 'data/glove.6B/glove.6B.200d.txt',
# 'baseline_model': '/data/jcm807/batch_size=256-bidirectional=True-char_ngram=2-dataloader=multi_file_str-dropout=0.2-hidden_size_rnn=200-lrt=0.0001-model=word_rnn-n_layers_rnn=4-reuse_pred=False-sentence_len=20-use_pretrained_embeddings=True/checkpoint',
# },
# {'dataloader': 'multi_file_str', 'model': 'word_rnn_topic_least_frequent_word', 'batch_size': 64, 'lrt': 0.001,
# 'epoch_size': 20, 'n_epochs': 300, 'hidden_size_rnn': 200, 'n_layers_rnn': 4, 'sentence_len': 20, 'loss_alpha': 0.8,
# 'dropout': 0.2, 'use_pretrained_embeddings': '', 'bidirectional':'', 'glove_dir': 'data/glove.6B/glove.6B.200d.txt',
# 'baseline_model': '/data/jcm807/batch_size=256-bidirectional=True-char_ngram=2-dataloader=multi_file_str-dropout=0.2-hidden_size_rnn=200-lrt=0.0001-model=word_rnn-n_layers_rnn=4-reuse_pred=False-sentence_len=20-use_pretrained_embeddings=True/checkpoint',
# },
# {'dataloader': 'multi_file_str', 'model': 'word_rnn_topic_least_frequent_words', 'batch_size': 64, 'lrt': 0.001,
# 'epoch_size': 20, 'n_epochs': 300, 'hidden_size_rnn': 200, 'n_layers_rnn': 4, 'sentence_len': 20, 'loss_alpha': 0.8,
# 'dropout': 0.2, 'use_pretrained_embeddings': '', 'bidirectional':'', 'glove_dir': 'data/glove.6B/glove.6B.200d.txt',
# 'baseline_model': '/data/jcm807/batch_size=256-bidirectional=True-char_ngram=2-dataloader=multi_file_str-dropout=0.2-hidden_size_rnn=200-lrt=0.0001-model=word_rnn-n_layers_rnn=4-reuse_pred=False-sentence_len=20-use_pretrained_embeddings=True/checkpoint',
# },
# {'dataloader': 'multi_file_str', 'model': 'word_rnn_topic_closest_word_to_rest', 'batch_size': 64, 'lrt': 0.001,
# 'epoch_size': 20, 'n_epochs': 300, 'hidden_size_rnn': 200, 'n_layers_rnn': 4, 'sentence_len': 20, 'loss_alpha': 0.2,
# 'dropout': 0.2, 'use_pretrained_embeddings': '', 'bidirectional':'', 'glove_dir': 'data/glove.6B/glove.6B.200d.txt',
# 'baseline_model': '/data/jcm807/batch_size=256-bidirectional=True-char_ngram=2-dataloader=multi_file_str-dropout=0.2-hidden_size_rnn=200-lrt=0.0001-model=word_rnn-n_layers_rnn=4-reuse_pred=False-sentence_len=20-use_pretrained_embeddings=True/checkpoint',
# },
# {'dataloader': 'multi_file_str', 'model': 'word_rnn_topic_least_frequent_word', 'batch_size': 64, 'lrt': 0.001,
# 'epoch_size': 20, 'n_epochs': 300, 'hidden_size_rnn': 200, 'n_layers_rnn': 4, 'sentence_len': 20, 'loss_alpha': 0.2,
# 'dropout': 0.2, 'use_pretrained_embeddings': '', 'bidirectional':'', 'glove_dir': 'data/glove.6B/glove.6B.200d.txt',
# 'baseline_model': '/data/jcm807/batch_size=256-bidirectional=True-char_ngram=2-dataloader=multi_file_str-dropout=0.2-hidden_size_rnn=200-lrt=0.0001-model=word_rnn-n_layers_rnn=4-reuse_pred=False-sentence_len=20-use_pretrained_embeddings=True/checkpoint',
# },
# {'dataloader': 'multi_file_str', 'model': 'word_rnn_topic_least_frequent_words', 'batch_size': 64, 'lrt': 0.001,
# 'epoch_size': 20, 'n_epochs': 300, 'hidden_size_rnn': 200, 'n_layers_rnn': 4, 'sentence_len': 20, 'loss_alpha': 0.2,
# 'dropout': 0.2, 'use_pretrained_embeddings': '', 'bidirectional':'', 'glove_dir': 'data/glove.6B/glove.6B.200d.txt',
# 'baseline_model': '/data/jcm807/batch_size=256-bidirectional=True-char_ngram=2-dataloader=multi_file_str-dropout=0.2-hidden_size_rnn=200-lrt=0.0001-model=word_rnn-n_layers_rnn=4-reuse_pred=False-sentence_len=20-use_pretrained_embeddings=True/checkpoint',
# },
]
srun_args = ['']
save_dir = RESULTS_DIR_LOCAL if utils.is_local() else RESULTS_DIR_REMOTE
def run_job(job):
name = ''
for k, v in sorted(job.items()):
if k not in ['baseline_model', 'glove_dir']:
name += ('' if name == '' else '-') + ('{}={}'.format(k,v) if v!="" else k)
command_srun = (
'srun --job-name "{}" --output "{}/{}.out" --err "{}/{}.err" --mail-type=ALL --mail-user=jcm807@nyu.edu '
'--gres=gpu:1 --qos=batch --nodes=1 --constraint=gpu_12gb'
).format(name, save_dir, name, save_dir, name)
command_py = 'python train.py '
for k,v in sorted(job.items()):
command_py += '-{} "{}" '.format(k,v) if v!="" else '-{} '.format(k)
command = command_py if utils.is_local() else command_srun + ' ' + command_py + '&'
print('Running command: '+command)
os.system(command)
for job in jobs:
run_job(job)