NeMo / examples /speaker_tasks /recognition /conf /ecapa_tdnn.yaml
camenduru's picture
thanks to NVIDIA ❤
7934b29
name: "ECAPA_TDNN"
model:
sample_rate: 16000
train_ds:
manifest_filepath: ???
sample_rate: ${model.sample_rate}
labels: null
batch_size: 64
shuffle: True
augmentor:
noise:
manifest_path: null
prob: 0.5
min_snr_db: 0
max_snr_db: 15
speed:
prob: 0.5
sr: ${model.sample_rate}
resample_type: 'kaiser_fast'
min_speed_rate: 0.95
max_speed_rate: 1.05
validation_ds:
manifest_filepath: ???
sample_rate: ${model.sample_rate}
labels: null
batch_size: 128
shuffle: False
preprocessor:
_target_: nemo.collections.asr.modules.AudioToMelSpectrogramPreprocessor
normalize: "per_feature"
window_size: 0.025
sample_rate: ${model.sample_rate}
window_stride: 0.01
window: "hann"
features: 80
n_fft: 512
frame_splicing: 1
dither: 0.00001
stft_conv: false
spec_augment:
_target_: nemo.collections.asr.modules.SpectrogramAugmentation
freq_masks: 3
freq_width: 4
time_masks: 5
time_width: 0.03
encoder:
_target_: nemo.collections.asr.modules.ECAPAEncoder
feat_in: ${model.preprocessor.features}
filters: [1024,1024,1024,1024,3072]
kernel_sizes: [5,3,3,3,1]
dilations: [1,1,1,1,1]
scale: 8
decoder:
_target_: nemo.collections.asr.modules.SpeakerDecoder
feat_in: 3072
num_classes: 7205
pool_mode: 'attention' #xvector,tap or attention
emb_sizes: 192
loss:
_target_: nemo.collections.asr.losses.angularloss.AngularSoftmaxLoss # you could also use cross-entrophy loss
scale: 30
margin: 0.2
optim:
name: sgd
lr: 0.08
weight_decay: 0.0002
# scheduler setup
sched:
name: CosineAnnealing
warmup_ratio: 0.1
min_lr: 0.0001
trainer:
devices: 1 # number of gpus (trained on four nodes - each node has 8 gpus)
max_epochs: 250
max_steps: -1 # computed at runtime if not set
num_nodes: 1
accelerator: gpu
strategy: ddp
accumulate_grad_batches: 1
deterministic: False
enable_checkpointing: False
logger: False
log_every_n_steps: 1 # Interval of logging.
val_check_interval: 1.0 # Set to 0.25 to check 4 times per epoch, or an int for number of iterations
gradient_clip_val: 1.0
exp_manager:
exp_dir: null
name: ${name}
create_tensorboard_logger: True
create_checkpoint_callback: True