summaryrefslogtreecommitdiff
path: root/training/conf/experiment
diff options
context:
space:
mode:
Diffstat (limited to 'training/conf/experiment')
-rw-r--r--training/conf/experiment/conformer_lines.yaml43
-rw-r--r--training/conf/experiment/conv_transformer_lines.yaml16
-rw-r--r--training/conf/experiment/conv_transformer_paragraphs.yaml103
3 files changed, 15 insertions, 147 deletions
diff --git a/training/conf/experiment/conformer_lines.yaml b/training/conf/experiment/conformer_lines.yaml
index c3f4ea5..06e761e 100644
--- a/training/conf/experiment/conformer_lines.yaml
+++ b/training/conf/experiment/conformer_lines.yaml
@@ -5,15 +5,15 @@ defaults:
- override /criterion: ctc
- override /callbacks: htr
- override /datamodule: iam_lines
- - override /network: null
+ - override /network: conformer
- override /model: null
- override /lr_schedulers: null
- override /optimizers: null
-epochs: &epochs 200
+epochs: &epochs 999
num_classes: &num_classes 57
-max_output_len: &max_output_len 762
-summary: [[1, 57, 1024]]
+max_output_len: &max_output_len 89
+summary: [[1, 56, 1024]]
mapping: &mapping
mapping:
@@ -59,41 +59,6 @@ datamodule:
pin_memory: true
<< : *mapping
-network:
- _target_: text_recognizer.networks.conformer.Conformer
- depth: 16
- num_classes: *num_classes
- dim: &dim 128
- block:
- _target_: text_recognizer.networks.conformer.ConformerBlock
- dim: *dim
- attn:
- _target_: text_recognizer.networks.conformer.Attention
- dim: *dim
- heads: 8
- dim_head: 64
- mult: 4
- ff:
- _target_: text_recognizer.networks.conformer.Feedforward
- dim: *dim
- expansion_factor: 4
- dropout: 0.1
- conv:
- _target_: text_recognizer.networks.conformer.ConformerConv
- dim: *dim
- expansion_factor: 2
- kernel_size: 31
- dropout: 0.1
- subsampler:
- _target_: text_recognizer.networks.conformer.Subsampler
- pixel_pos_embedding:
- _target_: text_recognizer.networks.transformer.AxialPositionalEmbedding
- dim: *dim
- shape: [6, 127]
- channels: *dim
- depth: 3
- dropout: 0.1
-
model:
_target_: text_recognizer.models.conformer.LitConformer
<<: *mapping
diff --git a/training/conf/experiment/conv_transformer_lines.yaml b/training/conf/experiment/conv_transformer_lines.yaml
index 259e4ea..55dc896 100644
--- a/training/conf/experiment/conv_transformer_lines.yaml
+++ b/training/conf/experiment/conv_transformer_lines.yaml
@@ -93,12 +93,12 @@ decoder: &decoder
_target_: text_recognizer.networks.transformer.decoder.DecoderBlock
self_attn:
_target_: text_recognizer.networks.transformer.attention.Attention
- << : *attn
+ <<: *attn
causal: true
- << : *rotary_embedding
+ <<: *rotary_embedding
cross_attn:
_target_: text_recognizer.networks.transformer.attention.Attention
- << : *attn
+ <<: *attn
causal: false
norm:
_target_: text_recognizer.networks.transformer.norm.RMSNorm
@@ -124,15 +124,15 @@ network:
num_classes: *num_classes
pad_index: *ignore_index
encoder:
- << : *encoder
+ <<: *encoder
decoder:
- << : *decoder
+ <<: *decoder
pixel_pos_embedding:
- << : *pixel_pos_embedding
+ <<: *pixel_pos_embedding
model:
- _target_: text_recognizer.models.transformer.TransformerLitModel
- << : *mapping
+ _target_: text_recognizer.models.transformer.LitTransformer
+ <<: *mapping
max_output_len: *max_output_len
start_token: <s>
end_token: <e>
diff --git a/training/conf/experiment/conv_transformer_paragraphs.yaml b/training/conf/experiment/conv_transformer_paragraphs.yaml
index afa1785..cc81645 100644
--- a/training/conf/experiment/conv_transformer_paragraphs.yaml
+++ b/training/conf/experiment/conv_transformer_paragraphs.yaml
@@ -1,31 +1,23 @@
----
# @package _global_
defaults:
- - override /mapping: null
+ - override /mapping: emnist
- override /criterion: cross_entropy
- override /callbacks: htr
- override /datamodule: iam_extended_paragraphs
- - override /network: null
- - override /model: null
+ - override /network: conv_transformer
+ - override /model: lit_transformer
- override /lr_schedulers: null
- override /optimizers: null
epochs: &epochs 200
ignore_index: &ignore_index 3
-num_classes: &num_classes 58
-max_output_len: &max_output_len 682
summary: [[1, 1, 576, 640], [1, 682]]
criterion:
ignore_index: *ignore_index
# label_smoothing: 0.1
-mapping: &mapping
- mapping:
- _target_: text_recognizer.data.mappings.emnist.EmnistMapping
- extra_symbols: ["\n"]
-
callbacks:
stochastic_weight_averaging:
_target_: pytorch_lightning.callbacks.StochasticWeightAveraging
@@ -67,94 +59,5 @@ datamodule:
pin_memory: true
<< : *mapping
-encoder: &encoder
- _target_: text_recognizer.networks.efficientnet.efficientnet.EfficientNet
- arch: b0
- stochastic_dropout_rate: 0.2
- bn_momentum: 0.99
- bn_eps: 1.0e-3
- depth: 7
-
-rotary_embedding: &rotary_embedding
- rotary_embedding:
- _target_: >
- text_recognizer.networks.transformer.embeddings.rotary.RotaryEmbedding
- dim: 64
-
-attn: &attn
- dim: &hidden_dim 512
- num_heads: 4
- dim_head: 64
- dropout_rate: &dropout_rate 0.4
-
-decoder: &decoder
- _target_: text_recognizer.networks.transformer.decoder.Decoder
- depth: 6
- has_pos_emb: true
- block:
- _target_: text_recognizer.networks.transformer.decoder.DecoderBlock
- self_attn:
- _target_: text_recognizer.networks.transformer.attention.Attention
- << : *attn
- causal: true
- << : *rotary_embedding
- cross_attn:
- _target_: text_recognizer.networks.transformer.attention.Attention
- << : *attn
- causal: false
- norm:
- _target_: text_recognizer.networks.transformer.norm.RMSNorm
- dim: *hidden_dim
- ff:
- _target_: text_recognizer.networks.transformer.mlp.FeedForward
- dim: *hidden_dim
- dim_out: null
- expansion_factor: 2
- glu: true
- dropout_rate: *dropout_rate
-
-pixel_pos_embedding: &pixel_pos_embedding
- _target_: >
- text_recognizer.networks.transformer.embeddings.axial.AxialPositionalEmbedding
- dim: *hidden_dim
- shape: &shape [18, 20]
-
-network:
- _target_: text_recognizer.networks.conv_transformer.ConvTransformer
- input_dims: [1, 1, 576, 640]
- hidden_dim: *hidden_dim
- num_classes: *num_classes
- pad_index: *ignore_index
- encoder:
- << : *encoder
- decoder:
- << : *decoder
- pixel_pos_embedding:
- << : *pixel_pos_embedding
-
-model:
- _target_: text_recognizer.models.transformer.TransformerLitModel
- << : *mapping
- max_output_len: *max_output_len
- start_token: <s>
- end_token: <e>
- pad_token: <p>
-
trainer:
- _target_: pytorch_lightning.Trainer
- stochastic_weight_avg: true
- auto_scale_batch_size: binsearch
- auto_lr_find: false
- gradient_clip_val: 0.5
- 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: 2
- overfit_batches: 0