From 7e8e54e84c63171e748bbf09516fd517e6821ace Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Sat, 20 Mar 2021 18:09:06 +0100 Subject: Inital commit for refactoring to lightning --- training/experiments/default_config_emnist.yml | 70 ++++++++++++++++++ training/experiments/embedding_experiment.yml | 64 +++++++++++++++++ training/experiments/sample_experiment.yml | 99 ++++++++++++++++++++++++++ 3 files changed, 233 insertions(+) create mode 100644 training/experiments/default_config_emnist.yml create mode 100644 training/experiments/embedding_experiment.yml create mode 100644 training/experiments/sample_experiment.yml (limited to 'training/experiments') diff --git a/training/experiments/default_config_emnist.yml b/training/experiments/default_config_emnist.yml new file mode 100644 index 0000000..bf2ed0a --- /dev/null +++ b/training/experiments/default_config_emnist.yml @@ -0,0 +1,70 @@ +dataset: EmnistDataset +dataset_args: + sample_to_balance: true + subsample_fraction: 0.33 + transform: null + target_transform: null + seed: 4711 + +data_loader_args: + splits: [train, val] + shuffle: true + num_workers: 8 + cuda: true + +model: CharacterModel +metrics: [accuracy] + +network_args: + in_channels: 1 + num_classes: 80 + depths: [2] + block_sizes: [256] + +train_args: + batch_size: 256 + epochs: 5 + +criterion: CrossEntropyLoss +criterion_args: + weight: null + ignore_index: -100 + reduction: mean + +optimizer: AdamW +optimizer_args: + lr: 1.e-03 + betas: [0.9, 0.999] + eps: 1.e-08 + # weight_decay: 5.e-4 + amsgrad: false + +lr_scheduler: OneCycleLR +lr_scheduler_args: + max_lr: 1.e-03 + epochs: 5 + anneal_strategy: linear + + +callbacks: [Checkpoint, ProgressBar, EarlyStopping, WandbCallback, WandbImageLogger, OneCycleLR] +callback_args: + Checkpoint: + monitor: val_accuracy + ProgressBar: + epochs: 5 + log_batch_frequency: 100 + EarlyStopping: + monitor: val_loss + min_delta: 0.0 + patience: 3 + mode: min + WandbCallback: + log_batch_frequency: 10 + WandbImageLogger: + num_examples: 4 + OneCycleLR: + null +verbosity: 1 # 0, 1, 2 +resume_experiment: null +train: true +validation_metric: val_accuracy diff --git a/training/experiments/embedding_experiment.yml b/training/experiments/embedding_experiment.yml new file mode 100644 index 0000000..1e5f941 --- /dev/null +++ b/training/experiments/embedding_experiment.yml @@ -0,0 +1,64 @@ +experiment_group: Embedding Experiments +experiments: + - train_args: + transformer_model: false + batch_size: &batch_size 256 + max_epochs: &max_epochs 32 + input_shape: [[1, 28, 28]] + dataset: + type: EmnistDataset + args: + sample_to_balance: true + subsample_fraction: null + transform: null + target_transform: null + seed: 4711 + train_args: + num_workers: 8 + train_fraction: 0.85 + batch_size: *batch_size + model: CharacterModel + metrics: [] + network: + type: DenseNet + args: + growth_rate: 4 + block_config: [4, 4] + in_channels: 1 + base_channels: 24 + num_classes: 128 + bn_size: 4 + dropout_rate: 0.1 + classifier: true + activation: elu + criterion: + type: EmbeddingLoss + args: + margin: 0.2 + type_of_triplets: semihard + optimizer: + type: AdamW + args: + lr: 1.e-02 + betas: [0.9, 0.999] + eps: 1.e-08 + weight_decay: 5.e-4 + amsgrad: false + lr_scheduler: + type: CosineAnnealingLR + args: + T_max: *max_epochs + callbacks: [Checkpoint, ProgressBar, WandbCallback] + callback_args: + Checkpoint: + monitor: val_loss + mode: min + ProgressBar: + epochs: *max_epochs + WandbCallback: + log_batch_frequency: 10 + verbosity: 1 # 0, 1, 2 + resume_experiment: null + train: true + test: true + test_metric: mean_average_precision_at_r diff --git a/training/experiments/sample_experiment.yml b/training/experiments/sample_experiment.yml new file mode 100644 index 0000000..8f94475 --- /dev/null +++ b/training/experiments/sample_experiment.yml @@ -0,0 +1,99 @@ +experiment_group: Sample Experiments +experiments: + - train_args: + batch_size: 256 + max_epochs: &max_epochs 32 + dataset: + type: EmnistDataset + args: + sample_to_balance: true + subsample_fraction: null + transform: null + target_transform: null + seed: 4711 + train_args: + num_workers: 6 + train_fraction: 0.8 + + model: CharacterModel + metrics: [accuracy] + # network: MLP + # network_args: + # input_size: 784 + # hidden_size: 512 + # output_size: 80 + # num_layers: 5 + # dropout_rate: 0.2 + # activation_fn: SELU + network: + type: ResidualNetwork + args: + in_channels: 1 + num_classes: 80 + depths: [2, 2] + block_sizes: [64, 64] + activation: leaky_relu + # network: + # type: WideResidualNetwork + # args: + # in_channels: 1 + # num_classes: 80 + # depth: 10 + # num_layers: 3 + # width_factor: 4 + # dropout_rate: 0.2 + # activation: SELU + # network: LeNet + # network_args: + # output_size: 62 + # activation_fn: GELU + criterion: + type: CrossEntropyLoss + args: + weight: null + ignore_index: -100 + reduction: mean + optimizer: + type: AdamW + args: + lr: 1.e-02 + betas: [0.9, 0.999] + eps: 1.e-08 + # weight_decay: 5.e-4 + amsgrad: false + # lr_scheduler: + # type: OneCycleLR + # args: + # max_lr: 1.e-03 + # epochs: *max_epochs + # anneal_strategy: linear + lr_scheduler: + type: CosineAnnealingLR + args: + T_max: *max_epochs + interval: epoch + swa_args: + start: 2 + lr: 5.e-2 + callbacks: [Checkpoint, ProgressBar, WandbCallback, WandbImageLogger, EarlyStopping] + callback_args: + Checkpoint: + monitor: val_accuracy + ProgressBar: + epochs: null + log_batch_frequency: 100 + EarlyStopping: + monitor: val_loss + min_delta: 0.0 + patience: 5 + mode: min + WandbCallback: + log_batch_frequency: 10 + WandbImageLogger: + num_examples: 4 + use_transpose: true + verbosity: 0 # 0, 1, 2 + resume_experiment: null + train: true + test: true + test_metric: test_accuracy -- cgit v1.2.3-70-g09d2