forked from MurtyShikhar/robustqa
-
Notifications
You must be signed in to change notification settings - Fork 0
/
args.py
59 lines (53 loc) · 3.47 KB
/
args.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
import argparse
def get_train_test_args():
parser = argparse.ArgumentParser()
# hyperparameters
parser.add_argument('--batch-size', type=int, default=16)
parser.add_argument('--num-epochs', type=int, default=3)
parser.add_argument('--lr', type=float, default=3e-5)
parser.add_argument('--adam-weight-decay', type=float, default=0)
parser.add_argument('--discriminator-lr', type=float, default=3e-5)
parser.add_argument('--discriminator-momentum', type=float, default=0.8)
parser.add_argument('--adv-loss-weight', type=float, default=0.01)
parser.add_argument('--discriminator-step-multiplier', type=int, default=1)
parser.add_argument('--num-visuals', type=int, default=10)
parser.add_argument('--seed', type=int, default=42)
parser.add_argument('--save-dir', type=str, default='save/')
parser.add_argument('--train', action='store_true')
parser.add_argument('--eval', action='store_true')
parser.add_argument('--train-datasets', type=str, default='squad,nat_questions,newsqa')
parser.add_argument('--oodomain-train-datasets', type=str, default='duorc,race,relation_extraction')
parser.add_argument('--run-name', type=str, default='multitask_distilbert')
parser.add_argument('--recompute-features', action='store_true')
parser.add_argument('--train-dir', type=str, default='datasets/indomain_train')
parser.add_argument('--oodomain-train-dir', type=str, default='datasets/oodomain_train')
parser.add_argument('--val-dir', type=str, default='datasets/indomain_val')
parser.add_argument('--oodomain-val-dir', type=str, default='datasets/oodomain_val')
parser.add_argument('--eval-dir', type=str, default='datasets/oodomain_test')
parser.add_argument('--eval-datasets', type=str, default='race,relation_extraction,duorc')
parser.add_argument('--do-train', action='store_true')
parser.add_argument('--do-eval', action='store_true')
parser.add_argument('--sub-file', type=str, default='')
parser.add_argument('--visualize-predictions', action='store_true')
parser.add_argument('--eval-every', type=int, default=5000)
parser.add_argument('--subset-keep-percentage', type=float, default=0.01)
parser.add_argument('--weighted-random-sampling', action='store_true') # store_true defaults to false
parser.add_argument('--train-wo-oodomain', action='store_false') # store_false defaults to true
parser.add_argument('--orig-sources-as-topics', action='store_true')
parser.add_argument('--kmeans-clusters-as-topics', action='store_true')
# arguments for hyperparameter search
parser.add_argument("--tune-name", type=str, default="hyperparam-search")
parser.add_argument('--num-gpu-per-test', type=int, default=0)
parser.add_argument('--num-cpu-per-test', type=int, default=1)
parser.add_argument('--num-tune-samples', type=int, default=10)
parser.add_argument('--min-num-batches', type=int, default=100)
parser.add_argument('--max-num-batches', type=int, default=2000)
parser.add_argument('--tune-checkpoint-path', type=str)
parser.add_argument('--tune', action='store_true')
# arguments for clustering
parser.add_argument('--max-tfidf-features', type=int, default=300)
parser.add_argument('--custom-feature-scale', type=int, default=6)
parser.add_argument('--num-clusters', type=int, default=20)
parser.add_argument('--kmeans-iters', type=int, default=6)
args = parser.parse_args()
return vars(args) # return as dict to support hyperparam search