blob: caefb47ee8d61abf8e78cd8432a86974fee82470 (
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
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# @package _global_
defaults:
- override /criterion: null
- override /datamodule: null
- override /network: null
- override /model: null
- override /lr_schedulers: null
- override /optimizers: null
epochs: &epochs 1000
summary: [[1, 1, 576, 640]]
criterion:
_target_: text_recognizer.criterions.barlow_twins.BarlowTwinsLoss
dim: 512
lambda_: 3.9e-3
# callbacks:
# stochastic_weight_averaging:
# _target_: pytorch_lightning.callbacks.StochasticWeightAveraging
# swa_epoch_start: 0.75
# swa_lrs: 1.0e-5
# annealing_epochs: 10
# annealing_strategy: cos
# device: null
optimizers:
madgrad:
_target_: madgrad.MADGRAD
lr: 1.0e-3
momentum: 0.9
weight_decay: 1.0e-6
eps: 1.0e-6
parameters: network
lr_schedulers:
network:
_target_: torch.optim.lr_scheduler.OneCycleLR
max_lr: 1.0e-1
total_steps: null
epochs: *epochs
steps_per_epoch: 5053
pct_start: 0.03
anneal_strategy: cos
cycle_momentum: true
base_momentum: 0.85
max_momentum: 0.95
div_factor: 25
final_div_factor: 1.0e4
three_phase: false
last_epoch: -1
verbose: false
# Non-class arguments
interval: step
monitor: val/loss
datamodule:
_target_: text_recognizer.data.iam_extended_paragraphs.IAMExtendedParagraphs
batch_size: 4
num_workers: 12
train_fraction: 0.9
pin_memory: true
transform: transform/barlow_paragraphs.yaml
test_transform: transform/barlow_paragraphs.yaml
mapping:
_target_: text_recognizer.data.mappings.emnist_mapping.EmnistMapping
extra_symbols: [ "\n" ]
network:
_target_: text_recognizer.networks.barlow_twins.network.BarlowTwins
encoder:
_target_: text_recognizer.networks.encoders.efficientnet.EfficientNet
arch: b0
out_channels: 1280
stochastic_dropout_rate: 0.2
bn_momentum: 0.99
bn_eps: 1.0e-3
projector:
_target_: text_recognizer.networks.barlow_twins.projector.Projector
dims: [1280, 512, 512, 512]
model:
_target_: text_recognizer.models.barlow_twins.BarlowTwinsLitModel
trainer:
_target_: pytorch_lightning.Trainer
stochastic_weight_avg: true
auto_scale_batch_size: binsearch
auto_lr_find: false
gradient_clip_val: 0.0
fast_dev_run: false
gpus: 1
precision: 16
max_epochs: *epochs
terminate_on_nan: true
weights_summary: null
limit_train_batches: 1.0
limit_val_batches: 1.0
limit_test_batches: 1.0
resume_from_checkpoint: null
accumulate_grad_batches: 128
overfit_batches: 0
|