asr-wav2vec2-commonvoice-en / hyperparams.yaml
1
# ################################
2
# Model: wav2vec2 + DNN + CTC/Attention
3
# Augmentation: SpecAugment
4
# Authors: Titouan Parcollet 2021
5
# ################################
6
7
sample_rate: 16000
8
wav2vec2_hub: facebook/wav2vec2-large-lv60
9
10
# BPE parameters
11
token_type: unigram  # ["unigram", "bpe", "char"]
12
character_coverage: 1.0
13
14
# Model parameters
15
activation: !name:torch.nn.LeakyReLU
16
dnn_layers: 2
17
dnn_neurons: 1024
18
emb_size: 128
19
dec_neurons: 1024
20
21
# Outputs
22
output_neurons: 1000  # BPE size, index(blank/eos/bos) = 0
23
24
# Decoding parameters
25
# Be sure that the bos and eos index match with the BPEs ones
26
blank_index: 0
27
bos_index: 1
28
eos_index: 2
29
min_decode_ratio: 0.0
30
max_decode_ratio: 1.0
31
beam_size: 10
32
eos_threshold: 1.5
33
using_max_attn_shift: True
34
max_attn_shift: 140
35
ctc_weight_decode: 0.0
36
temperature: 1.50
37
38
enc: !new:speechbrain.lobes.models.VanillaNN.VanillaNN
39
    input_shape: [null, null, 1024]
40
    activation: !ref <activation>
41
    dnn_blocks: !ref <dnn_layers>
42
    dnn_neurons: !ref <dnn_neurons>
43
44
wav2vec2: !new:speechbrain.lobes.models.huggingface_wav2vec.HuggingFaceWav2Vec2
45
    source: !ref <wav2vec2_hub>
46
    output_norm: True
47
    freeze: True
48
    pretrain: False
49
    save_path: model_checkpoints
50
51
emb: !new:speechbrain.nnet.embedding.Embedding
52
    num_embeddings: !ref <output_neurons>
53
    embedding_dim: !ref <emb_size>
54
55
dec: !new:speechbrain.nnet.RNN.AttentionalRNNDecoder
56
    enc_dim: !ref <dnn_neurons>
57
    input_size: !ref <emb_size>
58
    rnn_type: gru
59
    attn_type: location
60
    hidden_size: 1024
61
    attn_dim: 1024
62
    num_layers: 1
63
    scaling: 1.0
64
    channels: 10
65
    kernel_size: 100
66
    re_init: True
67
    dropout: 0.0
68
69
ctc_lin: !new:speechbrain.nnet.linear.Linear
70
    input_size: !ref <dnn_neurons>
71
    n_neurons: !ref <output_neurons>
72
73
seq_lin: !new:speechbrain.nnet.linear.Linear
74
    input_size: !ref <dec_neurons>
75
    n_neurons: !ref <output_neurons>
76
77
log_softmax: !new:speechbrain.nnet.activations.Softmax
78
    apply_log: True
79
80
ctc_cost: !name:speechbrain.nnet.losses.ctc_loss
81
    blank_index: !ref <blank_index>
82
83
seq_cost: !name:speechbrain.nnet.losses.nll_loss
84
    label_smoothing: 0.1
85
86
asr_model: !new:torch.nn.ModuleList
87
    - [!ref <enc>, !ref <emb>, !ref <dec>, !ref <ctc_lin>, !ref <seq_lin>]
88
89
tokenizer: !new:sentencepiece.SentencePieceProcessor
90
91
encoder: !new:speechbrain.nnet.containers.LengthsCapableSequential
92
    wav2vec2: !ref <wav2vec2>
93
    enc: !ref <enc>
94
95
decoder: !new:speechbrain.decoders.S2SRNNBeamSearcher
96
    embedding: !ref <emb>
97
    decoder: !ref <dec>
98
    linear: !ref <seq_lin>
99
    ctc_linear: !ref <ctc_lin>
100
    bos_index: !ref <bos_index>
101
    eos_index: !ref <eos_index>
102
    blank_index: !ref <blank_index>
103
    min_decode_ratio: !ref <min_decode_ratio>
104
    max_decode_ratio: !ref <max_decode_ratio>
105
    beam_size: !ref <beam_size>
106
    eos_threshold: !ref <eos_threshold>
107
    using_max_attn_shift: !ref <using_max_attn_shift>
108
    max_attn_shift: !ref <max_attn_shift>
109
    temperature: !ref <temperature>
110
111
modules:
112
    encoder: !ref <encoder>
113
    decoder: !ref <decoder>
114
115
pretrainer: !new:speechbrain.utils.parameter_transfer.Pretrainer
116
    loadables:
117
        wav2vec2: !ref <wav2vec2>
118
        asr: !ref <asr_model>
119
        tokenizer: !ref <tokenizer>
120