summaryrefslogtreecommitdiff
path: root/training
diff options
context:
space:
mode:
Diffstat (limited to 'training')
-rw-r--r--training/conf/experiment/cnn_htr_char_lines.yaml149
-rw-r--r--training/conf/experiment/cnn_htr_ctc_char_lines.yaml149
-rw-r--r--training/conf/experiment/cnn_htr_wp_lines.yaml159
-rw-r--r--training/conf/experiment/vqgan_htr_char_iam_lines.yaml88
-rw-r--r--training/conf/experiment/vqgan_iam_lines.yaml103
5 files changed, 0 insertions, 648 deletions
diff --git a/training/conf/experiment/cnn_htr_char_lines.yaml b/training/conf/experiment/cnn_htr_char_lines.yaml
deleted file mode 100644
index 759161c..0000000
--- a/training/conf/experiment/cnn_htr_char_lines.yaml
+++ /dev/null
@@ -1,149 +0,0 @@
-# @package _glbal_
-
-defaults:
- - override /mapping: null
- - override /criterion: null
- - override /datamodule: null
- - override /network: null
- - override /model: null
- - 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 89
-
-criterion:
- _target_: text_recognizer.criterions.label_smoothing.LabelSmoothingLoss
- smoothing: 0.1
- ignore_index: *ignore_index
-
-mapping: &mapping
- mapping:
- _target_: text_recognizer.data.emnist_mapping.EmnistMapping
-
-callbacks:
- stochastic_weight_averaging:
- _target_: pytorch_lightning.callbacks.StochasticWeightAveraging
- swa_epoch_start: 0.75
- swa_lrs: 5.0e-5
- annealing_epochs: 10
- annealing_strategy: cos
- device: null
-
-optimizers:
- madgrad:
- _target_: madgrad.MADGRAD
- lr: 1.0e-4
- momentum: 0.9
- weight_decay: 0
- eps: 1.0e-6
- parameters: network
-
-lr_schedulers:
- network:
- _target_: torch.optim.lr_scheduler.OneCycleLR
- max_lr: 3.0e-4
- total_steps: null
- epochs: *epochs
- steps_per_epoch: 90
- pct_start: 0.1
- 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_lines.IAMLines
- num_workers: 12
- train_fraction: 0.9
- pin_memory: true
- transform: transform/iam_lines.yaml
- test_transform: transform/iam_lines.yaml
- target_transform: target_transform/word_pieces
- <<: *mapping
-
-network:
- _target_: text_recognizer.networks.conv_transformer.ConvTransformer
- input_dims: [1, 56, 1024]
- hidden_dim: &hidden_dim 256
- encoder_dim: 1280
- dropout_rate: 0.2
- num_classes: *num_classes
- pad_index: *ignore_index
- 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
- decoder:
- _target_: text_recognizer.networks.transformer.Decoder
- dim: *hidden_dim
- depth: 3
- num_heads: 4
- attn_fn: text_recognizer.networks.transformer.attention.Attention
- attn_kwargs:
- dim_head: 32
- dropout_rate: 0.2
- norm_fn: text_recognizer.networks.transformer.norm.ScaleNorm
- ff_fn: text_recognizer.networks.transformer.mlp.FeedForward
- ff_kwargs:
- dim_out: null
- expansion_factor: 4
- glu: true
- dropout_rate: 0.2
- cross_attend: true
- pre_norm: true
- rotary_emb:
- _target_: text_recognizer.networks.transformer.positional_encodings.rotary_embedding.RotaryEmbedding
- dim: 32
- pixel_pos_embedding:
- _target_: text_recognizer.networks.transformer.positional_encodings.PositionalEncoding2D
- hidden_dim: *hidden_dim
- max_h: 18
- max_w: 20
- token_pos_embedding:
- _target_: text_recognizer.networks.transformer.positional_encodings.PositionalEncoding
- hidden_dim: *hidden_dim
- dropout_rate: 0.2
- max_len: *max_output_len
-
-model:
- _target_: text_recognizer.models.transformer.TransformerLitModel
- 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: 4
- overfit_batches: 0
-
-summary: [[1, 1, 56, 1024], [1, 89]]
diff --git a/training/conf/experiment/cnn_htr_ctc_char_lines.yaml b/training/conf/experiment/cnn_htr_ctc_char_lines.yaml
deleted file mode 100644
index 965d35f..0000000
--- a/training/conf/experiment/cnn_htr_ctc_char_lines.yaml
+++ /dev/null
@@ -1,149 +0,0 @@
-# @package _global_
-
-defaults:
- - override /mapping: null
- - override /callbacks: htr
- - override /criterion: null
- - override /datamodule: null
- - override /network: null
- - override /model: null
- - 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 89
-
-criterion:
- _target_: text_recognizer.criterions.ctc.CTCLoss
- blank: *ignore_index
-
-mapping: &mapping
- mapping:
- _target_: text_recognizer.data.mappings.emnist_mapping.EmnistMapping
-
-callbacks:
- stochastic_weight_averaging:
- _target_: pytorch_lightning.callbacks.StochasticWeightAveraging
- swa_epoch_start: 0.75
- swa_lrs: 5.0e-5
- annealing_epochs: 10
- annealing_strategy: cos
- device: null
-
-optimizers:
- madgrad:
- _target_: madgrad.MADGRAD
- lr: 1.0e-4
- momentum: 0.9
- weight_decay: 0
- eps: 1.0e-6
- parameters: network
-
-lr_schedulers:
- network:
- _target_: torch.optim.lr_scheduler.OneCycleLR
- max_lr: 3.0e-4
- total_steps: null
- epochs: *epochs
- steps_per_epoch: 90
- pct_start: 0.1
- 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_lines.IAMLines
- num_workers: 12
- batch_size: 16
- train_fraction: 0.9
- pin_memory: true
- transform: transform/iam_lines.yaml
- test_transform: transform/iam_lines.yaml
- <<: *mapping
-
-network:
- _target_: text_recognizer.networks.conv_transformer.ConvTransformer
- input_dims: [1, 56, 1024]
- hidden_dim: &hidden_dim 256
- encoder_dim: 1280
- dropout_rate: 0.2
- num_classes: *num_classes
- pad_index: *ignore_index
- 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
- decoder:
- _target_: text_recognizer.networks.transformer.Decoder
- dim: *hidden_dim
- depth: 3
- num_heads: 4
- attn_fn: text_recognizer.networks.transformer.attention.Attention
- attn_kwargs:
- dim_head: 32
- dropout_rate: 0.2
- norm_fn: text_recognizer.networks.transformer.norm.ScaleNorm
- ff_fn: text_recognizer.networks.transformer.mlp.FeedForward
- ff_kwargs:
- dim_out: null
- expansion_factor: 4
- glu: true
- dropout_rate: 0.2
- cross_attend: true
- pre_norm: true
- rotary_emb:
- _target_: text_recognizer.networks.transformer.positional_encodings.rotary_embedding.RotaryEmbedding
- dim: 32
- pixel_pos_embedding:
- _target_: text_recognizer.networks.transformer.positional_encodings.PositionalEncoding2D
- hidden_dim: *hidden_dim
- max_h: 1
- max_w: 32
- token_pos_embedding:
- _target_: text_recognizer.networks.transformer.positional_encodings.PositionalEncoding
- hidden_dim: *hidden_dim
- dropout_rate: 0.2
- max_len: *max_output_len
-
-model:
- _target_: text_recognizer.models.transformer.TransformerLitModel
- 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: 4
- overfit_batches: 0
-
-summary: [[1, 1, 56, 1024], [1, 89]]
diff --git a/training/conf/experiment/cnn_htr_wp_lines.yaml b/training/conf/experiment/cnn_htr_wp_lines.yaml
deleted file mode 100644
index 9f1164a..0000000
--- a/training/conf/experiment/cnn_htr_wp_lines.yaml
+++ /dev/null
@@ -1,159 +0,0 @@
-# @package _global_
-
-defaults:
- - override /mapping: null
- - override /callbacks: htr
- - override /criterion: null
- - override /datamodule: null
- - override /network: null
- - override /model: null
- - override /lr_schedulers: null
- - override /optimizers: null
-
-epochs: &epochs 512
-ignore_index: &ignore_index 1000
-num_classes: &num_classes 1006
-max_output_len: &max_output_len 72
-
-criterion:
- # _target_: torch.nn.CrossEntropyLoss
- # ignore_index: *ignore_index
- _target_: text_recognizer.criterions.label_smoothing.LabelSmoothingLoss
- smoothing: 0.1
- ignore_index: *ignore_index
-
-mapping: &mapping
- mapping:
- _target_: text_recognizer.data.mappings.word_piece_mapping.WordPieceMapping
- num_features: 1000
- tokens: iamdb_1kwp_tokens_1000.txt
- lexicon: iamdb_1kwp_lex_1000.txt
- use_words: false
- prepend_wordsep: false
- special_tokens: [ <s>, <e>, <p> ]
-
-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-4
- momentum: 0.9
- weight_decay: 0
- eps: 1.0e-6
-
- parameters: network
-
-lr_schedulers:
- network:
- _target_: torch.optim.lr_scheduler.OneCycleLR
- max_lr: 1.0e-4
- total_steps: null
- epochs: *epochs
- steps_per_epoch: 179
- 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_lines.IAMLines
- num_workers: 12
- batch_size: 16
- train_fraction: 0.9
- pin_memory: true
- transform: transform/iam_lines.yaml
- test_transform: transform/iam_lines.yaml
- target_transform: target_transform/word_piece_iam.yaml
- <<: *mapping
-
-network:
- _target_: text_recognizer.networks.conv_transformer.ConvTransformer
- input_dims: [1, 56, 1024]
- hidden_dim: &hidden_dim 256
- encoder_dim: 1280
- dropout_rate: 0.2
- num_classes: *num_classes
- pad_index: *ignore_index
- 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
- decoder:
- _target_: text_recognizer.networks.transformer.Decoder
- dim: *hidden_dim
- depth: 3
- num_heads: 4
- attn_fn: text_recognizer.networks.transformer.attention.Attention
- attn_kwargs:
- dim_head: 32
- dropout_rate: 0.2
- norm_fn: text_recognizer.networks.transformer.norm.ScaleNorm
- ff_fn: text_recognizer.networks.transformer.mlp.FeedForward
- ff_kwargs:
- dim_out: null
- expansion_factor: 4
- glu: true
- dropout_rate: 0.2
- cross_attend: true
- pre_norm: true
- rotary_emb:
- _target_: text_recognizer.networks.transformer.positional_encodings.rotary.RotaryEmbedding
- dim: 32
- pixel_pos_embedding:
- _target_: text_recognizer.networks.transformer.positional_encodings.PositionalEncoding2D
- hidden_dim: *hidden_dim
- max_h: 1
- max_w: 32
- token_pos_embedding:
- _target_: text_recognizer.networks.transformer.positional_encodings.PositionalEncoding
- hidden_dim: *hidden_dim
- dropout_rate: 0.2
- max_len: *max_output_len
-
-model:
- _target_: text_recognizer.models.transformer.TransformerLitModel
- 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: 4
- overfit_batches: 0
-
-summary: [[1, 1, 56, 1024], [1, 89]]
diff --git a/training/conf/experiment/vqgan_htr_char_iam_lines.yaml b/training/conf/experiment/vqgan_htr_char_iam_lines.yaml
deleted file mode 100644
index 27fdfda..0000000
--- a/training/conf/experiment/vqgan_htr_char_iam_lines.yaml
+++ /dev/null
@@ -1,88 +0,0 @@
-defaults:
- - override /mapping: null
- - override /criterion: null
- - override /datamodule: null
- - override /network: null
- - override /model: null
- - override /lr_schedulers: null
- # - override /optimizers: null
-
-
-criterion:
- _target_: text_recognizer.criterions.label_smoothing.LabelSmoothingLoss
- smoothing: 0.1
- ignore_index: 3
-
-mapping:
- _target_: text_recognizer.data.emnist_mapping.EmnistMapping
- # extra_symbols: [ "\n" ]
-
-lr_schedulers:
- network:
- _target_: torch.optim.lr_scheduler.CosineAnnealingLR
- T_max: 512
- eta_min: 4.5e-6
- last_epoch: -1
- interval: epoch
- monitor: val/loss
-
-datamodule:
- _target_: text_recognizer.data.iam_lines.IAMLines
- batch_size: 4
- num_workers: 12
- train_fraction: 0.8
- augment: false
- pin_memory: false
-
-
-# optimizers:
-# - _target_: madgrad.MADGRAD
-# lr: 2.0e-4
-# momentum: 0.9
-# weight_decay: 0
-# eps: 1.0e-7
-# parameters: network
-
-network:
- _target_: text_recognizer.networks.vq_transformer.VqTransformer
- input_dims: [1, 56, 1024]
- encoder_dim: 32
- hidden_dim: 32
- dropout_rate: 0.1
- num_classes: 58
- pad_index: 3
- no_grad: true
- decoder:
- _target_: text_recognizer.networks.transformer.Decoder
- dim: 32
- depth: 4
- num_heads: 8
- attn_fn: text_recognizer.networks.transformer.attention.Attention
- attn_kwargs:
- dim_head: 32
- dropout_rate: 0.2
- norm_fn: torch.nn.LayerNorm
- ff_fn: text_recognizer.networks.transformer.mlp.FeedForward
- ff_kwargs:
- dim_out: null
- expansion_factor: 4
- glu: true
- dropout_rate: 0.2
- cross_attend: true
- pre_norm: true
- rotary_emb: null
- pretrained_encoder_path: "training/logs/runs/2021-09-26/23-27-57"
-
-model:
- _target_: text_recognizer.models.vq_transformer.VqTransformerLitModel
- start_token: <s>
- end_token: <e>
- pad_token: <p>
- max_output_len: 89 # 451
- alpha: 0.0
-
-trainer:
- max_epochs: 512
- # limit_train_batches: 0.1
- # limit_val_batches: 0.1
- # gradient_clip_val: 0.5
diff --git a/training/conf/experiment/vqgan_iam_lines.yaml b/training/conf/experiment/vqgan_iam_lines.yaml
deleted file mode 100644
index 890948c..0000000
--- a/training/conf/experiment/vqgan_iam_lines.yaml
+++ /dev/null
@@ -1,103 +0,0 @@
-defaults:
- - override /network: null
- - override /criterion: null
- - override /datamodule: null
- - override /model: lit_vqgan
- - override /callbacks: wandb_vae
- - override /optimizers: null
- - override /lr_schedulers: null
-
-criterion:
- _target_: text_recognizer.criterions.vqgan_loss.VQGANLoss
- reconstruction_loss:
- _target_: torch.nn.BCEWithLogitsLoss
- reduction: mean
- discriminator:
- _target_: text_recognizer.criterions.n_layer_discriminator.NLayerDiscriminator
- in_channels: 1
- num_channels: 64
- num_layers: 3
- commitment_weight: 0.25
- discriminator_weight: 0.8
- discriminator_factor: 1.0
- discriminator_iter_start: 1.5e4
-
-datamodule:
- _target_: text_recognizer.data.iam_lines.IAMLines
- batch_size: 24
- num_workers: 12
- train_fraction: 0.8
- augment: true
- pin_memory: false
-
-lr_schedulers:
- generator:
- _target_: torch.optim.lr_scheduler.CosineAnnealingLR
- T_max: 64
- eta_min: 4.5e-6
- last_epoch: -1
- interval: epoch
- monitor: val/loss
-# discriminator:
-# _target_: torch.optim.lr_scheduler.CosineAnnealingLR
-# T_max: 64
-# eta_min: 0.0
-# last_epoch: -1
-#
-# interval: epoch
-# monitor: val/loss
-
-optimizers:
- generator:
- _target_: madgrad.MADGRAD
- lr: 1.0e-4
- momentum: 0.5
- weight_decay: 0
- eps: 1.0e-7
- parameters: network
-
- discriminator:
- _target_: madgrad.MADGRAD
- lr: 4.5e-6
- momentum: 0.5
- weight_decay: 0
- eps: 1.0e-6
- parameters: loss_fn.discriminator
-
-network:
- _target_: text_recognizer.networks.vqvae.vqvae.VQVAE
- hidden_dim: 256
- embedding_dim: 32
- num_embeddings: 512
- decay: 0.99
- encoder:
- _target_: text_recognizer.networks.vqvae.encoder.Encoder
- in_channels: 1
- hidden_dim: 32
- channels_multipliers: [1, 4, 8]
- dropout_rate: 0.0
- activation: mish
- use_norm: true
- num_residuals: 2
- residual_channels: 32
- decoder:
- _target_: text_recognizer.networks.vqvae.decoder.Decoder
- out_channels: 1
- hidden_dim: 32
- channels_multipliers: [8, 4, 1]
- dropout_rate: 0.0
- activation: mish
- use_norm: true
- num_residuals: 2
- residual_channels: 32
-
-trainer:
- max_epochs: 64
- # limit_train_batches: 0.1
- # limit_val_batches: 0.1
- # gradient_clip_val: 100
-
-# tune: false
-# train: true
-# test: false
-summary: [2, 1, 56, 1024]