cemsubakan
commited on
Commit
•
a370392
1
Parent(s):
6314d63
updated config.yaml and hyperparams.yaml
Browse files- config.json +3 -0
- hyperparams.yaml +176 -0
config.json
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"speechbrain_interface": "SepformerSeparation"
|
3 |
+
}
|
hyperparams.yaml
ADDED
@@ -0,0 +1,176 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Generated 2021-06-27 from:
|
2 |
+
# /home/mila/s/subakany/speechbrain_new/recipes/LibriMix/separation/hparams/sepformer-libri3mix.yaml
|
3 |
+
# yamllint disable
|
4 |
+
# ################################
|
5 |
+
# Model: SepFormer for source separation
|
6 |
+
# https://arxiv.org/abs/2010.13154
|
7 |
+
# Dataset : Libri3Mix
|
8 |
+
# ################################
|
9 |
+
#
|
10 |
+
# Basic parameters
|
11 |
+
# Seed needs to be set at top of yaml, before objects with parameters are made
|
12 |
+
#
|
13 |
+
seed: 111
|
14 |
+
__set_seed: !apply:torch.manual_seed [111]
|
15 |
+
|
16 |
+
# Data params
|
17 |
+
|
18 |
+
# e.g. '/yourpath/Libri3Mix/train-clean-360/'
|
19 |
+
# the data folder is needed even if dynamic mixing is applied
|
20 |
+
data_folder: /miniscratch/subakany/LibriMixData/Libri3Mix/
|
21 |
+
|
22 |
+
# This is needed only if dynamic mixing is applied
|
23 |
+
base_folder_dm: /miniscratch/subakany/LibriMixData/LibriSpeech/train-clean-360_processed/
|
24 |
+
|
25 |
+
experiment_name: sepformer-libri3mix
|
26 |
+
output_folder: results/sepformer-libri3mix/111
|
27 |
+
train_log: results/sepformer-libri3mix/111/train_log.txt
|
28 |
+
save_folder: results/sepformer-libri3mix/111/save
|
29 |
+
train_data: results/sepformer-libri3mix/111/save/libri3mix_train-360.csv
|
30 |
+
valid_data: results/sepformer-libri3mix/111/save/libri3mix_dev.csv
|
31 |
+
test_data: results/sepformer-libri3mix/111/save/libri3mix_test.csv
|
32 |
+
skip_prep: false
|
33 |
+
|
34 |
+
ckpt_interval_minutes: 60
|
35 |
+
|
36 |
+
# Experiment params
|
37 |
+
auto_mix_prec: true # Set it to True for mixed precision
|
38 |
+
test_only: true
|
39 |
+
num_spks: 3
|
40 |
+
progressbar: true
|
41 |
+
save_audio: false # Save estimated sources on disk
|
42 |
+
sample_rate: 8000
|
43 |
+
|
44 |
+
# Training parameters
|
45 |
+
N_epochs: 200
|
46 |
+
batch_size: 1
|
47 |
+
lr: 0.00015
|
48 |
+
clip_grad_norm: 5
|
49 |
+
loss_upper_lim: 999999 # this is the upper limit for an acceptable loss
|
50 |
+
# if True, the training sequences are cut to a specified length
|
51 |
+
limit_training_signal_len: false
|
52 |
+
# this is the length of sequences if we choose to limit
|
53 |
+
# the signal length of training sequences
|
54 |
+
training_signal_len: 32000000
|
55 |
+
|
56 |
+
# Set it to True to dynamically create mixtures at training time
|
57 |
+
dynamic_mixing: true
|
58 |
+
use_wham_noise: false
|
59 |
+
|
60 |
+
# Parameters for data augmentation
|
61 |
+
use_wavedrop: false
|
62 |
+
use_speedperturb: true
|
63 |
+
use_speedperturb_sameforeachsource: false
|
64 |
+
use_rand_shift: false
|
65 |
+
min_shift: -8000
|
66 |
+
max_shift: 8000
|
67 |
+
|
68 |
+
speedperturb: !new:speechbrain.lobes.augment.TimeDomainSpecAugment
|
69 |
+
perturb_prob: 1.0
|
70 |
+
drop_freq_prob: 0.0
|
71 |
+
drop_chunk_prob: 0.0
|
72 |
+
sample_rate: 8000
|
73 |
+
speeds: [95, 100, 105]
|
74 |
+
|
75 |
+
wavedrop: !new:speechbrain.lobes.augment.TimeDomainSpecAugment
|
76 |
+
perturb_prob: 0.0
|
77 |
+
drop_freq_prob: 1.0
|
78 |
+
drop_chunk_prob: 1.0
|
79 |
+
sample_rate: 8000
|
80 |
+
|
81 |
+
# loss thresholding -- this thresholds the training loss
|
82 |
+
threshold_byloss: true
|
83 |
+
threshold: -30
|
84 |
+
|
85 |
+
# Encoder parameters
|
86 |
+
N_encoder_out: 256
|
87 |
+
out_channels: 256
|
88 |
+
kernel_size: 16
|
89 |
+
kernel_stride: 8
|
90 |
+
|
91 |
+
# Dataloader options
|
92 |
+
dataloader_opts:
|
93 |
+
batch_size: 1
|
94 |
+
num_workers: 3
|
95 |
+
|
96 |
+
|
97 |
+
# Specifying the network
|
98 |
+
Encoder: &id003 !new:speechbrain.lobes.models.dual_path.Encoder
|
99 |
+
kernel_size: 16
|
100 |
+
out_channels: 256
|
101 |
+
|
102 |
+
|
103 |
+
SBtfintra: &id001 !new:speechbrain.lobes.models.dual_path.SBTransformerBlock
|
104 |
+
num_layers: 8
|
105 |
+
d_model: 256
|
106 |
+
nhead: 8
|
107 |
+
d_ffn: 1024
|
108 |
+
dropout: 0
|
109 |
+
use_positional_encoding: true
|
110 |
+
norm_before: true
|
111 |
+
|
112 |
+
SBtfinter: &id002 !new:speechbrain.lobes.models.dual_path.SBTransformerBlock
|
113 |
+
num_layers: 8
|
114 |
+
d_model: 256
|
115 |
+
nhead: 8
|
116 |
+
d_ffn: 1024
|
117 |
+
dropout: 0
|
118 |
+
use_positional_encoding: true
|
119 |
+
norm_before: true
|
120 |
+
|
121 |
+
MaskNet: &id005 !new:speechbrain.lobes.models.dual_path.Dual_Path_Model
|
122 |
+
|
123 |
+
num_spks: 3
|
124 |
+
in_channels: 256
|
125 |
+
out_channels: 256
|
126 |
+
num_layers: 2
|
127 |
+
K: 250
|
128 |
+
intra_model: *id001
|
129 |
+
inter_model: *id002
|
130 |
+
norm: ln
|
131 |
+
linear_layer_after_inter_intra: false
|
132 |
+
skip_around_intra: true
|
133 |
+
|
134 |
+
Decoder: &id004 !new:speechbrain.lobes.models.dual_path.Decoder
|
135 |
+
in_channels: 256
|
136 |
+
out_channels: 1
|
137 |
+
kernel_size: 16
|
138 |
+
stride: 8
|
139 |
+
bias: false
|
140 |
+
|
141 |
+
optimizer: !name:torch.optim.Adam
|
142 |
+
lr: 0.00015
|
143 |
+
weight_decay: 0
|
144 |
+
|
145 |
+
loss: !name:speechbrain.nnet.losses.get_si_snr_with_pitwrapper
|
146 |
+
|
147 |
+
lr_scheduler: !new:speechbrain.nnet.schedulers.ReduceLROnPlateau
|
148 |
+
factor: 0.5
|
149 |
+
patience: 2
|
150 |
+
dont_halve_until_epoch: 5
|
151 |
+
|
152 |
+
epoch_counter: &id006 !new:speechbrain.utils.epoch_loop.EpochCounter
|
153 |
+
# lr_scheduler: !ref <lr_scheduler>
|
154 |
+
|
155 |
+
limit: 200
|
156 |
+
|
157 |
+
modules:
|
158 |
+
encoder: *id003
|
159 |
+
decoder: *id004
|
160 |
+
masknet: *id005
|
161 |
+
checkpointer: !new:speechbrain.utils.checkpoints.Checkpointer
|
162 |
+
checkpoints_dir: results/sepformer-libri3mix/111/save
|
163 |
+
recoverables:
|
164 |
+
encoder: *id003
|
165 |
+
decoder: *id004
|
166 |
+
masknet: *id005
|
167 |
+
counter: *id006
|
168 |
+
train_logger: !new:speechbrain.utils.train_logger.FileTrainLogger
|
169 |
+
save_file: results/sepformer-libri3mix/111/train_log.txt
|
170 |
+
|
171 |
+
|
172 |
+
pretrainer: !new:speechbrain.utils.parameter_transfer.Pretrainer
|
173 |
+
loadables:
|
174 |
+
encoder: !ref <Encoder>
|
175 |
+
masknet: !ref <MaskNet>
|
176 |
+
decoder: !ref <Decoder>
|