-
Notifications
You must be signed in to change notification settings - Fork 23
/
ae_test.yaml
108 lines (94 loc) · 2.95 KB
/
ae_test.yaml
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# @package _global_
sampling_rate: 16000
length: 65536
log_every_n_steps: 1000
channels: 2
model:
_target_: main.module_ae.Model
lr: 1e-4
lr_beta1: 0.95
lr_beta2: 0.999
lr_eps: 1e-6
lr_weight_decay: 1e-3
ema_beta: 0.995
ema_power: 0.7
sample_rate: ${sampling_rate}
loss_type: sdstft
loss_bottleneck_weight: 1e-4
autoencoder:
_target_: audio_encoders_pytorch.AutoEncoder1d
in_channels: ${channels}
channels: 16
resnet_groups: 8
multipliers: [1, 8, 8, 8, 8, 8, 8]
factors: [2, 2, 2, 2, 2, 2]
num_blocks: [2, 2, 2, 2, 2, 2]
bottleneck:
- _target_: audio_encoders_pytorch.TanhBottleneck
- _target_: audio_encoders_pytorch.NoiserBottleneck
sigma: 0.2
# bottleneck:
# _target_: quantizer_pytorch.quantizer.MQ1d
# channels: 32
# codebook_size: 1024
# num_overlaps: 4
# temperature: 1.0
datamodule:
_target_: main.module_ae.Datamodule
dataset:
_target_: audio_data_pytorch.YoutubeDataset
urls:
- https://www.youtube.com/watch?v=_dEw2zQ7xcE # 1h GHØSTS
root: ${data_dir}
crop_length: 12 # seconds crops
transforms:
_target_: audio_data_pytorch.AllTransform
source_rate: ${sampling_rate}
target_rate: ${sampling_rate}
random_crop_size: ${length}
val_split: 0.01
batch_size: 4
num_workers: 8
pin_memory: True
callbacks:
rich_progress_bar:
_target_: pytorch_lightning.callbacks.RichProgressBar
model_checkpoint:
_target_: pytorch_lightning.callbacks.ModelCheckpoint
monitor: "valid_loss" # name of the logged metric which determines when model is improving
save_top_k: 1 # save k best models (determined by above metric)
save_last: True # additionaly always save model from last epoch
mode: "min" # can be "max" or "min"
verbose: False
dirpath: ${logs_dir}/ckpts/${now:%Y-%m-%d-%H-%M-%S}
filename: '{epoch:02d}-{valid_loss:.3f}'
model_summary:
_target_: pytorch_lightning.callbacks.RichModelSummary
max_depth: 2
audio_samples_logger:
_target_: main.module_ae.SampleLogger
num_items: 2
channels: ${channels}
sampling_rate: ${sampling_rate}
length: ${length}
use_ema_model: True
loggers:
wandb:
_target_: pytorch_lightning.loggers.wandb.WandbLogger
project: ${oc.env:WANDB_PROJECT}
entity: ${oc.env:WANDB_ENTITY}
# offline: False # set True to store all logs only locally
job_type: "train"
group: ""
save_dir: ${logs_dir}
trainer:
_target_: pytorch_lightning.Trainer
gpus: 0 # Set `1` to train on GPU, `0` to train on CPU only, and `-1` to train on all GPUs, default `0`
precision: 32 # Precision used for tensors, default `32`
accelerator: null # `ddp` GPUs train individually and sync gradients, default `None`
min_epochs: 0
max_epochs: -1
enable_model_summary: False
log_every_n_steps: 1 # Logs metrics every N batches
check_val_every_n_epoch: null
val_check_interval: ${log_every_n_steps}