summaryrefslogtreecommitdiff
path: root/config.py
blob: ad737e84c04f31f8fa243369718e6e924a0e2ac0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import torch

from utils.configuration import Configuration

config: Configuration = {
    'system': {
        # Device(s) used in training and testing (CPU or CUDA)
        'device': torch.device('cuda'),
        # GPU(s) used in training or testing, if CUDA enabled
        'CUDA_VISIBLE_DEVICES': '0',
        # Directory used in training or testing for temporary storage
        'save_dir': 'runs',
    },
    # Dataset settings
    'dataset': {
        # Name of dataset (CASIA-B or FVG)
        'name': 'CASIA-B',
        # Path to dataset root
        'root_dir': 'data/CASIA-B-MRCNN/SEG',
        # The number of subjects for training
        'train_size': 74,
        # Number of sampled frames per sequence (Training only)
        'num_sampled_frames': 30,
        # Discard clips shorter than `discard_threshold`
        'discard_threshold': 15,
        # Number of input channels of model
        'num_input_channels': 3,
        # Resolution after resize, height : width should be 2 : 1
        'frame_size': (64, 32),
        # Cache dataset or not
        'cache_on': False,
    },
    # Dataloader settings
    'dataloader': {
        # Batch size (pr, k)
        # `pr` denotes number of persons
        # `k` denotes number of sequences per person
        'batch_size': (8, 16),
        # Number of workers of Dataloader
        'num_workers': 4,
        # Faster data transfer from RAM to GPU if enabled
        'pin_memory': True,
    },
    # 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 metadata
    'model': {
        # Model name, used for naming checkpoint
        'name': 'RGB-GaitPart',
        # Restoration iteration from checkpoint
        'restore_iter': 0,
        # Total iteration for training
        'total_iter': 80000,
    },
}