Skip to content

Commit a4a853b

Browse files
committed
Fix util paths
1 parent 60bbdfd commit a4a853b

File tree

4 files changed

+64
-186
lines changed

4 files changed

+64
-186
lines changed

Diff for: applications/FLASK/Transformer/arg_utils.py

+60-45
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import argparse
2-
import data_utils
2+
import dataset_utils
33

44

55
# Command-line arguments
@@ -8,70 +8,85 @@ def add_transformer_architecture_arguments(args: argparse.Namespace):
88
Adds the command line arguments to specify transformer architecture model
99
parameters. This is only relevant for the encoder-decoder transformer model.
1010
"""
11-
args.add_argument('--num-attention-heads',
12-
action='store',
13-
default=8,
14-
type=int,
15-
help='number of parallel attention layers (default: 8)',
16-
metavar='NUM')
17-
args.add_argument('--embed-dim',
18-
action='store',
19-
default=512,
20-
type=int,
21-
help='embedding space dimension (default: 512)',
22-
metavar='NUM')
23-
args.add_argument('--feedforward-dim',
24-
action='store',
25-
default=0,
26-
type=int,
27-
help='feedforward network dimension. If zero, set to be '
28-
'4 times the embedding dimension (default: 0)',
29-
metavar='NUM')
30-
args.add_argument('--num-layers',
31-
action='store',
32-
default=6,
33-
type=int,
34-
help='Number of encoder and decoder layers (default: 6)',
35-
metavar='NUM')
11+
args.add_argument(
12+
"--num-attention-heads",
13+
action="store",
14+
default=8,
15+
type=int,
16+
help="number of parallel attention layers (default: 8)",
17+
metavar="NUM",
18+
)
19+
args.add_argument(
20+
"--embed-dim",
21+
action="store",
22+
default=512,
23+
type=int,
24+
help="embedding space dimension (default: 512)",
25+
metavar="NUM",
26+
)
27+
args.add_argument(
28+
"--feedforward-dim",
29+
action="store",
30+
default=0,
31+
type=int,
32+
help="feedforward network dimension. If zero, set to be "
33+
"4 times the embedding dimension (default: 0)",
34+
metavar="NUM",
35+
)
36+
args.add_argument(
37+
"--num-layers",
38+
action="store",
39+
default=6,
40+
type=int,
41+
help="Number of encoder and decoder layers (default: 6)",
42+
metavar="NUM",
43+
)
3644

3745

3846
def add_dataset_arguments(args: argparse.Namespace, default: str):
3947
"""
4048
Adds dataset-related arguments to an existing argparse object.
4149
"""
42-
args.add_argument('--dataset',
43-
type=str,
44-
default=default,
45-
help=f'Which dataset to use (default: {default})',
46-
choices=data_utils.available_datasets())
47-
args.add_argument('--dataset-fraction',
48-
action='store',
49-
default=1.0,
50-
type=float,
51-
help='Fraction of dataset to use (default: 1.0)',
52-
metavar='NUM')
50+
args.add_argument(
51+
"--dataset",
52+
type=str,
53+
default=default,
54+
help=f"Which dataset to use (default: {default})",
55+
choices=dataset_utils.available_datasets(),
56+
)
57+
args.add_argument(
58+
"--dataset-fraction",
59+
action="store",
60+
default=1.0,
61+
type=float,
62+
help="Fraction of dataset to use (default: 1.0)",
63+
metavar="NUM",
64+
)
5365

5466

5567
def add_training_arguments(parser: argparse.ArgumentParser):
56-
parser.add_argument("--skip-validation",
57-
action="store_true",
58-
default=False,
59-
help="Do not run validation (default: false)")
68+
parser.add_argument(
69+
"--skip-validation",
70+
action="store_true",
71+
default=False,
72+
help="Do not run validation (default: false)",
73+
)
6074
parser.add_argument(
6175
"--always-shuffle",
6276
action="store_true",
6377
default=False,
64-
help=
65-
"Always shuffle training dataset, even if pretokenized (default: false)"
78+
help="Always shuffle training dataset, even if pretokenized (default: false)",
6679
)
6780
parser.add_argument(
6881
"--validation-set-fraction",
6982
type=float,
7083
default=0.01,
71-
help="Fraction of the validation dataset to use (default: 0.001)")
84+
help="Fraction of the validation dataset to use (default: 0.001)",
85+
)
7286
parser.add_argument(
7387
"--save-prototext",
7488
action="store_true",
7589
default=False,
7690
help="Save prototext experiment file instead of protobin (slower but "
77-
"debuggable) (default: false)")
91+
"debuggable) (default: false)",
92+
)

Diff for: applications/FLASK/Transformer/dataset_utils.py

-21
Original file line numberDiff line numberDiff line change
@@ -24,24 +24,3 @@ def load_dataset(name: str):
2424
"""
2525
sys.path.append(dataset_dir)
2626
return importlib.import_module(name)
27-
28-
29-
def add_dataset_arguments(args: argparse.Namespace, default: str):
30-
"""
31-
Adds dataset-related arguments to an existing argparse object.
32-
"""
33-
args.add_argument(
34-
"--dataset",
35-
type=str,
36-
default=default,
37-
help=f"Which dataset to use (default: {default})",
38-
choices=available_datasets(),
39-
)
40-
args.add_argument(
41-
"--dataset-fraction",
42-
action="store",
43-
default=1.0,
44-
type=float,
45-
help="Fraction of dataset to use (default: 1.0)",
46-
metavar="NUM",
47-
)

