blob: a4f16df7ffb0fbe6cb3f18fa2e075f256a7f3a86 (
plain)
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
|
seed: 4711
network:
desc: Configuration of the PyTorch neural network.
type: CNNTransformer
args:
encoder:
type: EfficientNet
args: null
num_decoder_layers: 4
vocab_size: 84
hidden_dim: 256
num_heads: 4
expansion_dim: 1024
dropout_rate: 0.1
transformer_activation: glu
model:
desc: Configuration of the PyTorch Lightning model.
type: LitTransformerModel
args:
optimizer:
type: MADGRAD
args:
lr: 1.0e-3
momentum: 0.9
weight_decay: 0
eps: 1.0e-6
lr_scheduler:
type: OneCycleLR
args:
interval: &interval step
max_lr: 1.0e-3
three_phase: true
epochs: 512
steps_per_epoch: 1246 # num_samples / batch_size
criterion:
type: CrossEntropyLoss
args:
weight: null
ignore_index: -100
reduction: mean
monitor: val_loss
mapping: sentence_piece
data:
desc: Configuration of the training/test data.
type: IAMExtendedParagraphs
args:
batch_size: 8
num_workers: 12
train_fraction: 0.8
augment: true
callbacks:
- type: ModelCheckpoint
args:
monitor: val_loss
mode: min
save_last: true
# - type: StochasticWeightAveraging
# args:
# swa_epoch_start: 0.8
# swa_lrs: 0.05
# annealing_epochs: 10
# annealing_strategy: cos
# device: null
- type: LearningRateMonitor
args:
logging_interval: *interval
# - type: EarlyStopping
# args:
# monitor: val_loss
# mode: min
# patience: 10
trainer:
desc: Configuration of the PyTorch Lightning Trainer.
args:
stochastic_weight_avg: false
auto_scale_batch_size: binsearch
gradient_clip_val: 0
fast_dev_run: true
gpus: 1
precision: 16
max_epochs: 512
terminate_on_nan: true
weights_summary: top
load_checkpoint: null
|