@@ -11,255 +11,25 @@ class Flags:
11
11
def __init__ (self ):
12
12
self .parser = argparse .ArgumentParser ()
13
13
self .add_core_args ()
14
- self .update_model_args ()
15
14
16
15
def get_parser (self ):
17
16
return self .parser
18
17
19
18
def add_core_args (self ):
20
- # TODO: Update default values
21
19
self .parser .add_argument_group ("Core Arguments" )
22
-
23
- self .parser .add_argument (
24
- "--config" , type = str , default = None , required = False , help = "config yaml file"
25
- )
26
-
27
- self .parser .add_argument (
28
- "--tasks" , type = str , default = "" , help = "Tasks for training"
29
- )
30
- self .parser .add_argument (
31
- "--datasets" ,
32
- type = str ,
33
- required = False ,
34
- default = "all" ,
35
- help = "Datasets to be used for required task" ,
36
- )
37
- # self.parser.add_argument(
38
- # "--model", type=str, default="", help="Model for training"
39
- # )
40
- self .parser .add_argument (
41
- "--run_type" ,
42
- type = str ,
43
- default = None ,
44
- help = "Type of run. Default=train+predict" ,
45
- )
46
- self .parser .add_argument (
47
- "-exp" ,
48
- "--experiment_name" ,
49
- type = str ,
50
- default = None ,
51
- help = "Name of the experiment" ,
52
- )
53
-
54
- self .parser .add_argument (
55
- "--seed" ,
56
- type = int ,
57
- default = None ,
58
- help = "random seed, default None, meaning nothing will be seeded"
59
- " set seed to -1 if need a random seed"
60
- " between 1 and 100000" ,
61
- )
62
- self .parser .add_argument (
63
- "--config_overwrite" ,
64
- type = str ,
65
- help = "a json string to update yaml config file" ,
66
- default = None ,
67
- )
68
-
69
- self .parser .add_argument (
70
- "--force_restart" ,
71
- action = "store_true" ,
72
- help = "flag to force clean previous result and restart training" ,
73
- )
74
- self .parser .add_argument (
75
- "--log_interval" ,
76
- type = int ,
77
- default = None ,
78
- help = "Number of iterations after which we should log validation results" ,
79
- )
80
- self .parser .add_argument (
81
- "--checkpoint_interval" ,
82
- type = int ,
83
- default = None ,
84
- help = "Number of iterations after which we should save snapshots" ,
85
- )
86
- self .parser .add_argument (
87
- "--evaluation_interval" ,
88
- type = int ,
89
- default = None ,
90
- help = "Number of iterations after which we should save snapshots" ,
91
- )
92
- self .parser .add_argument (
93
- "--max_updates" ,
94
- type = int ,
95
- default = None ,
96
- help = "Number of iterations after which we should stop training" ,
97
- )
98
- self .parser .add_argument (
99
- "--max_epochs" ,
100
- type = int ,
101
- default = None ,
102
- help = "Number of epochs after which "
103
- " we should stop training"
104
- " (mutually exclusive with max_updates)" ,
105
- )
106
- self .parser .add_argument (
107
- "--batch_size" ,
108
- type = int ,
109
- default = None ,
110
- help = "Batch size to be used for training "
111
- "If not passed it will default to config one" ,
112
- )
113
- self .parser .add_argument (
114
- "--save_dir" ,
115
- type = str ,
116
- default = "./save" ,
117
- help = "Location for saving model checkpoint" ,
118
- )
119
- self .parser .add_argument (
120
- "--log_dir" , type = str , default = None , help = "Location for saving logs"
121
- )
122
- self .parser .add_argument (
123
- "--logger_level" , type = str , default = None , help = "Level of logging"
124
- )
125
- self .parser .add_argument (
126
- "--log_detailed_config" ,
127
- type = int ,
128
- default = None ,
129
- help = "Log detailed final configuration parameters" ,
130
- )
131
-
132
- self .parser .add_argument (
133
- "--should_not_log" ,
134
- action = "store_true" ,
135
- default = False ,
136
- help = "Set when you don't want logging to happen" ,
137
- )
138
20
self .parser .add_argument (
139
21
"-co" ,
140
22
"--config_override" ,
141
23
type = str ,
142
24
default = None ,
143
25
help = "Use to override config from command line directly" ,
144
26
)
145
- self .parser .add_argument (
146
- "--resume_file" ,
147
- type = str ,
148
- default = None ,
149
- help = "File from which to resume checkpoint" ,
150
- )
151
- self .parser .add_argument (
152
- "--resume" ,
153
- type = bool ,
154
- default = None ,
155
- help = "Use when you want to restore from automatic checkpoint" ,
156
- )
157
- self .parser .add_argument (
158
- "--resume_best" ,
159
- type = bool ,
160
- default = None ,
161
- help = "Use when you want to restore from last best checkpoint instead of last ckpt" ,
162
- )
163
- self .parser .add_argument (
164
- "--evalai_inference" ,
165
- type = bool ,
166
- default = None ,
167
- help = "Whether predictions should be made for EvalAI." ,
168
- )
169
- self .parser .add_argument (
170
- "--verbose_dump" ,
171
- type = bool ,
172
- default = None ,
173
- help = "Whether to do verbose dump of dataset"
174
- " samples, predictions and other things." ,
175
- )
176
- self .parser .add_argument (
177
- "--lr_scheduler" ,
178
- type = bool ,
179
- default = None ,
180
- help = "Use when you want to use lr scheduler" ,
181
- )
182
- self .parser .add_argument (
183
- "--clip_gradients" ,
184
- type = bool ,
185
- default = None ,
186
- help = "Use when you want to clip gradients" ,
187
- )
188
- self .parser .add_argument (
189
- "--tensorboard" , type = bool , default = False , help = "Enable tensorboard"
190
- )
191
- self .parser .add_argument (
192
- "--tensorboard_logdir" ,
193
- type = str ,
194
- default = None ,
195
- help = "Default logdir for tensorboard" ,
196
- )
197
-
198
- self .parser .add_argument (
199
- "-dev" ,
200
- "--device_id" ,
201
- type = str ,
202
- default = None ,
203
- help = "Specify device to be used for training" ,
204
- )
205
- self .parser .add_argument (
206
- "-p" , "--patience" , type = int , default = None , help = "Patience for early stop"
207
- )
208
- self .parser .add_argument (
209
- "-fr" ,
210
- "--fast_read" ,
211
- type = bool ,
212
- default = None ,
213
- help = "If fast read should be activated" ,
214
- )
215
- self .parser .add_argument (
216
- "-pt" ,
217
- "--load_pretrained" ,
218
- type = int ,
219
- default = None ,
220
- help = "If using a pretrained model. "
221
- "Must be used with --resume_file parameter "
222
- "to specify pretrained model checkpoint. "
223
- "Will load only specific layers if "
224
- "pretrained mapping is specified in config" ,
225
- )
226
-
227
- self .parser .add_argument (
228
- "-nw" ,
229
- "--num_workers" ,
230
- type = int ,
231
- default = None ,
232
- help = "Number of workers for dataloaders" ,
233
- )
234
- self .parser .add_argument (
235
- "-lr" ,
236
- "--local_rank" ,
237
- type = int ,
238
- default = None ,
239
- help = "Local rank of the current node" ,
240
- )
241
27
self .parser .add_argument (
242
28
"opts" ,
243
29
default = None ,
244
30
nargs = argparse .REMAINDER ,
245
31
help = "Modify config options from command line" ,
246
32
)
247
33
248
- def update_model_args (self ):
249
- args = sys .argv
250
- model_name = None
251
- for index , item in enumerate (args ):
252
- if item == "--model" :
253
- model_name = args [index + 1 ]
254
-
255
- if model_name is None :
256
- return
257
-
258
- model_class = registry .get_model_class (model_name )
259
- if model_class is None :
260
- return
261
-
262
- model_class .init_args (self .parser )
263
-
264
34
265
35
flags = Flags ()
0 commit comments