Diff for: applications/FLASK/Transformer/network.py

-47
Original file line numberDiff line numberDiff line change
@@ -177,50 +177,3 @@ def _add_encoder_decoder_loss(
177177
# Compute cross-entropy
178178
ce = lbann.CrossEntropy(preds, labels, use_labels=True)
179179
return lbann.Scale(ce, constant=1 / (sequence_length - 1))
180-
181-
182-
def add_transformer_architecture_arguments(args: argparse.Namespace):
183-
"""
184-
Adds the command line arguments to specify transformer architecture model
185-
parameters. This is only relevant for the encoder-decoder transformer model.
186-
"""
187-
args.add_argument(
188-
"--num-attention-heads",
189-
action="store",
190-
default=8,
191-
type=int,
192-
help="number of parallel attention layers (default: 8)",
193-
metavar="NUM",
194-
)
195-
args.add_argument(
196-
"--embed-dim",
197-
action="store",
198-
default=512,
199-
type=int,
200-
help="embedding space dimension (default: 512)",
201-
metavar="NUM",
202-
)
203-
args.add_argument(
204-
"--feedforward-dim",
205-
action="store",
206-
default=0,
207-
type=int,
208-
help="feedforward network dimension. If zero, set to be "
209-
"4 times the embedding dimension (default: 0)",
210-
metavar="NUM",
211-
)
212-
args.add_argument(
213-
"--num-layers",
214-
action="store",
215-
default=6,
216-
type=int,
217-
help="Number of encoder and decoder layers (default: 6)",
218-
metavar="NUM",
219-
)
220-
args.add_argument(
221-
"--positional-encoding",
222-
type=str,
223-
default="learned",
224-
help="The type of positional encoding to use " "(default: learned)",
225-
choices=[s.name.lower() for s in InputEncoding],
226-
)

Diff for: applications/FLASK/Transformer/trainer.py

+4-73
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import paths
1616

1717
import dataset_utils
18+
import arg_utils
1819
import applications.FLASK.Transformer.network as network
1920

2021

@@ -267,85 +268,15 @@ def make_batch_script(
267268
return script
268269

269270

270-
def add_training_arguments(parser: argparse.ArgumentParser):
271-
parser.add_argument(
272-
"--skip-validation",
273-
action="store_true",
274-
default=False,
275-
help="Do not run validation (default: false)",
276-
)
277-
parser.add_argument(
278-
"--always-shuffle",
279-
action="store_true",
280-
default=False,
281-
help="Always shuffle training dataset, even if pretokenized (default: false)",
282-
)
283-
parser.add_argument(
284-
"--validation-set-fraction",
285-
type=float,
286-
default=0.01,
287-
help="Fraction of the validation dataset to use (default: 0.001)",
288-
)
289-
parser.add_argument(
290-
"--save-prototext",
291-
action="store_true",
292-
default=False,
293-
help="Save prototext experiment file instead of protobin (slower but "
294-
"debuggable) (default: false)",
295-
)
296-
parser.add_argument(
297-
"--validate-every",
298-
type=int,
299-
default=100,
300-
help="Run validation every N steps (default: 100)",
301-
)
302-
parser.add_argument(
303-
"--random-seed",
304-
action="store",
305-
default=None,
306-
type=int,
307-
help=f"Set random seed explicitly",
308-
metavar="NUM",
309-
)
310-
parser.add_argument(
311-
"--pbar-newline-interval",
312-
type=int,
313-
default=100,
314-
help="Number of iterations in progress bar before "
315-
"printing a newline (default: 100)",
316-
)
317-
parser.add_argument(
318-
"--pbar-width",
319-
type=int,
320-
default=30,
321-
help="Progress bar width, if enabled (default: 30)",
322-
)
323-
parser.add_argument(
324-
"--pbar-moving-avg",
325-
type=int,
326-
default=10,
327-
help="Progress bar iteration time moving average "
328-
"length in iterations. Disable moving average with 1 "
329-
"(default: 10)",
330-
)
331-
parser.add_argument(
332-
"--pbar-scientific",
333-
action="store_true",
334-
default=False,
335-
help="Use scientific notation for objective value "
336-
"printouts in progress bar (default: false)",
337-
)
338-
339-
340271
def main():
341272
# Setup command line options
342273
parser = argparse.ArgumentParser()
343274
lbann.contrib.args.add_scheduler_arguments(parser, "lbann_transformer")
344275
lbann.contrib.args.add_profiling_arguments(parser)
345276
lbann.contrib.args.add_training_arguments(parser)
346-
network.add_transformer_architecture_arguments(parser)
347-
add_training_arguments(parser)
348-
dataset_utils.add_dataset_arguments(parser, default="qm9")
277+
arg_utils.add_transformer_architecture_arguments(parser)
278+
arg_utils.add_training_arguments(parser)
279+
arg_utils.add_dataset_arguments(parser, default="qm9")
349280

350281
parser.add_argument(
351282
"--optimizer",

0 commit comments

Comments
 (0)