From 2b72300bfd0553ade9af8a16e02db7a20c030158 Mon Sep 17 00:00:00 2001 From: Mateusz Klimaszewski <mk.klimaszewski@gmail.com> Date: Tue, 13 Apr 2021 12:17:40 +0200 Subject: [PATCH] Start to extract shared config for DP and EDP. --- combo/config.graph.template.jsonnet | 26 +------------------------- combo/config.shared.libsonnet | 29 +++++++++++++++++++++++++++++ combo/config.template.jsonnet | 27 ++------------------------- 3 files changed, 32 insertions(+), 50 deletions(-) create mode 100644 combo/config.shared.libsonnet diff --git a/combo/config.graph.template.jsonnet b/combo/config.graph.template.jsonnet index 09e7463..b88c436 100644 --- a/combo/config.graph.template.jsonnet +++ b/combo/config.graph.template.jsonnet @@ -392,31 +392,7 @@ assert pretrained_tokens == null || pretrained_transformer_name == null: "Can't ], }, }), - trainer: std.prune({ - checkpointer: { - type: "finishing_only_checkpointer", - }, - type: "gradient_descent_validate_n", - cuda_device: cuda_device, - grad_clipping: 5.0, - num_epochs: num_epochs, - optimizer: { - type: "adam", - lr: learning_rate, - betas: [0.9, 0.9], - }, - patience: 1, # it will be overwriten by callback - callbacks: [ - { type: "transfer_patience" } - { type: "track_epoch_callback" }, - if use_tensorboard then - { type: "tensorboard", should_log_parameter_statistics: false}, - ], - learning_rate_scheduler: { - type: "combo_scheduler", - }, - validation_metric: "+EM", - }), + trainer: shared_config.Trainer(cuda_device, num_epochs, learning_rate, use_tensorboard), random_seed: 8787, pytorch_seed: 8787, numpy_seed: 8787, diff --git a/combo/config.shared.libsonnet b/combo/config.shared.libsonnet new file mode 100644 index 0000000..23d3f9a --- /dev/null +++ b/combo/config.shared.libsonnet @@ -0,0 +1,29 @@ +{ + local trainer(cuda_device, num_epochs, learning_rate, use_tensorboard) = + std.prune({ + checkpointer: { + type: "finishing_only_checkpointer", + }, + type: "gradient_descent_validate_n", + cuda_device: cuda_device, + grad_clipping: 5.0, + num_epochs: num_epochs, + optimizer: { + type: "adam", + lr: learning_rate, + betas: [0.9, 0.9], + }, + patience: 1, # it will be overwriten by callback + callbacks: [ + { type: "transfer_patience" } + { type: "track_epoch_callback" }, + if use_tensorboard then + { type: "tensorboard", should_log_parameter_statistics: false}, + ], + learning_rate_scheduler: { + type: "combo_scheduler", + }, + validation_metric: "+EM", + }), + Trainer: trainer +} \ No newline at end of file diff --git a/combo/config.template.jsonnet b/combo/config.template.jsonnet index 9049eb9..2019d7b 100644 --- a/combo/config.template.jsonnet +++ b/combo/config.template.jsonnet @@ -1,3 +1,4 @@ +local shared_config = import "config.shared.libsonnet"; ######################################################################################## # BASIC configuration # ######################################################################################## @@ -359,31 +360,7 @@ assert pretrained_tokens == null || pretrained_transformer_name == null: "Can't ], }, }), - trainer: std.prune({ - checkpointer: { - type: "finishing_only_checkpointer", - }, - type: "gradient_descent_validate_n", - cuda_device: cuda_device, - grad_clipping: 5.0, - num_epochs: num_epochs, - optimizer: { - type: "adam", - lr: learning_rate, - betas: [0.9, 0.9], - }, - patience: 1, # it will be overwriten by callback - callbacks: [ - { type: "transfer_patience" } - { type: "track_epoch_callback" }, - if use_tensorboard then - { type: "tensorboard", should_log_parameter_statistics: false}, - ], - learning_rate_scheduler: { - type: "combo_scheduler", - }, - validation_metric: "+EM", - }), + trainer: shared_config.Trainer(cuda_device, num_epochs, learning_rate, use_tensorboard), random_seed: 8787, pytorch_seed: 8787, numpy_seed: 8787, -- GitLab