File size: 1,581 Bytes
f6b56a2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e2d04e8
 
f6b56a2
 
 
 
 
 
 
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
# Training modes (Train, Validation, Test)
TRAIN = "train"
VALID = "validation"
TEST = "test"

# Dataset properties (keys)
DATA_PATH = "path"
BATCH_SIZE = "batch_size"
SHUFFLE = "shuffle"
SNR_FILTER = "snr_filter"
AUGMENTATION = "augmentation"
DATALOADER = "dataloader"


# Loss split
SIGNAL = "signal"
NOISE = "noise"
TOTAL = "total"
COEFFICIENT = "coefficient"


# Augmentation types
AUG_TRIM = "trim"  # trim batches to arbitrary length
AUG_AWGN = "awgn"  # add white gaussian noise
AUG_RESCALE = "rescale"  # rescale all signals arbitrarily

# Trim types
LENGTHS = "lengths"  # a list of min and max length
LENGTH_DIVIDER = "length_divider"  # an int that divides the length
TRIM_PROB = "trim_probability"  # a float in [0, 1] of trimming probability


# Training configuration properties (keys)

OPTIMIZER = "optimizer"
LEARNING_RATE = "lr"
WEIGHT_DECAY = "weight_decay"
BETAS = "betas"
EPOCHS = "epochs"
BATCH_SIZE = "batch_size"
MAX_STEPS_PER_EPOCH = "max_steps_per_epoch"


# Properties for the model
NAME = "name"
ANNOTATIONS = "annotations"
NB_PARAMS = "nb_params"
RECEPTIVE_FIELD = "receptive_field"
SHORT_NAME = "short_name"


# Scheduler
SCHEDULER = "scheduler"
SCHEDULER_CONFIGURATION = "scheduler_configuration"

# Loss
LOSS = "loss"
LOSS_L1 = "L1"
LOSS_L2 = "MSE"
LOSS_TYPE = "loss_type"
SNR = "snr"

# Checkpoint
MODEL = "model"
CURRENT_EPOCH = "current_epoch"
CONFIGURATION = "configuration"


# Signal names
CLEAN = "clean"
NOISY = "pure noise"
MIXED = "noisy"
PREDICTED = "predicted"


# MISC
PATHS = "paths"
BUFFERS = "buffers"
SAMPLING_RATE = "sampling_rate"