summaryrefslogtreecommitdiff
path: root/training
diff options
context:
space:
mode:
Diffstat (limited to 'training')
-rw-r--r--training/conf/callbacks/vae.yaml3
-rw-r--r--training/conf/callbacks/wandb/reconstructions.yaml4
-rw-r--r--training/conf/criterion/mae.yaml2
-rw-r--r--training/conf/criterion/mse.yaml2
-rw-r--r--training/conf/criterion/vqgan_loss.yaml11
-rw-r--r--training/conf/datamodule/transform/paragraphs.yaml2
-rw-r--r--training/conf/experiment/vq_transformer_lines.yaml149
-rw-r--r--training/conf/experiment/vqgan.yaml98
-rw-r--r--training/conf/experiment/vqgan_htr_char.yaml59
-rw-r--r--training/conf/experiment/vqvae.yaml51
-rw-r--r--training/conf/model/lit_vqgan.yaml1
-rw-r--r--training/conf/model/lit_vqvae.yaml1
-rw-r--r--training/conf/network/decoder/vae_decoder.yaml9
-rw-r--r--training/conf/network/encoder/vae_encoder.yaml9
-rw-r--r--training/conf/network/quantizer.yaml12
-rw-r--r--training/conf/network/vqvae.yaml18
16 files changed, 1 insertions, 430 deletions
diff --git a/training/conf/callbacks/vae.yaml b/training/conf/callbacks/vae.yaml
deleted file mode 100644
index 52adf69..0000000
--- a/training/conf/callbacks/vae.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-defaults:
- - default
- - wandb/reconstructions
diff --git a/training/conf/callbacks/wandb/reconstructions.yaml b/training/conf/callbacks/wandb/reconstructions.yaml
deleted file mode 100644
index 92f2d12..0000000
--- a/training/conf/callbacks/wandb/reconstructions.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-log_image_reconstruction:
- _target_: callbacks.wandb_callbacks.LogReconstuctedImages
- num_samples: 8
- use_sigmoid: true
diff --git a/training/conf/criterion/mae.yaml b/training/conf/criterion/mae.yaml
deleted file mode 100644
index cb07467..0000000
--- a/training/conf/criterion/mae.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-_target_: torch.nn.L1Loss
-reduction: mean
diff --git a/training/conf/criterion/mse.yaml b/training/conf/criterion/mse.yaml
deleted file mode 100644
index ffd1403..0000000
--- a/training/conf/criterion/mse.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-_target_: torch.nn.MSELoss
-reduction: mean
diff --git a/training/conf/criterion/vqgan_loss.yaml b/training/conf/criterion/vqgan_loss.yaml
deleted file mode 100644
index 34a67ae..0000000
--- a/training/conf/criterion/vqgan_loss.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-_target_: text_recognizer.criterion.vqgan_loss.VQGANLoss
-reconstruction_loss:
- _target_: torch.nn.MSELoss
- reduction: mean
-discriminator:
- _target_: text_recognizer.criterions.n_layer_discriminator.NLayerDiscriminator
- in_channels: 1
- num_channels: 32
- num_layers: 3
-vq_loss_weight: 1.0
-discriminator_weight: 1.0
diff --git a/training/conf/datamodule/transform/paragraphs.yaml b/training/conf/datamodule/transform/paragraphs.yaml
index c1d2e4f..1b0ab04 100644
--- a/training/conf/datamodule/transform/paragraphs.yaml
+++ b/training/conf/datamodule/transform/paragraphs.yaml
@@ -18,7 +18,7 @@ random_affine:
random_perspective:
_target_: torchvision.transforms.RandomPerspective
- distortion_scale: 0.07
+ distortion_scale: 0.1
p: 0.5
fill: 0
diff --git a/training/conf/experiment/vq_transformer_lines.yaml b/training/conf/experiment/vq_transformer_lines.yaml
deleted file mode 100644
index bbe1178..0000000
--- a/training/conf/experiment/vq_transformer_lines.yaml
+++ /dev/null
@@ -1,149 +0,0 @@
-# @package _global_
-
-defaults:
- - override /mapping: null
- - override /criterion: cross_entropy
- - override /callbacks: htr
- - override /datamodule: iam_lines
- - override /network: null
- - override /model: null
- - override /lr_schedulers: null
- - override /optimizers: null
-
-epochs: &epochs 512
-ignore_index: &ignore_index 3
-num_classes: &num_classes 57
-max_output_len: &max_output_len 89
-summary: [[1, 1, 56, 1024], [1, 89]]
-
-criterion:
- ignore_index: *ignore_index
-
-mapping: &mapping
- mapping:
- _target_: text_recognizer.data.mappings.emnist.EmnistMapping
-
-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: 3.0e-4
- momentum: 0.9
- weight_decay: 0
- eps: 1.0e-6
- parameters: network
-
-lr_schedulers:
- network:
- _target_: torch.optim.lr_scheduler.CosineAnnealingLR
- T_max: *epochs
- eta_min: 1.0e-5
- last_epoch: -1
- interval: epoch
- monitor: val/loss
-
-datamodule:
- batch_size: 16
- num_workers: 12
- train_fraction: 0.9
- pin_memory: true
- << : *mapping
-
-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
-
-network:
- _target_: text_recognizer.networks.vq_transformer.VqTransformer
- input_dims: [1, 56, 1024]
- hidden_dim: *hidden_dim
- num_classes: *num_classes
- pad_index: *ignore_index
- encoder:
- _target_: text_recognizer.networks.encoders.efficientnet.EfficientNet
- arch: b1
- stochastic_dropout_rate: 0.2
- bn_momentum: 0.99
- bn_eps: 1.0e-3
- decoder:
- depth: 6
- _target_: text_recognizer.networks.transformer.layers.Decoder
- 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.ScaleNorm
- normalized_shape: *hidden_dim
- ff:
- _target_: text_recognizer.networks.transformer.mlp.FeedForward
- dim: *hidden_dim
- dim_out: null
- expansion_factor: 4
- glu: true
- dropout_rate: *dropout_rate
- pre_norm: true
- pixel_pos_embedding:
- _target_: text_recognizer.networks.transformer.embeddings.axial.AxialPositionalEmbedding
- dim: *hidden_dim
- shape: [1, 32]
- quantizer:
- _target_: text_recognizer.networks.quantizer.quantizer.VectorQuantizer
- input_dim: 512
- codebook:
- _target_: text_recognizer.networks.quantizer.codebook.CosineSimilarityCodebook
- dim: 16
- codebook_size: 4096
- kmeans_init: true
- kmeans_iters: 10
- decay: 0.8
- eps: 1.0e-5
- threshold_dead: 2
- commitment: 1.0
-
-model:
- _target_: text_recognizer.models.vq_transformer.VqTransformerLitModel
- << : *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: 1
- overfit_batches: 0
diff --git a/training/conf/experiment/vqgan.yaml b/training/conf/experiment/vqgan.yaml
deleted file mode 100644
index 726757f..0000000
--- a/training/conf/experiment/vqgan.yaml
+++ /dev/null
@@ -1,98 +0,0 @@
-# @package _global_
-
-defaults:
- - override /network: vqvae
- - override /criterion: null
- - override /model: lit_vqgan
- - override /callbacks: vae
- - override /optimizers: null
- - override /lr_schedulers: null
-
-epochs: &epochs 100
-ignore_index: &ignore_index 3
-num_classes: &num_classes 58
-max_output_len: &max_output_len 682
-summary: [[1, 1, 576, 640]]
-
-criterion:
- _target_: text_recognizer.criterion.vqgan_loss.VQGANLoss
- reconstruction_loss:
- _target_: torch.nn.BCEWithLogitsLoss
- reduction: mean
- discriminator:
- _target_: text_recognizer.criterion.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: 8.0e4
-
-mapping: &mapping
- mapping:
- _target_: text_recognizer.data.mappings.emnist.EmnistMapping
- extra_symbols: [ "\n" ]
-
-datamodule:
- _target_: text_recognizer.data.iam_extended_paragraphs.IAMExtendedParagraphs
- batch_size: 4
- num_workers: 12
- train_fraction: 0.9
- pin_memory: true
- << : *mapping
-
-lr_schedulers:
- network:
- _target_: torch.optim.lr_scheduler.CosineAnnealingLR
- T_max: *epochs
- eta_min: 1.0e-5
- last_epoch: -1
- interval: epoch
- monitor: val/loss
-
- discriminator:
- _target_: torch.optim.lr_scheduler.CosineAnnealingLR
- T_max: *epochs
- eta_min: 1.0e-5
- 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
-
-trainer:
- _target_: pytorch_lightning.Trainer
- stochastic_weight_avg: false
- auto_scale_batch_size: binsearch
- auto_lr_find: false
- gradient_clip_val: 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: 2
- overfit_batches: 0
diff --git a/training/conf/experiment/vqgan_htr_char.yaml b/training/conf/experiment/vqgan_htr_char.yaml
deleted file mode 100644
index af3fa40..0000000
--- a/training/conf/experiment/vqgan_htr_char.yaml
+++ /dev/null
@@ -1,59 +0,0 @@
-defaults:
- - override /mapping: null
- - override /network: null
- - override /model: null
-
-mapping:
- _target_: text_recognizer.data.emnist_mapping.EmnistMapping
- extra_symbols: [ "\n" ]
-
-datamodule:
- word_pieces: false
- batch_size: 8
- augment: false
-
-criterion:
- ignore_index: 3
-
-network:
- _target_: text_recognizer.networks.vq_transformer.VqTransformer
- input_dims: [1, 576, 640]
- encoder_dim: 32
- hidden_dim: 256
- dropout_rate: 0.1
- num_classes: 58
- pad_index: 3
- no_grad: true
- decoder:
- _target_: text_recognizer.networks.transformer.Decoder
- dim: 256
- depth: 2
- 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-25/23-07-28"
-
-model:
- _target_: text_recognizer.models.vq_transformer.VqTransformerLitModel
- start_token: <s>
- end_token: <e>
- pad_token: <p>
- max_output_len: 682 # 451
- alpha: 1.0
-
-trainer:
- max_epochs: 64
- limit_train_batches: 0.1
- limit_val_batches: 0.1
diff --git a/training/conf/experiment/vqvae.yaml b/training/conf/experiment/vqvae.yaml
deleted file mode 100644
index d069aef..0000000
--- a/training/conf/experiment/vqvae.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-defaults:
- - override /network: vqvae
- - override /criterion: mse
- - override /model: lit_vqvae
- - override /callbacks: wandb_vae
- - override /optimizers: null
- # - override /lr_schedulers:
- # - cosine_annealing
-
-# lr_schedulers: null
-# network:
-# _target_: torch.optim.lr_scheduler.OneCycleLR
-# max_lr: 1.0e-2
-# total_steps: null
-# epochs: 100
-# steps_per_epoch: 200
-# 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: true
-# last_epoch: -1
-# verbose: false
-
-# # Non-class arguments
-# interval: step
-# monitor: val/loss
-
-optimizers:
- network:
- _target_: madgrad.MADGRAD
- lr: 1.0e-4
- momentum: 0.9
- weight_decay: 0
- eps: 1.0e-7
-
- parameters: network
-
-trainer:
- max_epochs: 128
- limit_train_batches: 0.1
- limit_val_batches: 0.1
-
-datamodule:
- batch_size: 8
- # resize: [288, 320]
-
-summary: null
diff --git a/training/conf/model/lit_vqgan.yaml b/training/conf/model/lit_vqgan.yaml
deleted file mode 100644
index 9ee1046..0000000
--- a/training/conf/model/lit_vqgan.yaml
+++ /dev/null
@@ -1 +0,0 @@
-_target_: text_recognizer.models.vqgan.VQGANLitModel
diff --git a/training/conf/model/lit_vqvae.yaml b/training/conf/model/lit_vqvae.yaml
deleted file mode 100644
index 6dc44d7..0000000
--- a/training/conf/model/lit_vqvae.yaml
+++ /dev/null
@@ -1 +0,0 @@
-_target_: text_recognizer.models.vqvae.VQVAELitModel
diff --git a/training/conf/network/decoder/vae_decoder.yaml b/training/conf/network/decoder/vae_decoder.yaml
deleted file mode 100644
index aed5733..0000000
--- a/training/conf/network/decoder/vae_decoder.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-_target_: text_recognizer.networks.vqvae.decoder.Decoder
-out_channels: 1
-hidden_dim: 32
-channels_multipliers: [4, 2, 1]
-dropout_rate: 0.0
-activation: mish
-use_norm: true
-num_residuals: 4
-residual_channels: 32
diff --git a/training/conf/network/encoder/vae_encoder.yaml b/training/conf/network/encoder/vae_encoder.yaml
deleted file mode 100644
index 5d39bf7..0000000
--- a/training/conf/network/encoder/vae_encoder.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-_target_: text_recognizer.networks.vqvae.encoder.Encoder
-in_channels: 1
-hidden_dim: 32
-channels_multipliers: [1, 2, 4]
-dropout_rate: 0.0
-activation: mish
-use_norm: true
-num_residuals: 4
-residual_channels: 32
diff --git a/training/conf/network/quantizer.yaml b/training/conf/network/quantizer.yaml
deleted file mode 100644
index 827a247..0000000
--- a/training/conf/network/quantizer.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-_target_: text_recognizer.networks.quantizer.quantizer.VectorQuantizer
-input_dim: 192
-codebook:
- _target_: text_recognizer.networks.quantizer.codebook.CosineSimilarityCodebook
- dim: 16
- codebook_size: 2048
- kmeans_init: true
- kmeans_iters: 10
- decay: 0.8
- eps: 1.0e-5
- threshold_dead: 2
-commitment: 1.0
diff --git a/training/conf/network/vqvae.yaml b/training/conf/network/vqvae.yaml
deleted file mode 100644
index 22f786f..0000000
--- a/training/conf/network/vqvae.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-defaults:
- - encoder: vae_encoder
- - decoder: vae_decoder
-
-_target_: text_recognizer.networks.vqvae.vqvae.VQVAE
-quantizer:
- _target_: text_recognizer.networks.quantizer.quantizer.VectorQuantizer
- input_dim: 128
- codebook:
- _target_: text_recognizer.networks.quantizer.codebook.CosineSimilarityCodebook
- dim: 8
- codebook_size: 512
- kmeans_init: true
- kmeans_iters: 10
- decay: 0.8
- eps: 1.0e-5
- threshold_dead: 2
- commitment: 1.0