summaryrefslogtreecommitdiff
path: root/config.py
diff options
context:
space:
mode:
authorJordan Gong <jordan.gong@protonmail.com>2021-01-12 14:19:30 +0800
committerJordan Gong <jordan.gong@protonmail.com>2021-01-12 14:19:30 +0800
commite3ffe09d3b509b718aa5093481a496a8cbf38187 (patch)
tree81e18b724d8b008765f0d7122f2aa3d93efa8742 /config.py
parent9bd6908ed77410e2efa439d26ebd1f9b60519f53 (diff)
Some changes in hyperparameter config
1. Separate hyperparameter configs in model, optimizer and scheduler 2. Add more tunable hyperparameters in optimizer and scheduler
Diffstat (limited to 'config.py')
-rw-r--r--config.py71
1 files changed, 42 insertions, 29 deletions
diff --git a/config.py b/config.py
index 47ded38..8a8d93a 100644
--- a/config.py
+++ b/config.py
@@ -41,35 +41,48 @@ config: Configuration = {
},
# Hyperparameter tuning
'hyperparameter': {
- # Auto-encoder feature channels coefficient
- 'ae_feature_channels': 64,
- # Appearance, canonical and pose feature dimensions
- 'f_a_c_p_dims': (128, 128, 64),
- # HPM pyramid scales, of which sum is number of parts
- 'hpm_scales': (1, 2, 4),
- # Global pooling method
- 'hpm_use_avg_pool': True,
- 'hpm_use_max_pool': True,
- # FConv feature channels coefficient
- 'fpfe_feature_channels': 32,
- # FConv blocks kernel sizes
- 'fpfe_kernel_sizes': ((5, 3), (3, 3), (3, 3)),
- # FConv blocks paddings
- 'fpfe_paddings': ((2, 1), (1, 1), (1, 1)),
- # FConv blocks halving
- 'fpfe_halving': (0, 2, 3),
- # Attention squeeze ratio
- 'tfa_squeeze_ratio': 4,
- # Number of parts after Part Net
- 'tfa_num_parts': 16,
- # Embedding dimension for each part
- 'embedding_dims': 256,
- # Triplet loss margin
- 'triplet_margin': 0.2,
- # Initial learning rate of Adam Optimizer
- 'lr': 1e-4,
- # Betas of Adam Optimizer
- 'betas': (0.9, 0.999),
+ 'model': {
+ # Auto-encoder feature channels coefficient
+ 'ae_feature_channels': 64,
+ # Appearance, canonical and pose feature dimensions
+ 'f_a_c_p_dims': (128, 128, 64),
+ # HPM pyramid scales, of which sum is number of parts
+ 'hpm_scales': (1, 2, 4),
+ # Global pooling method
+ 'hpm_use_avg_pool': True,
+ 'hpm_use_max_pool': True,
+ # FConv feature channels coefficient
+ 'fpfe_feature_channels': 32,
+ # FConv blocks kernel sizes
+ 'fpfe_kernel_sizes': ((5, 3), (3, 3), (3, 3)),
+ # FConv blocks paddings
+ 'fpfe_paddings': ((2, 1), (1, 1), (1, 1)),
+ # FConv blocks halving
+ 'fpfe_halving': (0, 2, 3),
+ # Attention squeeze ratio
+ 'tfa_squeeze_ratio': 4,
+ # Number of parts after Part Net
+ 'tfa_num_parts': 16,
+ # Embedding dimension for each part
+ 'embedding_dims': 256,
+ # Triplet loss margin
+ 'triplet_margin': 0.2,
+ },
+ 'optimizer': {
+ # Initial learning rate of Adam Optimizer
+ 'lr': 1e-4,
+ # Coefficients used for computing running averages of
+ # gradient and its square
+ 'betas': (0.9, 0.999),
+ # Weight decay (L2 penalty)
+ 'weight_decay': 0.001,
+ },
+ 'scheduler': {
+ # Period of learning rate decay
+ 'step_size': 500,
+ # Multiplicative factor of decay
+ 'gamma': 0.9,
+ }
},
# Model metadata
'model': {