From de42c0ebb54a4a9e03279e9ac845960fca67e15e Mon Sep 17 00:00:00 2001 From: pkufool Date: Mon, 30 Aug 2021 10:43:31 +0800 Subject: [PATCH 01/12] Add aishell recipe --- egs/aishell/ASR/README.md | 3 + egs/aishell/ASR/RESULTS.md | 3 + egs/aishell/ASR/conformer_ctc/README.md | 3 + egs/aishell/ASR/conformer_ctc/__init__.py | 0 .../ASR/conformer_ctc/asr_datamodule.py | 1 + egs/aishell/ASR/conformer_ctc/conformer.py | 933 +++++++++++++++ egs/aishell/ASR/conformer_ctc/decode.py | 494 ++++++++ egs/aishell/ASR/conformer_ctc/subsampling.py | 161 +++ .../ASR/conformer_ctc/test_subsampling.py | 49 + .../ASR/conformer_ctc/test_transformer.py | 105 ++ egs/aishell/ASR/conformer_ctc/train.py | 735 ++++++++++++ egs/aishell/ASR/conformer_ctc/transformer.py | 1005 +++++++++++++++++ egs/aishell/ASR/local/__init__.py | 0 egs/aishell/ASR/local/compile_hlg.py | 156 +++ .../ASR/local/compute_fbank_aishell.py | 109 ++ egs/aishell/ASR/local/compute_fbank_musan.py | 109 ++ egs/aishell/ASR/local/prepare_char.py | 247 ++++ egs/aishell/ASR/local/prepare_lang.py | 381 +++++++ egs/aishell/ASR/local/test_prepare_lang.py | 106 ++ egs/aishell/ASR/prepare.sh | 162 +++ egs/aishell/ASR/shared | 1 + egs/aishell/ASR/tdnn_lstm_ctc/README.md | 4 + egs/aishell/ASR/tdnn_lstm_ctc/__init__.py | 0 .../ASR/tdnn_lstm_ctc/asr_datamodule.py | 335 ++++++ egs/aishell/ASR/tdnn_lstm_ctc/decode.py | 379 +++++++ egs/aishell/ASR/tdnn_lstm_ctc/model.py | 103 ++ egs/aishell/ASR/tdnn_lstm_ctc/train.py | 616 ++++++++++ icefall/char_graph_compiler.py | 98 ++ icefall/lexicon.py | 2 +- 29 files changed, 6299 insertions(+), 1 deletion(-) create mode 100644 egs/aishell/ASR/README.md create mode 100644 egs/aishell/ASR/RESULTS.md create mode 100644 egs/aishell/ASR/conformer_ctc/README.md create mode 100644 egs/aishell/ASR/conformer_ctc/__init__.py create mode 120000 egs/aishell/ASR/conformer_ctc/asr_datamodule.py create mode 100644 egs/aishell/ASR/conformer_ctc/conformer.py create mode 100755 egs/aishell/ASR/conformer_ctc/decode.py create mode 100644 egs/aishell/ASR/conformer_ctc/subsampling.py create mode 100755 egs/aishell/ASR/conformer_ctc/test_subsampling.py create mode 100644 egs/aishell/ASR/conformer_ctc/test_transformer.py create mode 100755 egs/aishell/ASR/conformer_ctc/train.py create mode 100644 egs/aishell/ASR/conformer_ctc/transformer.py create mode 100644 egs/aishell/ASR/local/__init__.py create mode 100755 egs/aishell/ASR/local/compile_hlg.py create mode 100755 egs/aishell/ASR/local/compute_fbank_aishell.py create mode 100755 egs/aishell/ASR/local/compute_fbank_musan.py create mode 100755 egs/aishell/ASR/local/prepare_char.py create mode 100755 egs/aishell/ASR/local/prepare_lang.py create mode 100755 egs/aishell/ASR/local/test_prepare_lang.py create mode 100755 egs/aishell/ASR/prepare.sh create mode 120000 egs/aishell/ASR/shared create mode 100644 egs/aishell/ASR/tdnn_lstm_ctc/README.md create mode 100644 egs/aishell/ASR/tdnn_lstm_ctc/__init__.py create mode 100644 egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py create mode 100755 egs/aishell/ASR/tdnn_lstm_ctc/decode.py create mode 100644 egs/aishell/ASR/tdnn_lstm_ctc/model.py create mode 100755 egs/aishell/ASR/tdnn_lstm_ctc/train.py create mode 100644 icefall/char_graph_compiler.py diff --git a/egs/aishell/ASR/README.md b/egs/aishell/ASR/README.md new file mode 100644 index 0000000000..3fd1773763 --- /dev/null +++ b/egs/aishell/ASR/README.md @@ -0,0 +1,3 @@ + +Please refer to +for how to run models in this recipe. diff --git a/egs/aishell/ASR/RESULTS.md b/egs/aishell/ASR/RESULTS.md new file mode 100644 index 0000000000..41220900ea --- /dev/null +++ b/egs/aishell/ASR/RESULTS.md @@ -0,0 +1,3 @@ +## Results + +Adding soon... diff --git a/egs/aishell/ASR/conformer_ctc/README.md b/egs/aishell/ASR/conformer_ctc/README.md new file mode 100644 index 0000000000..70e4b81f9e --- /dev/null +++ b/egs/aishell/ASR/conformer_ctc/README.md @@ -0,0 +1,3 @@ +Please visit + +for how to run this recipe. diff --git a/egs/aishell/ASR/conformer_ctc/__init__.py b/egs/aishell/ASR/conformer_ctc/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/egs/aishell/ASR/conformer_ctc/asr_datamodule.py b/egs/aishell/ASR/conformer_ctc/asr_datamodule.py new file mode 120000 index 0000000000..fa1b8cca3c --- /dev/null +++ b/egs/aishell/ASR/conformer_ctc/asr_datamodule.py @@ -0,0 +1 @@ +../tdnn_lstm_ctc/asr_datamodule.py \ No newline at end of file diff --git a/egs/aishell/ASR/conformer_ctc/conformer.py b/egs/aishell/ASR/conformer_ctc/conformer.py new file mode 100644 index 0000000000..08287d686d --- /dev/null +++ b/egs/aishell/ASR/conformer_ctc/conformer.py @@ -0,0 +1,933 @@ +#!/usr/bin/env python3 +# Copyright (c) 2021 University of Chinese Academy of Sciences (author: Han Zhu) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import math +import warnings +from typing import Optional, Tuple + +import torch +from torch import Tensor, nn +from transformer import Supervisions, Transformer, encoder_padding_mask + + +class Conformer(Transformer): + """ + Args: + num_features (int): Number of input features + num_classes (int): Number of output classes + subsampling_factor (int): subsampling factor of encoder (the convolution layers before transformers) + d_model (int): attention dimension + nhead (int): number of head + dim_feedforward (int): feedforward dimention + num_encoder_layers (int): number of encoder layers + num_decoder_layers (int): number of decoder layers + dropout (float): dropout rate + cnn_module_kernel (int): Kernel size of convolution module + normalize_before (bool): whether to use layer_norm before the first block. + vgg_frontend (bool): whether to use vgg frontend. + """ + + def __init__( + self, + num_features: int, + num_classes: int, + subsampling_factor: int = 4, + d_model: int = 256, + nhead: int = 4, + dim_feedforward: int = 2048, + num_encoder_layers: int = 12, + num_decoder_layers: int = 6, + dropout: float = 0.1, + cnn_module_kernel: int = 31, + normalize_before: bool = True, + vgg_frontend: bool = False, + is_espnet_structure: bool = False, + mmi_loss: bool = True, + use_feat_batchnorm: bool = False, + ) -> None: + super(Conformer, self).__init__( + num_features=num_features, + num_classes=num_classes, + subsampling_factor=subsampling_factor, + d_model=d_model, + nhead=nhead, + dim_feedforward=dim_feedforward, + num_encoder_layers=num_encoder_layers, + num_decoder_layers=num_decoder_layers, + dropout=dropout, + normalize_before=normalize_before, + vgg_frontend=vgg_frontend, + mmi_loss=mmi_loss, + use_feat_batchnorm=use_feat_batchnorm, + ) + + self.encoder_pos = RelPositionalEncoding(d_model, dropout) + + encoder_layer = ConformerEncoderLayer( + d_model, + nhead, + dim_feedforward, + dropout, + cnn_module_kernel, + normalize_before, + is_espnet_structure, + ) + self.encoder = ConformerEncoder(encoder_layer, num_encoder_layers) + self.normalize_before = normalize_before + self.is_espnet_structure = is_espnet_structure + if self.normalize_before and self.is_espnet_structure: + self.after_norm = nn.LayerNorm(d_model) + else: + # Note: TorchScript detects that self.after_norm could be used inside forward() + # and throws an error without this change. + self.after_norm = identity + + def run_encoder( + self, x: Tensor, supervisions: Optional[Supervisions] = None + ) -> Tuple[Tensor, Optional[Tensor]]: + """ + Args: + x: + The model input. Its shape is [N, T, C]. + supervisions: + Supervision in lhotse format. + See https://github.com/lhotse-speech/lhotse/blob/master/lhotse/dataset/speech_recognition.py#L32 # noqa + CAUTION: It contains length information, i.e., start and number of + frames, before subsampling + It is read directly from the batch, without any sorting. It is used + to compute encoder padding mask, which is used as memory key padding + mask for the decoder. + + Returns: + Tensor: Predictor tensor of dimension (input_length, batch_size, d_model). + Tensor: Mask tensor of dimension (batch_size, input_length) + """ + x = self.encoder_embed(x) + x, pos_emb = self.encoder_pos(x) + x = x.permute(1, 0, 2) # (B, T, F) -> (T, B, F) + mask = encoder_padding_mask(x.size(0), supervisions) + if mask is not None: + mask = mask.to(x.device) + x = self.encoder(x, pos_emb, src_key_padding_mask=mask) # (T, B, F) + + if self.normalize_before and self.is_espnet_structure: + x = self.after_norm(x) + + return x, mask + + +class ConformerEncoderLayer(nn.Module): + """ + ConformerEncoderLayer is made up of self-attn, feedforward and convolution networks. + See: "Conformer: Convolution-augmented Transformer for Speech Recognition" + + Args: + d_model: the number of expected features in the input (required). + nhead: the number of heads in the multiheadattention models (required). + dim_feedforward: the dimension of the feedforward network model (default=2048). + dropout: the dropout value (default=0.1). + cnn_module_kernel (int): Kernel size of convolution module. + normalize_before: whether to use layer_norm before the first block. + + Examples:: + >>> encoder_layer = ConformerEncoderLayer(d_model=512, nhead=8) + >>> src = torch.rand(10, 32, 512) + >>> pos_emb = torch.rand(32, 19, 512) + >>> out = encoder_layer(src, pos_emb) + """ + + def __init__( + self, + d_model: int, + nhead: int, + dim_feedforward: int = 2048, + dropout: float = 0.1, + cnn_module_kernel: int = 31, + normalize_before: bool = True, + is_espnet_structure: bool = False, + ) -> None: + super(ConformerEncoderLayer, self).__init__() + self.self_attn = RelPositionMultiheadAttention( + d_model, nhead, dropout=0.0, is_espnet_structure=is_espnet_structure + ) + + self.feed_forward = nn.Sequential( + nn.Linear(d_model, dim_feedforward), + Swish(), + nn.Dropout(dropout), + nn.Linear(dim_feedforward, d_model), + ) + + self.feed_forward_macaron = nn.Sequential( + nn.Linear(d_model, dim_feedforward), + Swish(), + nn.Dropout(dropout), + nn.Linear(dim_feedforward, d_model), + ) + + self.conv_module = ConvolutionModule(d_model, cnn_module_kernel) + + self.norm_ff_macaron = nn.LayerNorm( + d_model + ) # for the macaron style FNN module + self.norm_ff = nn.LayerNorm(d_model) # for the FNN module + self.norm_mha = nn.LayerNorm(d_model) # for the MHA module + + self.ff_scale = 0.5 + + self.norm_conv = nn.LayerNorm(d_model) # for the CNN module + self.norm_final = nn.LayerNorm( + d_model + ) # for the final output of the block + + self.dropout = nn.Dropout(dropout) + + self.normalize_before = normalize_before + + def forward( + self, + src: Tensor, + pos_emb: Tensor, + src_mask: Optional[Tensor] = None, + src_key_padding_mask: Optional[Tensor] = None, + ) -> Tensor: + """ + Pass the input through the encoder layer. + + Args: + src: the sequence to the encoder layer (required). + pos_emb: Positional embedding tensor (required). + src_mask: the mask for the src sequence (optional). + src_key_padding_mask: the mask for the src keys per batch (optional). + + Shape: + src: (S, N, E). + pos_emb: (N, 2*S-1, E) + src_mask: (S, S). + src_key_padding_mask: (N, S). + S is the source sequence length, N is the batch size, E is the feature number + """ + + # macaron style feed forward module + residual = src + if self.normalize_before: + src = self.norm_ff_macaron(src) + src = residual + self.ff_scale * self.dropout( + self.feed_forward_macaron(src) + ) + if not self.normalize_before: + src = self.norm_ff_macaron(src) + + # multi-headed self-attention module + residual = src + if self.normalize_before: + src = self.norm_mha(src) + src_att = self.self_attn( + src, + src, + src, + pos_emb=pos_emb, + attn_mask=src_mask, + key_padding_mask=src_key_padding_mask, + )[0] + src = residual + self.dropout(src_att) + if not self.normalize_before: + src = self.norm_mha(src) + + # convolution module + residual = src + if self.normalize_before: + src = self.norm_conv(src) + src = residual + self.dropout(self.conv_module(src)) + if not self.normalize_before: + src = self.norm_conv(src) + + # feed forward module + residual = src + if self.normalize_before: + src = self.norm_ff(src) + src = residual + self.ff_scale * self.dropout(self.feed_forward(src)) + if not self.normalize_before: + src = self.norm_ff(src) + + if self.normalize_before: + src = self.norm_final(src) + + return src + + +class ConformerEncoder(nn.TransformerEncoder): + r"""ConformerEncoder is a stack of N encoder layers + + Args: + encoder_layer: an instance of the ConformerEncoderLayer() class (required). + num_layers: the number of sub-encoder-layers in the encoder (required). + norm: the layer normalization component (optional). + + Examples:: + >>> encoder_layer = ConformerEncoderLayer(d_model=512, nhead=8) + >>> conformer_encoder = ConformerEncoder(encoder_layer, num_layers=6) + >>> src = torch.rand(10, 32, 512) + >>> pos_emb = torch.rand(32, 19, 512) + >>> out = conformer_encoder(src, pos_emb) + """ + + def __init__( + self, encoder_layer: nn.Module, num_layers: int, norm: nn.Module = None + ) -> None: + super(ConformerEncoder, self).__init__( + encoder_layer=encoder_layer, num_layers=num_layers, norm=norm + ) + + def forward( + self, + src: Tensor, + pos_emb: Tensor, + mask: Optional[Tensor] = None, + src_key_padding_mask: Optional[Tensor] = None, + ) -> Tensor: + r"""Pass the input through the encoder layers in turn. + + Args: + src: the sequence to the encoder (required). + pos_emb: Positional embedding tensor (required). + mask: the mask for the src sequence (optional). + src_key_padding_mask: the mask for the src keys per batch (optional). + + Shape: + src: (S, N, E). + pos_emb: (N, 2*S-1, E) + mask: (S, S). + src_key_padding_mask: (N, S). + S is the source sequence length, T is the target sequence length, N is the batch size, E is the feature number + + """ + output = src + + for mod in self.layers: + output = mod( + output, + pos_emb, + src_mask=mask, + src_key_padding_mask=src_key_padding_mask, + ) + + if self.norm is not None: + output = self.norm(output) + + return output + + +class RelPositionalEncoding(torch.nn.Module): + """Relative positional encoding module. + + See : Appendix B in "Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context" + Modified from https://github.com/espnet/espnet/blob/master/espnet/nets/pytorch_backend/transformer/embedding.py + + Args: + d_model: Embedding dimension. + dropout_rate: Dropout rate. + max_len: Maximum input length. + + """ + + def __init__( + self, d_model: int, dropout_rate: float, max_len: int = 5000 + ) -> None: + """Construct an PositionalEncoding object.""" + super(RelPositionalEncoding, self).__init__() + self.d_model = d_model + self.xscale = math.sqrt(self.d_model) + self.dropout = torch.nn.Dropout(p=dropout_rate) + self.pe = None + self.extend_pe(torch.tensor(0.0).expand(1, max_len)) + + def extend_pe(self, x: Tensor) -> None: + """Reset the positional encodings.""" + if self.pe is not None: + # self.pe contains both positive and negative parts + # the length of self.pe is 2 * input_len - 1 + if self.pe.size(1) >= x.size(1) * 2 - 1: + # Note: TorchScript doesn't implement operator== for torch.Device + if self.pe.dtype != x.dtype or str(self.pe.device) != str( + x.device + ): + self.pe = self.pe.to(dtype=x.dtype, device=x.device) + return + # Suppose `i` means to the position of query vecotr and `j` means the + # position of key vector. We use position relative positions when keys + # are to the left (i>j) and negative relative positions otherwise (i Tuple[Tensor, Tensor]: + """Add positional encoding. + + Args: + x (torch.Tensor): Input tensor (batch, time, `*`). + + Returns: + torch.Tensor: Encoded tensor (batch, time, `*`). + torch.Tensor: Encoded tensor (batch, 2*time-1, `*`). + + """ + self.extend_pe(x) + x = x * self.xscale + pos_emb = self.pe[ + :, + self.pe.size(1) // 2 + - x.size(1) + + 1 : self.pe.size(1) // 2 # noqa E203 + + x.size(1), + ] + return self.dropout(x), self.dropout(pos_emb) + + +class RelPositionMultiheadAttention(nn.Module): + r"""Multi-Head Attention layer with relative position encoding + + See reference: "Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context" + + Args: + embed_dim: total dimension of the model. + num_heads: parallel attention heads. + dropout: a Dropout layer on attn_output_weights. Default: 0.0. + + Examples:: + + >>> rel_pos_multihead_attn = RelPositionMultiheadAttention(embed_dim, num_heads) + >>> attn_output, attn_output_weights = multihead_attn(query, key, value, pos_emb) + """ + + def __init__( + self, + embed_dim: int, + num_heads: int, + dropout: float = 0.0, + is_espnet_structure: bool = False, + ) -> None: + super(RelPositionMultiheadAttention, self).__init__() + self.embed_dim = embed_dim + self.num_heads = num_heads + self.dropout = dropout + self.head_dim = embed_dim // num_heads + assert ( + self.head_dim * num_heads == self.embed_dim + ), "embed_dim must be divisible by num_heads" + + self.in_proj = nn.Linear(embed_dim, 3 * embed_dim, bias=True) + self.out_proj = nn.Linear(embed_dim, embed_dim, bias=True) + + # linear transformation for positional encoding. + self.linear_pos = nn.Linear(embed_dim, embed_dim, bias=False) + # these two learnable bias are used in matrix c and matrix d + # as described in "Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context" Section 3.3 + self.pos_bias_u = nn.Parameter(torch.Tensor(num_heads, self.head_dim)) + self.pos_bias_v = nn.Parameter(torch.Tensor(num_heads, self.head_dim)) + + self._reset_parameters() + + self.is_espnet_structure = is_espnet_structure + + def _reset_parameters(self) -> None: + nn.init.xavier_uniform_(self.in_proj.weight) + nn.init.constant_(self.in_proj.bias, 0.0) + nn.init.constant_(self.out_proj.bias, 0.0) + + nn.init.xavier_uniform_(self.pos_bias_u) + nn.init.xavier_uniform_(self.pos_bias_v) + + def forward( + self, + query: Tensor, + key: Tensor, + value: Tensor, + pos_emb: Tensor, + key_padding_mask: Optional[Tensor] = None, + need_weights: bool = True, + attn_mask: Optional[Tensor] = None, + ) -> Tuple[Tensor, Optional[Tensor]]: + r""" + Args: + query, key, value: map a query and a set of key-value pairs to an output. + pos_emb: Positional embedding tensor + key_padding_mask: if provided, specified padding elements in the key will + be ignored by the attention. When given a binary mask and a value is True, + the corresponding value on the attention layer will be ignored. When given + a byte mask and a value is non-zero, the corresponding value on the attention + layer will be ignored + need_weights: output attn_output_weights. + attn_mask: 2D or 3D mask that prevents attention to certain positions. A 2D mask will be broadcasted for all + the batches while a 3D mask allows to specify a different mask for the entries of each batch. + + Shape: + - Inputs: + - query: :math:`(L, N, E)` where L is the target sequence length, N is the batch size, E is + the embedding dimension. + - key: :math:`(S, N, E)`, where S is the source sequence length, N is the batch size, E is + the embedding dimension. + - value: :math:`(S, N, E)` where S is the source sequence length, N is the batch size, E is + the embedding dimension. + - pos_emb: :math:`(N, 2*L-1, E)` where L is the target sequence length, N is the batch size, E is + the embedding dimension. + - key_padding_mask: :math:`(N, S)` where N is the batch size, S is the source sequence length. + If a ByteTensor is provided, the non-zero positions will be ignored while the position + with the zero positions will be unchanged. If a BoolTensor is provided, the positions with the + value of ``True`` will be ignored while the position with the value of ``False`` will be unchanged. + - attn_mask: 2D mask :math:`(L, S)` where L is the target sequence length, S is the source sequence length. + 3D mask :math:`(N*num_heads, L, S)` where N is the batch size, L is the target sequence length, + S is the source sequence length. attn_mask ensure that position i is allowed to attend the unmasked + positions. If a ByteTensor is provided, the non-zero positions are not allowed to attend + while the zero positions will be unchanged. If a BoolTensor is provided, positions with ``True`` + is not allowed to attend while ``False`` values will be unchanged. If a FloatTensor + is provided, it will be added to the attention weight. + + - Outputs: + - attn_output: :math:`(L, N, E)` where L is the target sequence length, N is the batch size, + E is the embedding dimension. + - attn_output_weights: :math:`(N, L, S)` where N is the batch size, + L is the target sequence length, S is the source sequence length. + """ + return self.multi_head_attention_forward( + query, + key, + value, + pos_emb, + self.embed_dim, + self.num_heads, + self.in_proj.weight, + self.in_proj.bias, + self.dropout, + self.out_proj.weight, + self.out_proj.bias, + training=self.training, + key_padding_mask=key_padding_mask, + need_weights=need_weights, + attn_mask=attn_mask, + ) + + def rel_shift(self, x: Tensor) -> Tensor: + """Compute relative positional encoding. + + Args: + x: Input tensor (batch, head, time1, 2*time1-1). + time1 means the length of query vector. + + Returns: + Tensor: tensor of shape (batch, head, time1, time2) + (note: time2 has the same value as time1, but it is for + the key, while time1 is for the query). + """ + (batch_size, num_heads, time1, n) = x.shape + assert n == 2 * time1 - 1 + # Note: TorchScript requires explicit arg for stride() + batch_stride = x.stride(0) + head_stride = x.stride(1) + time1_stride = x.stride(2) + n_stride = x.stride(3) + return x.as_strided( + (batch_size, num_heads, time1, time1), + (batch_stride, head_stride, time1_stride - n_stride, n_stride), + storage_offset=n_stride * (time1 - 1), + ) + + def multi_head_attention_forward( + self, + query: Tensor, + key: Tensor, + value: Tensor, + pos_emb: Tensor, + embed_dim_to_check: int, + num_heads: int, + in_proj_weight: Tensor, + in_proj_bias: Tensor, + dropout_p: float, + out_proj_weight: Tensor, + out_proj_bias: Tensor, + training: bool = True, + key_padding_mask: Optional[Tensor] = None, + need_weights: bool = True, + attn_mask: Optional[Tensor] = None, + ) -> Tuple[Tensor, Optional[Tensor]]: + r""" + Args: + query, key, value: map a query and a set of key-value pairs to an output. + pos_emb: Positional embedding tensor + embed_dim_to_check: total dimension of the model. + num_heads: parallel attention heads. + in_proj_weight, in_proj_bias: input projection weight and bias. + dropout_p: probability of an element to be zeroed. + out_proj_weight, out_proj_bias: the output projection weight and bias. + training: apply dropout if is ``True``. + key_padding_mask: if provided, specified padding elements in the key will + be ignored by the attention. This is an binary mask. When the value is True, + the corresponding value on the attention layer will be filled with -inf. + need_weights: output attn_output_weights. + attn_mask: 2D or 3D mask that prevents attention to certain positions. A 2D mask will be broadcasted for all + the batches while a 3D mask allows to specify a different mask for the entries of each batch. + + Shape: + Inputs: + - query: :math:`(L, N, E)` where L is the target sequence length, N is the batch size, E is + the embedding dimension. + - key: :math:`(S, N, E)`, where S is the source sequence length, N is the batch size, E is + the embedding dimension. + - value: :math:`(S, N, E)` where S is the source sequence length, N is the batch size, E is + the embedding dimension. + - pos_emb: :math:`(N, 2*L-1, E)` or :math:`(1, 2*L-1, E)` where L is the target sequence + length, N is the batch size, E is the embedding dimension. + - key_padding_mask: :math:`(N, S)` where N is the batch size, S is the source sequence length. + If a ByteTensor is provided, the non-zero positions will be ignored while the zero positions + will be unchanged. If a BoolTensor is provided, the positions with the + value of ``True`` will be ignored while the position with the value of ``False`` will be unchanged. + - attn_mask: 2D mask :math:`(L, S)` where L is the target sequence length, S is the source sequence length. + 3D mask :math:`(N*num_heads, L, S)` where N is the batch size, L is the target sequence length, + S is the source sequence length. attn_mask ensures that position i is allowed to attend the unmasked + positions. If a ByteTensor is provided, the non-zero positions are not allowed to attend + while the zero positions will be unchanged. If a BoolTensor is provided, positions with ``True`` + are not allowed to attend while ``False`` values will be unchanged. If a FloatTensor + is provided, it will be added to the attention weight. + + Outputs: + - attn_output: :math:`(L, N, E)` where L is the target sequence length, N is the batch size, + E is the embedding dimension. + - attn_output_weights: :math:`(N, L, S)` where N is the batch size, + L is the target sequence length, S is the source sequence length. + """ + + tgt_len, bsz, embed_dim = query.size() + assert embed_dim == embed_dim_to_check + assert key.size(0) == value.size(0) and key.size(1) == value.size(1) + + head_dim = embed_dim // num_heads + assert ( + head_dim * num_heads == embed_dim + ), "embed_dim must be divisible by num_heads" + scaling = float(head_dim) ** -0.5 + + if torch.equal(query, key) and torch.equal(key, value): + # self-attention + q, k, v = nn.functional.linear( + query, in_proj_weight, in_proj_bias + ).chunk(3, dim=-1) + + elif torch.equal(key, value): + # encoder-decoder attention + # This is inline in_proj function with in_proj_weight and in_proj_bias + _b = in_proj_bias + _start = 0 + _end = embed_dim + _w = in_proj_weight[_start:_end, :] + if _b is not None: + _b = _b[_start:_end] + q = nn.functional.linear(query, _w, _b) + # This is inline in_proj function with in_proj_weight and in_proj_bias + _b = in_proj_bias + _start = embed_dim + _end = None + _w = in_proj_weight[_start:, :] + if _b is not None: + _b = _b[_start:] + k, v = nn.functional.linear(key, _w, _b).chunk(2, dim=-1) + + else: + # This is inline in_proj function with in_proj_weight and in_proj_bias + _b = in_proj_bias + _start = 0 + _end = embed_dim + _w = in_proj_weight[_start:_end, :] + if _b is not None: + _b = _b[_start:_end] + q = nn.functional.linear(query, _w, _b) + + # This is inline in_proj function with in_proj_weight and in_proj_bias + _b = in_proj_bias + _start = embed_dim + _end = embed_dim * 2 + _w = in_proj_weight[_start:_end, :] + if _b is not None: + _b = _b[_start:_end] + k = nn.functional.linear(key, _w, _b) + + # This is inline in_proj function with in_proj_weight and in_proj_bias + _b = in_proj_bias + _start = embed_dim * 2 + _end = None + _w = in_proj_weight[_start:, :] + if _b is not None: + _b = _b[_start:] + v = nn.functional.linear(value, _w, _b) + + if not self.is_espnet_structure: + q = q * scaling + + if attn_mask is not None: + assert ( + attn_mask.dtype == torch.float32 + or attn_mask.dtype == torch.float64 + or attn_mask.dtype == torch.float16 + or attn_mask.dtype == torch.uint8 + or attn_mask.dtype == torch.bool + ), "Only float, byte, and bool types are supported for attn_mask, not {}".format( + attn_mask.dtype + ) + if attn_mask.dtype == torch.uint8: + warnings.warn( + "Byte tensor for attn_mask is deprecated. Use bool tensor instead." + ) + attn_mask = attn_mask.to(torch.bool) + + if attn_mask.dim() == 2: + attn_mask = attn_mask.unsqueeze(0) + if list(attn_mask.size()) != [1, query.size(0), key.size(0)]: + raise RuntimeError( + "The size of the 2D attn_mask is not correct." + ) + elif attn_mask.dim() == 3: + if list(attn_mask.size()) != [ + bsz * num_heads, + query.size(0), + key.size(0), + ]: + raise RuntimeError( + "The size of the 3D attn_mask is not correct." + ) + else: + raise RuntimeError( + "attn_mask's dimension {} is not supported".format( + attn_mask.dim() + ) + ) + # attn_mask's dim is 3 now. + + # convert ByteTensor key_padding_mask to bool + if ( + key_padding_mask is not None + and key_padding_mask.dtype == torch.uint8 + ): + warnings.warn( + "Byte tensor for key_padding_mask is deprecated. Use bool tensor instead." + ) + key_padding_mask = key_padding_mask.to(torch.bool) + + q = q.contiguous().view(tgt_len, bsz, num_heads, head_dim) + k = k.contiguous().view(-1, bsz, num_heads, head_dim) + v = v.contiguous().view(-1, bsz * num_heads, head_dim).transpose(0, 1) + + src_len = k.size(0) + + if key_padding_mask is not None: + assert key_padding_mask.size(0) == bsz, "{} == {}".format( + key_padding_mask.size(0), bsz + ) + assert key_padding_mask.size(1) == src_len, "{} == {}".format( + key_padding_mask.size(1), src_len + ) + + q = q.transpose(0, 1) # (batch, time1, head, d_k) + + pos_emb_bsz = pos_emb.size(0) + assert pos_emb_bsz in (1, bsz) # actually it is 1 + p = self.linear_pos(pos_emb).view(pos_emb_bsz, -1, num_heads, head_dim) + p = p.transpose(1, 2) # (batch, head, 2*time1-1, d_k) + + q_with_bias_u = (q + self.pos_bias_u).transpose( + 1, 2 + ) # (batch, head, time1, d_k) + + q_with_bias_v = (q + self.pos_bias_v).transpose( + 1, 2 + ) # (batch, head, time1, d_k) + + # compute attention score + # first compute matrix a and matrix c + # as described in "Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context" Section 3.3 + k = k.permute(1, 2, 3, 0) # (batch, head, d_k, time2) + matrix_ac = torch.matmul( + q_with_bias_u, k + ) # (batch, head, time1, time2) + + # compute matrix b and matrix d + matrix_bd = torch.matmul( + q_with_bias_v, p.transpose(-2, -1) + ) # (batch, head, time1, 2*time1-1) + matrix_bd = self.rel_shift(matrix_bd) + + if not self.is_espnet_structure: + attn_output_weights = ( + matrix_ac + matrix_bd + ) # (batch, head, time1, time2) + else: + attn_output_weights = ( + matrix_ac + matrix_bd + ) * scaling # (batch, head, time1, time2) + + attn_output_weights = attn_output_weights.view( + bsz * num_heads, tgt_len, -1 + ) + + assert list(attn_output_weights.size()) == [ + bsz * num_heads, + tgt_len, + src_len, + ] + + if attn_mask is not None: + if attn_mask.dtype == torch.bool: + attn_output_weights.masked_fill_(attn_mask, float("-inf")) + else: + attn_output_weights += attn_mask + + if key_padding_mask is not None: + attn_output_weights = attn_output_weights.view( + bsz, num_heads, tgt_len, src_len + ) + attn_output_weights = attn_output_weights.masked_fill( + key_padding_mask.unsqueeze(1).unsqueeze(2), + float("-inf"), + ) + attn_output_weights = attn_output_weights.view( + bsz * num_heads, tgt_len, src_len + ) + + attn_output_weights = nn.functional.softmax(attn_output_weights, dim=-1) + attn_output_weights = nn.functional.dropout( + attn_output_weights, p=dropout_p, training=training + ) + + attn_output = torch.bmm(attn_output_weights, v) + assert list(attn_output.size()) == [bsz * num_heads, tgt_len, head_dim] + attn_output = ( + attn_output.transpose(0, 1) + .contiguous() + .view(tgt_len, bsz, embed_dim) + ) + attn_output = nn.functional.linear( + attn_output, out_proj_weight, out_proj_bias + ) + + if need_weights: + # average attention weights over heads + attn_output_weights = attn_output_weights.view( + bsz, num_heads, tgt_len, src_len + ) + return attn_output, attn_output_weights.sum(dim=1) / num_heads + else: + return attn_output, None + + +class ConvolutionModule(nn.Module): + """ConvolutionModule in Conformer model. + Modified from https://github.com/espnet/espnet/blob/master/espnet/nets/pytorch_backend/conformer/convolution.py + + Args: + channels (int): The number of channels of conv layers. + kernel_size (int): Kernerl size of conv layers. + bias (bool): Whether to use bias in conv layers (default=True). + + """ + + def __init__( + self, channels: int, kernel_size: int, bias: bool = True + ) -> None: + """Construct an ConvolutionModule object.""" + super(ConvolutionModule, self).__init__() + # kernerl_size should be a odd number for 'SAME' padding + assert (kernel_size - 1) % 2 == 0 + + self.pointwise_conv1 = nn.Conv1d( + channels, + 2 * channels, + kernel_size=1, + stride=1, + padding=0, + bias=bias, + ) + self.depthwise_conv = nn.Conv1d( + channels, + channels, + kernel_size, + stride=1, + padding=(kernel_size - 1) // 2, + groups=channels, + bias=bias, + ) + self.norm = nn.BatchNorm1d(channels) + self.pointwise_conv2 = nn.Conv1d( + channels, + channels, + kernel_size=1, + stride=1, + padding=0, + bias=bias, + ) + self.activation = Swish() + + def forward(self, x: Tensor) -> Tensor: + """Compute convolution module. + + Args: + x: Input tensor (#time, batch, channels). + + Returns: + Tensor: Output tensor (#time, batch, channels). + + """ + # exchange the temporal dimension and the feature dimension + x = x.permute(1, 2, 0) # (#batch, channels, time). + + # GLU mechanism + x = self.pointwise_conv1(x) # (batch, 2*channels, time) + x = nn.functional.glu(x, dim=1) # (batch, channels, time) + + # 1D Depthwise Conv + x = self.depthwise_conv(x) + x = self.activation(self.norm(x)) + + x = self.pointwise_conv2(x) # (batch, channel, time) + + return x.permute(2, 0, 1) + + +class Swish(torch.nn.Module): + """Construct an Swish object.""" + + def forward(self, x: Tensor) -> Tensor: + """Return Swich activation function.""" + return x * torch.sigmoid(x) + + +def identity(x): + return x diff --git a/egs/aishell/ASR/conformer_ctc/decode.py b/egs/aishell/ASR/conformer_ctc/decode.py new file mode 100755 index 0000000000..666e4bb3d4 --- /dev/null +++ b/egs/aishell/ASR/conformer_ctc/decode.py @@ -0,0 +1,494 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corporation (Author: Liyong Guo, +# Fangjun Kuang, +# Wei Kang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import argparse +import logging +from collections import defaultdict +from pathlib import Path +from typing import Dict, List, Optional, Tuple + +import k2 +import torch +import torch.nn as nn +from asr_datamodule import AishellAsrDataModule +from conformer import Conformer + +from icefall.char_graph_compiler import CharCtcTrainingGraphCompiler +from icefall.checkpoint import average_checkpoints, load_checkpoint +from icefall.decode import ( + get_lattice, + nbest_decoding, + nbest_oracle, + one_best_decoding, + rescore_with_attention_decoder, +) +from icefall.lexicon import Lexicon +from icefall.utils import ( + AttributeDict, + get_texts, + setup_logger, + store_transcripts, + write_error_stats, +) + + +def get_parser(): + parser = argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter + ) + + parser.add_argument( + "--epoch", + type=int, + default=34, + help="It specifies the checkpoint to use for decoding." + "Note: Epoch counts from 0.", + ) + parser.add_argument( + "--avg", + type=int, + default=20, + help="Number of checkpoints to average. Automatically select " + "consecutive checkpoints before the checkpoint specified by " + "'--epoch'. ", + ) + + parser.add_argument( + "--method", + type=str, + default="attention-decoder", + help="""Decoding method. + Supported values are: + - (1) 1best. Extract the best path from the decoding lattice as the + decoding result. + - (2) nbest. Extract n paths from the decoding lattice; the path + with the highest score is the decoding result. + - (3) attention-decoder. Extract n paths from the lattice, + the path with the highest score is the decoding result. + - (4) nbest-oracle. Its WER is the lower bound of any n-best + rescoring method can achieve. Useful for debugging n-best + rescoring method. + """, + ) + + parser.add_argument( + "--num-paths", + type=int, + default=100, + help="""Number of paths for n-best based decoding method. + Used only when "method" is one of the following values: + nbest, attention-decoder, and nbest-oracle + """, + ) + + parser.add_argument( + "--lattice-score-scale", + type=float, + default=1.0, + help="""The scale to be applied to `lattice.scores`. + It's needed if you use any kinds of n-best based rescoring. + Used only when "method" is one of the following values: + nbest, attention-decoder, and nbest-oracle + A smaller value results in more unique paths. + """, + ) + + return parser + + +def get_params() -> AttributeDict: + params = AttributeDict( + { + "exp_dir": Path("conformer_ctc/exp_char"), + "lang_dir": Path("data/lang_char"), + "lm_dir": Path("data/lm"), + "feature_dim": 80, + "nhead": 4, + "attention_dim": 512, + "subsampling_factor": 4, + "num_encoder_layers": 12, + "num_decoder_layers": 6, + "vgg_frontend": False, + "is_espnet_structure": True, + "mmi_loss": False, + "use_feat_batchnorm": True, + "search_beam": 20, + "output_beam": 7, + "min_active_states": 30, + "max_active_states": 10000, + "use_double_scores": True, + } + ) + return params + + +def decode_one_batch( + params: AttributeDict, + model: nn.Module, + HLG: k2.Fsa, + batch: dict, + word_table: k2.SymbolTable, + sos_id: int, + eos_id: int, +) -> Dict[str, List[List[int]]]: + """Decode one batch and return the result in a dict. The dict has the + following format: + + - key: It indicates the setting used for decoding. For example, + if decoding method is 1best, the key is the string `no_rescore`. + If attention rescoring is used, the key is the string + `ngram_lm_scale_xxx_attention_scale_xxx`, where `xxx` is the + value of `lm_scale` and `attention_scale`. An example key is + `ngram_lm_scale_0.7_attention_scale_0.5` + - value: It contains the decoding result. `len(value)` equals to + batch size. `value[i]` is the decoding result for the i-th + utterance in the given batch. + Args: + params: + It's the return value of :func:`get_params`. + + - params.method is "1best", it uses 1best decoding without LM rescoring. + - params.method is "nbest", it uses nbest decoding without LM rescoring. + - params.method is "attention-decoder", it uses attention rescoring. + + model: + The neural model. + HLG: + The decoding graph. + batch: + It is the return value from iterating + `lhotse.dataset.K2SpeechRecognitionDataset`. See its documentation + for the format of the `batch`. + word_table: + The word symbol table. + sos_id: + The token ID of the SOS. + eos_id: + The token ID of the EOS. + Returns: + Return the decoding result. See above description for the format of + the returned dict. + """ + device = HLG.device + feature = batch["inputs"] + assert feature.ndim == 3 + feature = feature.to(device) + # at entry, feature is [N, T, C] + + supervisions = batch["supervisions"] + + nnet_output, memory, memory_key_padding_mask = model(feature, supervisions) + # nnet_output is [N, T, C] + + supervision_segments = torch.stack( + ( + supervisions["sequence_idx"], + supervisions["start_frame"] // params.subsampling_factor, + supervisions["num_frames"] // params.subsampling_factor, + ), + 1, + ).to(torch.int32) + + lattice = get_lattice( + nnet_output=nnet_output, + HLG=HLG, + supervision_segments=supervision_segments, + search_beam=params.search_beam, + output_beam=params.output_beam, + min_active_states=params.min_active_states, + max_active_states=params.max_active_states, + subsampling_factor=params.subsampling_factor, + ) + + if params.method == "nbest-oracle": + # Note: You can also pass rescored lattices to it. + # We choose the HLG decoded lattice for speed reasons + # as HLG decoding is faster and the oracle WER + # is slightly worse than that of rescored lattices. + return nbest_oracle( + lattice=lattice, + num_paths=params.num_paths, + ref_texts=supervisions["text"], + word_table=word_table, + scale=params.lattice_score_scale, + ) + + if params.method in ["1best", "nbest"]: + if params.method == "1best": + best_path = one_best_decoding( + lattice=lattice, use_double_scores=params.use_double_scores + ) + key = "no_rescore" + else: + best_path = nbest_decoding( + lattice=lattice, + num_paths=params.num_paths, + use_double_scores=params.use_double_scores, + scale=params.lattice_score_scale, + ) + key = f"no_rescore-scale-{params.lattice_score_scale}-{params.num_paths}" # noqa + + hyps = get_texts(best_path) + hyps = [[word_table[i] for i in ids] for ids in hyps] + return {key: hyps} + + assert params.method == "attention-decoder" + + best_path_dict = rescore_with_attention_decoder( + lattice=lattice, + num_paths=params.num_paths, + model=model, + memory=memory, + memory_key_padding_mask=memory_key_padding_mask, + sos_id=sos_id, + eos_id=eos_id, + scale=params.lattice_score_scale, + ) + ans = dict() + for lm_scale_str, best_path in best_path_dict.items(): + hyps = get_texts(best_path) + hyps = [[word_table[i] for i in ids] for ids in hyps] + ans[lm_scale_str] = hyps + return ans + + +def decode_dataset( + dl: torch.utils.data.DataLoader, + params: AttributeDict, + model: nn.Module, + HLG: k2.Fsa, + word_table: k2.SymbolTable, + sos_id: int, + eos_id: int, +) -> Dict[str, List[Tuple[List[int], List[int]]]]: + """Decode dataset. + + Args: + dl: + PyTorch's dataloader containing the dataset to decode. + params: + It is returned by :func:`get_params`. + model: + The neural model. + HLG: + The decoding graph. + word_table: + It is the word symbol table. + sos_id: + The token ID for SOS. + eos_id: + The token ID for EOS. + Returns: + Return a dict, whose key may be "no-rescore" if the decoding method is + 1best or it may be "ngram_lm_scale_0.7_attention_scale_0.5" if attention + rescoring is used. Its value is a list of tuples. Each tuple contains two + elements: The first is the reference transcript, and the second is the + predicted result. + """ + results = [] + + num_cuts = 0 + + try: + num_batches = len(dl) + except TypeError: + num_batches = "?" + + results = defaultdict(list) + for batch_idx, batch in enumerate(dl): + texts = batch["supervisions"]["text"] + + hyps_dict = decode_one_batch( + params=params, + model=model, + HLG=HLG, + batch=batch, + word_table=word_table, + sos_id=sos_id, + eos_id=eos_id, + ) + + for lm_scale, hyps in hyps_dict.items(): + this_batch = [] + for hyp_words, ref_text in zip(hyps, texts): + ref_words = ref_text.split() + this_batch.append((ref_words, hyp_words)) + + results[lm_scale].extend(this_batch) + + num_cuts += len(batch["supervisions"]["text"]) + + if batch_idx % 100 == 0: + batch_str = f"{batch_idx}/{num_batches}" + + logging.info( + f"batch {batch_str}, cuts processed until now is {num_cuts}" + ) + return results + + +def save_results( + params: AttributeDict, + test_set_name: str, + results_dict: Dict[str, List[Tuple[List[int], List[int]]]], +): + if params.method == "attention-decoder": + # Set it to False since there are too many logs. + enable_log = False + else: + enable_log = True + test_set_wers = dict() + for key, results in results_dict.items(): + recog_path = params.exp_dir / f"recogs-{test_set_name}-{key}.txt" + store_transcripts(filename=recog_path, texts=results) + if enable_log: + logging.info(f"The transcripts are stored in {recog_path}") + + # The following prints out WERs, per-word error statistics and aligned + # ref/hyp pairs. + errs_filename = params.exp_dir / f"errs-{test_set_name}-{key}.txt" + with open(errs_filename, "w") as f: + wer = write_error_stats( + f, f"{test_set_name}-{key}", results, enable_log=enable_log + ) + test_set_wers[key] = wer + + if enable_log: + logging.info( + "Wrote detailed error stats to {}".format(errs_filename) + ) + + test_set_wers = sorted(test_set_wers.items(), key=lambda x: x[1]) + errs_info = params.exp_dir / f"wer-summary-{test_set_name}.txt" + with open(errs_info, "w") as f: + print("settings\tWER", file=f) + for key, val in test_set_wers: + print("{}\t{}".format(key, val), file=f) + + s = "\nFor {}, WER of different settings are:\n".format(test_set_name) + note = "\tbest for {}".format(test_set_name) + for key, val in test_set_wers: + s += "{}\t{}{}\n".format(key, val, note) + note = "" + logging.info(s) + + +@torch.no_grad() +def main(): + parser = get_parser() + AishellAsrDataModule.add_arguments(parser) + args = parser.parse_args() + + params = get_params() + params.update(vars(args)) + + setup_logger(f"{params.exp_dir}/log-{params.method}/log-decode") + logging.info("Decoding started") + logging.info(params) + + lexicon = Lexicon(params.lang_dir) + max_token_id = max(lexicon.tokens) + num_classes = max_token_id + 1 # +1 for the blank + + device = torch.device("cpu") + if torch.cuda.is_available(): + device = torch.device("cuda", 0) + + logging.info(f"device: {device}") + + graph_compiler = CharCtcTrainingGraphCompiler( + lexicon=lexicon, + device=device, + sos_token="", + eos_token="", + ) + sos_id = graph_compiler.sos_id + eos_id = graph_compiler.eos_id + + HLG = k2.Fsa.from_dict( + torch.load(f"{params.lang_dir}/HLG.pt", map_location="cpu") + ) + HLG = HLG.to(device) + assert HLG.requires_grad is False + + if not hasattr(HLG, "lm_scores"): + HLG.lm_scores = HLG.scores.clone() + + model = Conformer( + num_features=params.feature_dim, + nhead=params.nhead, + d_model=params.attention_dim, + num_classes=num_classes, + subsampling_factor=params.subsampling_factor, + num_encoder_layers=params.num_encoder_layers, + num_decoder_layers=params.num_decoder_layers, + vgg_frontend=params.vgg_frontend, + is_espnet_structure=params.is_espnet_structure, + mmi_loss=params.mmi_loss, + use_feat_batchnorm=params.use_feat_batchnorm, + ) + + if params.avg == 1: + load_checkpoint(f"{params.exp_dir}/epoch-{params.epoch}.pt", model) + else: + start = params.epoch - params.avg + 1 + filenames = [] + for i in range(start, params.epoch + 1): + if start >= 0: + filenames.append(f"{params.exp_dir}/epoch-{i}.pt") + logging.info(f"averaging {filenames}") + model.load_state_dict(average_checkpoints(filenames)) + + model.to(device) + model.eval() + num_param = sum([p.numel() for p in model.parameters()]) + logging.info(f"Number of model parameters: {num_param}") + + aishell = AishellAsrDataModule(args) + # CAUTION: `test_sets` is for displaying only. + # If you want to skip test-clean, you have to skip + # it inside the for loop. That is, use + # + # if test_set == 'test-clean': continue + # + test_sets = ["test"] + for test_set, test_dl in zip(test_sets, aishell.test_dataloaders()): + results_dict = decode_dataset( + dl=test_dl, + params=params, + model=model, + HLG=HLG, + word_table=lexicon.word_table, + sos_id=sos_id, + eos_id=eos_id, + ) + + save_results( + params=params, test_set_name=test_set, results_dict=results_dict + ) + + logging.info("Done!") + + +torch.set_num_threads(1) +torch.set_num_interop_threads(1) + +if __name__ == "__main__": + main() diff --git a/egs/aishell/ASR/conformer_ctc/subsampling.py b/egs/aishell/ASR/conformer_ctc/subsampling.py new file mode 100644 index 0000000000..720ed6c228 --- /dev/null +++ b/egs/aishell/ASR/conformer_ctc/subsampling.py @@ -0,0 +1,161 @@ +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import torch +import torch.nn as nn + + +class Conv2dSubsampling(nn.Module): + """Convolutional 2D subsampling (to 1/4 length). + + Convert an input of shape [N, T, idim] to an output + with shape [N, T', odim], where + T' = ((T-1)//2 - 1)//2, which approximates T' == T//4 + + It is based on + https://github.com/espnet/espnet/blob/master/espnet/nets/pytorch_backend/transformer/subsampling.py # noqa + """ + + def __init__(self, idim: int, odim: int) -> None: + """ + Args: + idim: + Input dim. The input shape is [N, T, idim]. + Caution: It requires: T >=7, idim >=7 + odim: + Output dim. The output shape is [N, ((T-1)//2 - 1)//2, odim] + """ + assert idim >= 7 + super().__init__() + self.conv = nn.Sequential( + nn.Conv2d( + in_channels=1, out_channels=odim, kernel_size=3, stride=2 + ), + nn.ReLU(), + nn.Conv2d( + in_channels=odim, out_channels=odim, kernel_size=3, stride=2 + ), + nn.ReLU(), + ) + self.out = nn.Linear(odim * (((idim - 1) // 2 - 1) // 2), odim) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + """Subsample x. + + Args: + x: + Its shape is [N, T, idim]. + + Returns: + Return a tensor of shape [N, ((T-1)//2 - 1)//2, odim] + """ + # On entry, x is [N, T, idim] + x = x.unsqueeze(1) # [N, T, idim] -> [N, 1, T, idim] i.e., [N, C, H, W] + x = self.conv(x) + # Now x is of shape [N, odim, ((T-1)//2 - 1)//2, ((idim-1)//2 - 1)//2] + b, c, t, f = x.size() + x = self.out(x.transpose(1, 2).contiguous().view(b, t, c * f)) + # Now x is of shape [N, ((T-1)//2 - 1))//2, odim] + return x + + +class VggSubsampling(nn.Module): + """Trying to follow the setup described in the following paper: + https://arxiv.org/pdf/1910.09799.pdf + + This paper is not 100% explicit so I am guessing to some extent, + and trying to compare with other VGG implementations. + + Convert an input of shape [N, T, idim] to an output + with shape [N, T', odim], where + T' = ((T-1)//2 - 1)//2, which approximates T' = T//4 + """ + + def __init__(self, idim: int, odim: int) -> None: + """Construct a VggSubsampling object. + + This uses 2 VGG blocks with 2 Conv2d layers each, + subsampling its input by a factor of 4 in the time dimensions. + + Args: + idim: + Input dim. The input shape is [N, T, idim]. + Caution: It requires: T >=7, idim >=7 + odim: + Output dim. The output shape is [N, ((T-1)//2 - 1)//2, odim] + """ + super().__init__() + + cur_channels = 1 + layers = [] + block_dims = [32, 64] + + # The decision to use padding=1 for the 1st convolution, then padding=0 + # for the 2nd and for the max-pooling, and ceil_mode=True, was driven by + # a back-compatibility concern so that the number of frames at the + # output would be equal to: + # (((T-1)//2)-1)//2. + # We can consider changing this by using padding=1 on the + # 2nd convolution, so the num-frames at the output would be T//4. + for block_dim in block_dims: + layers.append( + torch.nn.Conv2d( + in_channels=cur_channels, + out_channels=block_dim, + kernel_size=3, + padding=1, + stride=1, + ) + ) + layers.append(torch.nn.ReLU()) + layers.append( + torch.nn.Conv2d( + in_channels=block_dim, + out_channels=block_dim, + kernel_size=3, + padding=0, + stride=1, + ) + ) + layers.append( + torch.nn.MaxPool2d( + kernel_size=2, stride=2, padding=0, ceil_mode=True + ) + ) + cur_channels = block_dim + + self.layers = nn.Sequential(*layers) + + self.out = nn.Linear( + block_dims[-1] * (((idim - 1) // 2 - 1) // 2), odim + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + """Subsample x. + + Args: + x: + Its shape is [N, T, idim]. + + Returns: + Return a tensor of shape [N, ((T-1)//2 - 1)//2, odim] + """ + x = x.unsqueeze(1) + x = self.layers(x) + b, c, t, f = x.size() + x = self.out(x.transpose(1, 2).contiguous().view(b, t, c * f)) + return x diff --git a/egs/aishell/ASR/conformer_ctc/test_subsampling.py b/egs/aishell/ASR/conformer_ctc/test_subsampling.py new file mode 100755 index 0000000000..e3361d0c98 --- /dev/null +++ b/egs/aishell/ASR/conformer_ctc/test_subsampling.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +from subsampling import Conv2dSubsampling +from subsampling import VggSubsampling +import torch + + +def test_conv2d_subsampling(): + N = 3 + odim = 2 + + for T in range(7, 19): + for idim in range(7, 20): + model = Conv2dSubsampling(idim=idim, odim=odim) + x = torch.empty(N, T, idim) + y = model(x) + assert y.shape[0] == N + assert y.shape[1] == ((T - 1) // 2 - 1) // 2 + assert y.shape[2] == odim + + +def test_vgg_subsampling(): + N = 3 + odim = 2 + + for T in range(7, 19): + for idim in range(7, 20): + model = VggSubsampling(idim=idim, odim=odim) + x = torch.empty(N, T, idim) + y = model(x) + assert y.shape[0] == N + assert y.shape[1] == ((T - 1) // 2 - 1) // 2 + assert y.shape[2] == odim diff --git a/egs/aishell/ASR/conformer_ctc/test_transformer.py b/egs/aishell/ASR/conformer_ctc/test_transformer.py new file mode 100644 index 0000000000..b90215274b --- /dev/null +++ b/egs/aishell/ASR/conformer_ctc/test_transformer.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import torch +from transformer import ( + Transformer, + encoder_padding_mask, + generate_square_subsequent_mask, + decoder_padding_mask, + add_sos, + add_eos, +) + +from torch.nn.utils.rnn import pad_sequence + + +def test_encoder_padding_mask(): + supervisions = { + "sequence_idx": torch.tensor([0, 1, 2]), + "start_frame": torch.tensor([0, 0, 0]), + "num_frames": torch.tensor([18, 7, 13]), + } + + max_len = ((18 - 1) // 2 - 1) // 2 + mask = encoder_padding_mask(max_len, supervisions) + expected_mask = torch.tensor( + [ + [False, False, False], # ((18 - 1)//2 - 1)//2 = 3, + [False, True, True], # ((7 - 1)//2 - 1)//2 = 1, + [False, False, True], # ((13 - 1)//2 - 1)//2 = 2, + ] + ) + assert torch.all(torch.eq(mask, expected_mask)) + + +def test_transformer(): + num_features = 40 + num_classes = 87 + model = Transformer(num_features=num_features, num_classes=num_classes) + + N = 31 + + for T in range(7, 30): + x = torch.rand(N, T, num_features) + y, _, _ = model(x) + assert y.shape == (N, (((T - 1) // 2) - 1) // 2, num_classes) + + +def test_generate_square_subsequent_mask(): + s = 5 + mask = generate_square_subsequent_mask(s) + inf = float("inf") + expected_mask = torch.tensor( + [ + [0.0, -inf, -inf, -inf, -inf], + [0.0, 0.0, -inf, -inf, -inf], + [0.0, 0.0, 0.0, -inf, -inf], + [0.0, 0.0, 0.0, 0.0, -inf], + [0.0, 0.0, 0.0, 0.0, 0.0], + ] + ) + assert torch.all(torch.eq(mask, expected_mask)) + + +def test_decoder_padding_mask(): + x = [torch.tensor([1, 2]), torch.tensor([3]), torch.tensor([2, 5, 8])] + y = pad_sequence(x, batch_first=True, padding_value=-1) + mask = decoder_padding_mask(y, ignore_id=-1) + expected_mask = torch.tensor( + [ + [False, False, True], + [False, True, True], + [False, False, False], + ] + ) + assert torch.all(torch.eq(mask, expected_mask)) + + +def test_add_sos(): + x = [[1, 2], [3], [2, 5, 8]] + y = add_sos(x, sos_id=0) + expected_y = [[0, 1, 2], [0, 3], [0, 2, 5, 8]] + assert y == expected_y + + +def test_add_eos(): + x = [[1, 2], [3], [2, 5, 8]] + y = add_eos(x, eos_id=0) + expected_y = [[1, 2, 0], [3, 0], [2, 5, 8, 0]] + assert y == expected_y diff --git a/egs/aishell/ASR/conformer_ctc/train.py b/egs/aishell/ASR/conformer_ctc/train.py new file mode 100755 index 0000000000..f41864816e --- /dev/null +++ b/egs/aishell/ASR/conformer_ctc/train.py @@ -0,0 +1,735 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import argparse +import logging +from pathlib import Path +from shutil import copyfile +from typing import Optional + +import k2 +import torch +import torch.distributed as dist +import torch.multiprocessing as mp +import torch.nn as nn +from asr_datamodule import AishellAsrDataModule +from conformer import Conformer +from lhotse.utils import fix_random_seed +from torch.nn.parallel import DistributedDataParallel as DDP +from torch.nn.utils import clip_grad_norm_ +from torch.utils.tensorboard import SummaryWriter +from transformer import Noam + +from icefall.char_graph_compiler import CharCtcTrainingGraphCompiler +from icefall.checkpoint import load_checkpoint +from icefall.checkpoint import save_checkpoint as save_checkpoint_impl +from icefall.dist import cleanup_dist, setup_dist +from icefall.lexicon import Lexicon +from icefall.utils import ( + AttributeDict, + encode_supervisions, + setup_logger, + str2bool, +) + + +def get_parser(): + parser = argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter + ) + + parser.add_argument( + "--world-size", + type=int, + default=1, + help="Number of GPUs for DDP training.", + ) + + parser.add_argument( + "--master-port", + type=int, + default=12354, + help="Master port to use for DDP training.", + ) + + parser.add_argument( + "--tensorboard", + type=str2bool, + default=True, + help="Should various information be logged in tensorboard.", + ) + + parser.add_argument( + "--num-epochs", + type=int, + default=35, + help="Number of epochs to train.", + ) + + parser.add_argument( + "--start-epoch", + type=int, + default=0, + help="""Resume training from from this epoch. + If it is positive, it will load checkpoint from + conformer_ctc/exp/epoch-{start_epoch-1}.pt + """, + ) + + return parser + + +def get_params() -> AttributeDict: + """Return a dict containing training parameters. + + All training related parameters that are not passed from the commandline + is saved in the variable `params`. + + Commandline options are merged into `params` after they are parsed, so + you can also access them via `params`. + + Explanation of options saved in `params`: + + - exp_dir: It specifies the directory where all training related + files, e.g., checkpoints, log, etc, are saved + + - lang_dir: It contains language related input files such as + "lexicon.txt" + + - lr: It specifies the initial learning rate + + - feature_dim: The model input dim. It has to match the one used + in computing features. + + - weight_decay: The weight_decay for the optimizer. + + - subsampling_factor: The subsampling factor for the model. + + - best_train_loss: Best training loss so far. It is used to select + the model that has the lowest training loss. It is + updated during the training. + + - best_valid_loss: Best validation loss so far. It is used to select + the model that has the lowest validation loss. It is + updated during the training. + + - best_train_epoch: It is the epoch that has the best training loss. + + - best_valid_epoch: It is the epoch that has the best validation loss. + + - batch_idx_train: Used to writing statistics to tensorboard. It + contains number of batches trained so far across + epochs. + + - log_interval: Print training loss if batch_idx % log_interval` is 0 + + - valid_interval: Run validation if batch_idx % valid_interval is 0 + + - reset_interval: Reset statistics if batch_idx % reset_interval is 0 + + - beam_size: It is used in k2.ctc_loss + + - reduction: It is used in k2.ctc_loss + + - use_double_scores: It is used in k2.ctc_loss + """ + params = AttributeDict( + { + "exp_dir": Path("conformer_ctc/exp_char"), + "lang_dir": Path("data/lang_char"), + "feature_dim": 80, + "weight_decay": 1e-6, + "subsampling_factor": 4, + "best_train_loss": float("inf"), + "best_valid_loss": float("inf"), + "best_train_epoch": -1, + "best_valid_epoch": -1, + "batch_idx_train": 0, + "log_interval": 10, + "reset_interval": 200, + "valid_interval": 3000, + "beam_size": 10, + "reduction": "sum", + "use_double_scores": True, + "accum_grad": 1, + "att_rate": 0.7, + "attention_dim": 512, + "nhead": 4, + "num_decoder_layers": 6, + "num_encoder_layers": 12, + "is_espnet_structure": True, + "mmi_loss": False, + "use_feat_batchnorm": True, + "lr_factor": 5.0, + "warm_step": 36000, + } + ) + + return params + + +def load_checkpoint_if_available( + params: AttributeDict, + model: nn.Module, + optimizer: Optional[torch.optim.Optimizer] = None, + scheduler: Optional[torch.optim.lr_scheduler._LRScheduler] = None, +) -> None: + """Load checkpoint from file. + + If params.start_epoch is positive, it will load the checkpoint from + `params.start_epoch - 1`. Otherwise, this function does nothing. + + Apart from loading state dict for `model`, `optimizer` and `scheduler`, + it also updates `best_train_epoch`, `best_train_loss`, `best_valid_epoch`, + and `best_valid_loss` in `params`. + + Args: + params: + The return value of :func:`get_params`. + model: + The training model. + optimizer: + The optimizer that we are using. + scheduler: + The learning rate scheduler we are using. + Returns: + Return None. + """ + if params.start_epoch <= 0: + return + + filename = params.exp_dir / f"epoch-{params.start_epoch-1}.pt" + saved_params = load_checkpoint( + filename, + model=model, + optimizer=optimizer, + scheduler=scheduler, + ) + + keys = [ + "best_train_epoch", + "best_valid_epoch", + "batch_idx_train", + "best_train_loss", + "best_valid_loss", + ] + for k in keys: + params[k] = saved_params[k] + + return saved_params + + +def save_checkpoint( + params: AttributeDict, + model: nn.Module, + optimizer: Optional[torch.optim.Optimizer] = None, + scheduler: Optional[torch.optim.lr_scheduler._LRScheduler] = None, + rank: int = 0, +) -> None: + """Save model, optimizer, scheduler and training stats to file. + + Args: + params: + It is returned by :func:`get_params`. + model: + The training model. + """ + if rank != 0: + return + filename = params.exp_dir / f"epoch-{params.cur_epoch}.pt" + save_checkpoint_impl( + filename=filename, + model=model, + params=params, + optimizer=optimizer, + scheduler=scheduler, + rank=rank, + ) + + if params.best_train_epoch == params.cur_epoch: + best_train_filename = params.exp_dir / "best-train-loss.pt" + copyfile(src=filename, dst=best_train_filename) + + if params.best_valid_epoch == params.cur_epoch: + best_valid_filename = params.exp_dir / "best-valid-loss.pt" + copyfile(src=filename, dst=best_valid_filename) + + +def compute_loss( + params: AttributeDict, + model: nn.Module, + batch: dict, + graph_compiler: CharCtcTrainingGraphCompiler, + is_training: bool, +): + """ + Compute CTC loss given the model and its inputs. + + Args: + params: + Parameters for training. See :func:`get_params`. + model: + The model for training. It is an instance of Conformer in our case. + batch: + A batch of data. See `lhotse.dataset.K2SpeechRecognitionDataset()` + for the content in it. + graph_compiler: + It is used to build a decoding graph from a ctc topo and training + transcript. The training transcript is contained in the given `batch`, + while the ctc topo is built when this compiler is instantiated. + is_training: + True for training. False for validation. When it is True, this + function enables autograd during computation; when it is False, it + disables autograd. + """ + device = graph_compiler.device + feature = batch["inputs"] + # at entry, feature is [N, T, C] + assert feature.ndim == 3 + feature = feature.to(device) + + supervisions = batch["supervisions"] + with torch.set_grad_enabled(is_training): + nnet_output, encoder_memory, memory_mask = model(feature, supervisions) + # nnet_output is [N, T, C] + + # NOTE: We need `encode_supervisions` to sort sequences with + # different duration in decreasing order, required by + # `k2.intersect_dense` called in `k2.ctc_loss` + supervision_segments, texts = encode_supervisions( + supervisions, subsampling_factor=params.subsampling_factor + ) + + token_ids = graph_compiler.texts_to_ids(texts) + + decoding_graph = graph_compiler.compile(token_ids) + + dense_fsa_vec = k2.DenseFsaVec( + nnet_output, + supervision_segments, + allow_truncate=params.subsampling_factor - 1, + ) + + ctc_loss = k2.ctc_loss( + decoding_graph=decoding_graph, + dense_fsa_vec=dense_fsa_vec, + output_beam=params.beam_size, + reduction=params.reduction, + use_double_scores=params.use_double_scores, + ) + + if params.att_rate != 0.0: + with torch.set_grad_enabled(is_training): + if hasattr(model, "module"): + att_loss = model.module.decoder_forward( + encoder_memory, + memory_mask, + token_ids=token_ids, + sos_id=graph_compiler.sos_id, + eos_id=graph_compiler.eos_id, + ) + else: + att_loss = model.decoder_forward( + encoder_memory, + memory_mask, + token_ids=token_ids, + sos_id=graph_compiler.sos_id, + eos_id=graph_compiler.eos_id, + ) + loss = (1.0 - params.att_rate) * ctc_loss + params.att_rate * att_loss + else: + loss = ctc_loss + att_loss = torch.tensor([0]) + + # train_frames and valid_frames are used for printing. + if is_training: + params.train_frames = supervision_segments[:, 2].sum().item() + else: + params.valid_frames = supervision_segments[:, 2].sum().item() + + assert loss.requires_grad == is_training + + return loss, ctc_loss.detach(), att_loss.detach() + + +def compute_validation_loss( + params: AttributeDict, + model: nn.Module, + graph_compiler: CharCtcTrainingGraphCompiler, + valid_dl: torch.utils.data.DataLoader, + world_size: int = 1, +) -> None: + """Run the validation process. The validation loss + is saved in `params.valid_loss`. + """ + model.eval() + + tot_loss = 0.0 + tot_ctc_loss = 0.0 + tot_att_loss = 0.0 + tot_frames = 0.0 + for batch_idx, batch in enumerate(valid_dl): + loss, ctc_loss, att_loss = compute_loss( + params=params, + model=model, + batch=batch, + graph_compiler=graph_compiler, + is_training=False, + ) + assert loss.requires_grad is False + assert ctc_loss.requires_grad is False + assert att_loss.requires_grad is False + + loss_cpu = loss.detach().cpu().item() + tot_loss += loss_cpu + + tot_ctc_loss += ctc_loss.detach().cpu().item() + tot_att_loss += att_loss.detach().cpu().item() + + tot_frames += params.valid_frames + + if world_size > 1: + s = torch.tensor( + [tot_loss, tot_ctc_loss, tot_att_loss, tot_frames], + device=loss.device, + ) + dist.all_reduce(s, op=dist.ReduceOp.SUM) + s = s.cpu().tolist() + tot_loss = s[0] + tot_ctc_loss = s[1] + tot_att_loss = s[2] + tot_frames = s[3] + + params.valid_loss = tot_loss / tot_frames + params.valid_ctc_loss = tot_ctc_loss / tot_frames + params.valid_att_loss = tot_att_loss / tot_frames + + if params.valid_loss < params.best_valid_loss: + params.best_valid_epoch = params.cur_epoch + params.best_valid_loss = params.valid_loss + + +def train_one_epoch( + params: AttributeDict, + model: nn.Module, + optimizer: torch.optim.Optimizer, + graph_compiler: CharCtcTrainingGraphCompiler, + train_dl: torch.utils.data.DataLoader, + valid_dl: torch.utils.data.DataLoader, + tb_writer: Optional[SummaryWriter] = None, + world_size: int = 1, +) -> None: + """Train the model for one epoch. + + The training loss from the mean of all frames is saved in + `params.train_loss`. It runs the validation process every + `params.valid_interval` batches. + + Args: + params: + It is returned by :func:`get_params`. + model: + The model for training. + optimizer: + The optimizer we are using. + graph_compiler: + It is used to convert transcripts to FSAs. + train_dl: + Dataloader for the training dataset. + valid_dl: + Dataloader for the validation dataset. + tb_writer: + Writer to write log messages to tensorboard. + world_size: + Number of nodes in DDP training. If it is 1, DDP is disabled. + """ + model.train() + + tot_loss = 0.0 # sum of losses over all batches + tot_ctc_loss = 0.0 + tot_att_loss = 0.0 + + tot_frames = 0.0 # sum of frames over all batches + params.tot_loss = 0.0 + params.tot_frames = 0.0 + for batch_idx, batch in enumerate(train_dl): + params.batch_idx_train += 1 + batch_size = len(batch["supervisions"]["text"]) + + loss, ctc_loss, att_loss = compute_loss( + params=params, + model=model, + batch=batch, + graph_compiler=graph_compiler, + is_training=True, + ) + + # NOTE: We use reduction==sum and loss is computed over utterances + # in the batch and there is no normalization to it so far. + + optimizer.zero_grad() + loss.backward() + clip_grad_norm_(model.parameters(), 5.0, 2.0) + optimizer.step() + + loss_cpu = loss.detach().cpu().item() + ctc_loss_cpu = ctc_loss.detach().cpu().item() + att_loss_cpu = att_loss.detach().cpu().item() + + tot_frames += params.train_frames + tot_loss += loss_cpu + tot_ctc_loss += ctc_loss_cpu + tot_att_loss += att_loss_cpu + + params.tot_frames += params.train_frames + params.tot_loss += loss_cpu + + tot_avg_loss = tot_loss / tot_frames + tot_avg_ctc_loss = tot_ctc_loss / tot_frames + tot_avg_att_loss = tot_att_loss / tot_frames + + if batch_idx % params.log_interval == 0: + logging.info( + f"Epoch {params.cur_epoch}, batch {batch_idx}, " + f"batch avg ctc loss {ctc_loss_cpu/params.train_frames:.4f}, " + f"batch avg att loss {att_loss_cpu/params.train_frames:.4f}, " + f"batch avg loss {loss_cpu/params.train_frames:.4f}, " + f"total avg ctc loss: {tot_avg_ctc_loss:.4f}, " + f"total avg att loss: {tot_avg_att_loss:.4f}, " + f"total avg loss: {tot_avg_loss:.4f}, " + f"batch size: {batch_size}" + ) + + if tb_writer is not None: + tb_writer.add_scalar( + "train/current_ctc_loss", + ctc_loss_cpu / params.train_frames, + params.batch_idx_train, + ) + tb_writer.add_scalar( + "train/current_att_loss", + att_loss_cpu / params.train_frames, + params.batch_idx_train, + ) + tb_writer.add_scalar( + "train/current_loss", + loss_cpu / params.train_frames, + params.batch_idx_train, + ) + tb_writer.add_scalar( + "train/tot_avg_ctc_loss", + tot_avg_ctc_loss, + params.batch_idx_train, + ) + + tb_writer.add_scalar( + "train/tot_avg_att_loss", + tot_avg_att_loss, + params.batch_idx_train, + ) + tb_writer.add_scalar( + "train/tot_avg_loss", + tot_avg_loss, + params.batch_idx_train, + ) + if batch_idx > 0 and batch_idx % params.reset_interval == 0: + tot_loss = 0.0 # sum of losses over all batches + tot_ctc_loss = 0.0 + tot_att_loss = 0.0 + + tot_frames = 0.0 # sum of frames over all batches + + if batch_idx > 0 and batch_idx % params.valid_interval == 0: + compute_validation_loss( + params=params, + model=model, + graph_compiler=graph_compiler, + valid_dl=valid_dl, + world_size=world_size, + ) + model.train() + logging.info( + f"Epoch {params.cur_epoch}, " + f"valid ctc loss {params.valid_ctc_loss:.4f}," + f"valid att loss {params.valid_att_loss:.4f}," + f"valid loss {params.valid_loss:.4f}," + f" best valid loss: {params.best_valid_loss:.4f} " + f"best valid epoch: {params.best_valid_epoch}" + ) + if tb_writer is not None: + tb_writer.add_scalar( + "train/valid_ctc_loss", + params.valid_ctc_loss, + params.batch_idx_train, + ) + tb_writer.add_scalar( + "train/valid_att_loss", + params.valid_att_loss, + params.batch_idx_train, + ) + tb_writer.add_scalar( + "train/valid_loss", + params.valid_loss, + params.batch_idx_train, + ) + + params.train_loss = params.tot_loss / params.tot_frames + + if params.train_loss < params.best_train_loss: + params.best_train_epoch = params.cur_epoch + params.best_train_loss = params.train_loss + + +def run(rank, world_size, args): + """ + Args: + rank: + It is a value between 0 and `world_size-1`, which is + passed automatically by `mp.spawn()` in :func:`main`. + The node with rank 0 is responsible for saving checkpoint. + world_size: + Number of GPUs for DDP training. + args: + The return value of get_parser().parse_args() + """ + params = get_params() + params.update(vars(args)) + + fix_random_seed(42) + if world_size > 1: + setup_dist(rank, world_size, params.master_port) + + setup_logger(f"{params.exp_dir}/log/log-train") + logging.info("Training started") + logging.info(params) + + if args.tensorboard and rank == 0: + tb_writer = SummaryWriter(log_dir=f"{params.exp_dir}/tensorboard") + else: + tb_writer = None + + lexicon = Lexicon(params.lang_dir) + max_token_id = max(lexicon.tokens) + num_classes = max_token_id + 1 # +1 for the blank + + device = torch.device("cpu") + if torch.cuda.is_available(): + device = torch.device("cuda", rank) + + graph_compiler = CharCtcTrainingGraphCompiler( + lexicon=lexicon, + device=device, + sos_token="", + eos_token="", + ) + + logging.info("About to create model") + model = Conformer( + num_features=params.feature_dim, + nhead=params.nhead, + d_model=params.attention_dim, + num_classes=num_classes, + subsampling_factor=params.subsampling_factor, + num_encoder_layers=params.num_encoder_layers, + num_decoder_layers=params.num_decoder_layers, + vgg_frontend=False, + is_espnet_structure=params.is_espnet_structure, + mmi_loss=params.mmi_loss, + use_feat_batchnorm=params.use_feat_batchnorm, + ) + + checkpoints = load_checkpoint_if_available(params=params, model=model) + + model.to(device) + if world_size > 1: + model = DDP(model, device_ids=[rank]) + + optimizer = Noam( + model.parameters(), + model_size=params.attention_dim, + factor=params.lr_factor, + warm_step=params.warm_step, + weight_decay=params.weight_decay, + ) + + if checkpoints: + optimizer.load_state_dict(checkpoints["optimizer"]) + + aishell = AishellAsrDataModule(args) + train_dl = aishell.train_dataloaders() + valid_dl = aishell.valid_dataloaders() + + for epoch in range(params.start_epoch, params.num_epochs): + train_dl.sampler.set_epoch(epoch) + + cur_lr = optimizer._rate + if tb_writer is not None: + tb_writer.add_scalar( + "train/learning_rate", cur_lr, params.batch_idx_train + ) + tb_writer.add_scalar("train/epoch", epoch, params.batch_idx_train) + + if rank == 0: + logging.info("epoch {}, learning rate {}".format(epoch, cur_lr)) + + params.cur_epoch = epoch + + train_one_epoch( + params=params, + model=model, + optimizer=optimizer, + graph_compiler=graph_compiler, + train_dl=train_dl, + valid_dl=valid_dl, + tb_writer=tb_writer, + world_size=world_size, + ) + + save_checkpoint( + params=params, + model=model, + optimizer=optimizer, + rank=rank, + ) + + logging.info("Done!") + + if world_size > 1: + torch.distributed.barrier() + cleanup_dist() + + +def main(): + parser = get_parser() + AishellAsrDataModule.add_arguments(parser) + args = parser.parse_args() + + + world_size = args.world_size + assert world_size >= 1 + if world_size > 1: + mp.spawn(run, args=(world_size, args), nprocs=world_size, join=True) + else: + run(rank=0, world_size=1, args=args) + + +torch.set_num_threads(1) +torch.set_num_interop_threads(1) + +if __name__ == "__main__": + main() diff --git a/egs/aishell/ASR/conformer_ctc/transformer.py b/egs/aishell/ASR/conformer_ctc/transformer.py new file mode 100644 index 0000000000..191d2d6128 --- /dev/null +++ b/egs/aishell/ASR/conformer_ctc/transformer.py @@ -0,0 +1,1005 @@ +# Copyright 2021 University of Chinese Academy of Sciences (author: Han Zhu) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import math +from typing import Dict, List, Optional, Tuple + +import torch +import torch.nn as nn +from subsampling import Conv2dSubsampling, VggSubsampling +from torch.nn.utils.rnn import pad_sequence + +# Note: TorchScript requires Dict/List/etc. to be fully typed. +Supervisions = Dict[str, torch.Tensor] + + +class Transformer(nn.Module): + def __init__( + self, + num_features: int, + num_classes: int, + subsampling_factor: int = 4, + d_model: int = 256, + nhead: int = 4, + dim_feedforward: int = 2048, + num_encoder_layers: int = 12, + num_decoder_layers: int = 6, + dropout: float = 0.1, + normalize_before: bool = True, + vgg_frontend: bool = False, + mmi_loss: bool = True, + use_feat_batchnorm: bool = False, + ) -> None: + """ + Args: + num_features: + The input dimension of the model. + num_classes: + The output dimension of the model. + subsampling_factor: + Number of output frames is num_in_frames // subsampling_factor. + Currently, subsampling_factor MUST be 4. + d_model: + Attention dimension. + nhead: + Number of heads in multi-head attention. + Must satisfy d_model // nhead == 0. + dim_feedforward: + The output dimension of the feedforward layers in encoder/decoder. + num_encoder_layers: + Number of encoder layers. + num_decoder_layers: + Number of decoder layers. + dropout: + Dropout in encoder/decoder. + normalize_before: + If True, use pre-layer norm; False to use post-layer norm. + vgg_frontend: + True to use vgg style frontend for subsampling. + mmi_loss: + use_feat_batchnorm: + True to use batchnorm for the input layer. + """ + super().__init__() + self.use_feat_batchnorm = use_feat_batchnorm + if use_feat_batchnorm: + self.feat_batchnorm = nn.BatchNorm1d(num_features) + + self.num_features = num_features + self.num_classes = num_classes + self.subsampling_factor = subsampling_factor + if subsampling_factor != 4: + raise NotImplementedError("Support only 'subsampling_factor=4'.") + + # self.encoder_embed converts the input of shape [N, T, num_classes] + # to the shape [N, T//subsampling_factor, d_model]. + # That is, it does two things simultaneously: + # (1) subsampling: T -> T//subsampling_factor + # (2) embedding: num_classes -> d_model + if vgg_frontend: + self.encoder_embed = VggSubsampling(num_features, d_model) + else: + self.encoder_embed = Conv2dSubsampling(num_features, d_model) + + self.encoder_pos = PositionalEncoding(d_model, dropout) + + encoder_layer = TransformerEncoderLayer( + d_model=d_model, + nhead=nhead, + dim_feedforward=dim_feedforward, + dropout=dropout, + normalize_before=normalize_before, + ) + + if normalize_before: + encoder_norm = nn.LayerNorm(d_model) + else: + encoder_norm = None + + self.encoder = nn.TransformerEncoder( + encoder_layer=encoder_layer, + num_layers=num_encoder_layers, + norm=encoder_norm, + ) + + # TODO(fangjun): remove dropout + self.encoder_output_layer = nn.Sequential( + nn.Dropout(p=dropout), nn.Linear(d_model, num_classes) + ) + + if num_decoder_layers > 0: + if mmi_loss: + self.decoder_num_class = ( + self.num_classes + 1 + ) # +1 for the sos/eos symbol + else: + self.decoder_num_class = ( + self.num_classes + ) # bpe model already has sos/eos symbol + + self.decoder_embed = nn.Embedding( + num_embeddings=self.decoder_num_class, embedding_dim=d_model + ) + self.decoder_pos = PositionalEncoding(d_model, dropout) + + decoder_layer = TransformerDecoderLayer( + d_model=d_model, + nhead=nhead, + dim_feedforward=dim_feedforward, + dropout=dropout, + normalize_before=normalize_before, + ) + + if normalize_before: + decoder_norm = nn.LayerNorm(d_model) + else: + decoder_norm = None + + self.decoder = nn.TransformerDecoder( + decoder_layer=decoder_layer, + num_layers=num_decoder_layers, + norm=decoder_norm, + ) + + self.decoder_output_layer = torch.nn.Linear( + d_model, self.decoder_num_class + ) + + self.decoder_criterion = LabelSmoothingLoss(self.decoder_num_class) + else: + self.decoder_criterion = None + + def forward( + self, x: torch.Tensor, supervision: Optional[Supervisions] = None + ) -> Tuple[torch.Tensor, torch.Tensor, Optional[torch.Tensor]]: + """ + Args: + x: + The input tensor. Its shape is [N, T, C]. + supervision: + Supervision in lhotse format. + See https://github.com/lhotse-speech/lhotse/blob/master/lhotse/dataset/speech_recognition.py#L32 # noqa + (CAUTION: It contains length information, i.e., start and number of + frames, before subsampling) + + Returns: + Return a tuple containing 3 tensors: + - CTC output for ctc decoding. Its shape is [N, T, C] + - Encoder output with shape [T, N, C]. It can be used as key and + value for the decoder. + - Encoder output padding mask. It can be used as + memory_key_padding_mask for the decoder. Its shape is [N, T]. + It is None if `supervision` is None. + """ + if self.use_feat_batchnorm: + x = x.permute(0, 2, 1) # [N, T, C] -> [N, C, T] + x = self.feat_batchnorm(x) + x = x.permute(0, 2, 1) # [N, C, T] -> [N, T, C] + encoder_memory, memory_key_padding_mask = self.run_encoder( + x, supervision + ) + x = self.ctc_output(encoder_memory) + return x, encoder_memory, memory_key_padding_mask + + def run_encoder( + self, x: torch.Tensor, supervisions: Optional[Supervisions] = None + ) -> Tuple[torch.Tensor, Optional[torch.Tensor]]: + """Run the transformer encoder. + + Args: + x: + The model input. Its shape is [N, T, C]. + supervisions: + Supervision in lhotse format. + See https://github.com/lhotse-speech/lhotse/blob/master/lhotse/dataset/speech_recognition.py#L32 # noqa + CAUTION: It contains length information, i.e., start and number of + frames, before subsampling + It is read directly from the batch, without any sorting. It is used + to compute the encoder padding mask, which is used as memory key + padding mask for the decoder. + Returns: + Return a tuple with two tensors: + - The encoder output, with shape [T, N, C] + - encoder padding mask, with shape [N, T]. + The mask is None if `supervisions` is None. + It is used as memory key padding mask in the decoder. + """ + x = self.encoder_embed(x) + x = self.encoder_pos(x) + x = x.permute(1, 0, 2) # (N, T, C) -> (T, N, C) + mask = encoder_padding_mask(x.size(0), supervisions) + mask = mask.to(x.device) if mask is not None else None + x = self.encoder(x, src_key_padding_mask=mask) # (T, N, C) + + return x, mask + + def ctc_output(self, x: torch.Tensor) -> torch.Tensor: + """ + Args: + x: + The output tensor from the transformer encoder. + Its shape is [T, N, C] + + Returns: + Return a tensor that can be used for CTC decoding. + Its shape is [N, T, C] + """ + x = self.encoder_output_layer(x) + x = x.permute(1, 0, 2) # (T, N, C) ->(N, T, C) + x = nn.functional.log_softmax(x, dim=-1) # (N, T, C) + return x + + def decoder_forward( + self, + memory: torch.Tensor, + memory_key_padding_mask: torch.Tensor, + token_ids: List[List[int]], + sos_id: int, + eos_id: int, + ) -> torch.Tensor: + """ + Args: + memory: + It's the output of the encoder with shape [T, N, C] + memory_key_padding_mask: + The padding mask from the encoder. + token_ids: + A list-of-list IDs. Each sublist contains IDs for an utterance. + The IDs can be either phone IDs or word piece IDs. + sos_id: + sos token id + eos_id: + eos token id + + Returns: + A scalar, the **sum** of label smoothing loss over utterances + in the batch without any normalization. + """ + ys_in = add_sos(token_ids, sos_id=sos_id) + ys_in = [torch.tensor(y) for y in ys_in] + ys_in_pad = pad_sequence(ys_in, batch_first=True, padding_value=eos_id) + + ys_out = add_eos(token_ids, eos_id=eos_id) + ys_out = [torch.tensor(y) for y in ys_out] + ys_out_pad = pad_sequence(ys_out, batch_first=True, padding_value=-1) + + device = memory.device + ys_in_pad = ys_in_pad.to(device) + ys_out_pad = ys_out_pad.to(device) + + tgt_mask = generate_square_subsequent_mask(ys_in_pad.shape[-1]).to( + device + ) + + tgt_key_padding_mask = decoder_padding_mask(ys_in_pad, ignore_id=eos_id) + # TODO: Use length information to create the decoder padding mask + # We set the first column to False since the first column in ys_in_pad + # contains sos_id, which is the same as eos_id in our current setting. + tgt_key_padding_mask[:, 0] = False + + tgt = self.decoder_embed(ys_in_pad) # (N, T) -> (N, T, C) + tgt = self.decoder_pos(tgt) + tgt = tgt.permute(1, 0, 2) # (N, T, C) -> (T, N, C) + pred_pad = self.decoder( + tgt=tgt, + memory=memory, + tgt_mask=tgt_mask, + tgt_key_padding_mask=tgt_key_padding_mask, + memory_key_padding_mask=memory_key_padding_mask, + ) # (T, N, C) + pred_pad = pred_pad.permute(1, 0, 2) # (T, N, C) -> (N, T, C) + pred_pad = self.decoder_output_layer(pred_pad) # (N, T, C) + + decoder_loss = self.decoder_criterion(pred_pad, ys_out_pad) + + return decoder_loss + + def decoder_nll( + self, + memory: torch.Tensor, + memory_key_padding_mask: torch.Tensor, + token_ids: List[List[int]], + sos_id: int, + eos_id: int, + ) -> torch.Tensor: + """ + Args: + memory: + It's the output of the encoder with shape [T, N, C] + memory_key_padding_mask: + The padding mask from the encoder. + token_ids: + A list-of-list IDs (e.g., word piece IDs). + Each sublist represents an utterance. + sos_id: + The token ID for SOS. + eos_id: + The token ID for EOS. + Returns: + A 2-D tensor of shape (len(token_ids), max_token_length) + representing the cross entropy loss (i.e., negative log-likelihood). + """ + # The common part between this function and decoder_forward could be + # extracted as a separate function. + + ys_in = add_sos(token_ids, sos_id=sos_id) + ys_in = [torch.tensor(y) for y in ys_in] + ys_in_pad = pad_sequence(ys_in, batch_first=True, padding_value=eos_id) + + ys_out = add_eos(token_ids, eos_id=eos_id) + ys_out = [torch.tensor(y) for y in ys_out] + ys_out_pad = pad_sequence(ys_out, batch_first=True, padding_value=-1) + + device = memory.device + ys_in_pad = ys_in_pad.to(device, dtype=torch.int64) + ys_out_pad = ys_out_pad.to(device, dtype=torch.int64) + + tgt_mask = generate_square_subsequent_mask(ys_in_pad.shape[-1]).to( + device + ) + + tgt_key_padding_mask = decoder_padding_mask(ys_in_pad, ignore_id=eos_id) + # TODO: Use length information to create the decoder padding mask + # We set the first column to False since the first column in ys_in_pad + # contains sos_id, which is the same as eos_id in our current setting. + tgt_key_padding_mask[:, 0] = False + + tgt = self.decoder_embed(ys_in_pad) # (B, T) -> (B, T, F) + tgt = self.decoder_pos(tgt) + tgt = tgt.permute(1, 0, 2) # (B, T, F) -> (T, B, F) + pred_pad = self.decoder( + tgt=tgt, + memory=memory, + tgt_mask=tgt_mask, + tgt_key_padding_mask=tgt_key_padding_mask, + memory_key_padding_mask=memory_key_padding_mask, + ) # (T, B, F) + pred_pad = pred_pad.permute(1, 0, 2) # (T, B, F) -> (B, T, F) + pred_pad = self.decoder_output_layer(pred_pad) # (B, T, F) + # nll: negative log-likelihood + nll = torch.nn.functional.cross_entropy( + pred_pad.view(-1, self.decoder_num_class), + ys_out_pad.view(-1), + ignore_index=-1, + reduction="none", + ) + + nll = nll.view(pred_pad.shape[0], -1) + + return nll + + +class TransformerEncoderLayer(nn.Module): + """ + Modified from torch.nn.TransformerEncoderLayer. + Add support of normalize_before, + i.e., use layer_norm before the first block. + + Args: + d_model: + the number of expected features in the input (required). + nhead: + the number of heads in the multiheadattention models (required). + dim_feedforward: + the dimension of the feedforward network model (default=2048). + dropout: + the dropout value (default=0.1). + activation: + the activation function of intermediate layer, relu or + gelu (default=relu). + normalize_before: + whether to use layer_norm before the first block. + + Examples:: + >>> encoder_layer = TransformerEncoderLayer(d_model=512, nhead=8) + >>> src = torch.rand(10, 32, 512) + >>> out = encoder_layer(src) + """ + + def __init__( + self, + d_model: int, + nhead: int, + dim_feedforward: int = 2048, + dropout: float = 0.1, + activation: str = "relu", + normalize_before: bool = True, + ) -> None: + super(TransformerEncoderLayer, self).__init__() + self.self_attn = nn.MultiheadAttention(d_model, nhead, dropout=0.0) + # Implementation of Feedforward model + self.linear1 = nn.Linear(d_model, dim_feedforward) + self.dropout = nn.Dropout(dropout) + self.linear2 = nn.Linear(dim_feedforward, d_model) + + self.norm1 = nn.LayerNorm(d_model) + self.norm2 = nn.LayerNorm(d_model) + self.dropout1 = nn.Dropout(dropout) + self.dropout2 = nn.Dropout(dropout) + + self.activation = _get_activation_fn(activation) + + self.normalize_before = normalize_before + + def __setstate__(self, state): + if "activation" not in state: + state["activation"] = nn.functional.relu + super(TransformerEncoderLayer, self).__setstate__(state) + + def forward( + self, + src: torch.Tensor, + src_mask: Optional[torch.Tensor] = None, + src_key_padding_mask: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + """ + Pass the input through the encoder layer. + + Args: + src: the sequence to the encoder layer (required). + src_mask: the mask for the src sequence (optional). + src_key_padding_mask: the mask for the src keys per batch (optional) + + Shape: + src: (S, N, E). + src_mask: (S, S). + src_key_padding_mask: (N, S). + S is the source sequence length, T is the target sequence length, + N is the batch size, E is the feature number + """ + residual = src + if self.normalize_before: + src = self.norm1(src) + src2 = self.self_attn( + src, + src, + src, + attn_mask=src_mask, + key_padding_mask=src_key_padding_mask, + )[0] + src = residual + self.dropout1(src2) + if not self.normalize_before: + src = self.norm1(src) + + residual = src + if self.normalize_before: + src = self.norm2(src) + src2 = self.linear2(self.dropout(self.activation(self.linear1(src)))) + src = residual + self.dropout2(src2) + if not self.normalize_before: + src = self.norm2(src) + return src + + +class TransformerDecoderLayer(nn.Module): + """ + Modified from torch.nn.TransformerDecoderLayer. + Add support of normalize_before, + i.e., use layer_norm before the first block. + + Args: + d_model: + the number of expected features in the input (required). + nhead: + the number of heads in the multiheadattention models (required). + dim_feedforward: + the dimension of the feedforward network model (default=2048). + dropout: + the dropout value (default=0.1). + activation: + the activation function of intermediate layer, relu or + gelu (default=relu). + + Examples:: + >>> decoder_layer = nn.TransformerDecoderLayer(d_model=512, nhead=8) + >>> memory = torch.rand(10, 32, 512) + >>> tgt = torch.rand(20, 32, 512) + >>> out = decoder_layer(tgt, memory) + """ + + def __init__( + self, + d_model: int, + nhead: int, + dim_feedforward: int = 2048, + dropout: float = 0.1, + activation: str = "relu", + normalize_before: bool = True, + ) -> None: + super(TransformerDecoderLayer, self).__init__() + self.self_attn = nn.MultiheadAttention(d_model, nhead, dropout=0.0) + self.src_attn = nn.MultiheadAttention(d_model, nhead, dropout=0.0) + # Implementation of Feedforward model + self.linear1 = nn.Linear(d_model, dim_feedforward) + self.dropout = nn.Dropout(dropout) + self.linear2 = nn.Linear(dim_feedforward, d_model) + + self.norm1 = nn.LayerNorm(d_model) + self.norm2 = nn.LayerNorm(d_model) + self.norm3 = nn.LayerNorm(d_model) + self.dropout1 = nn.Dropout(dropout) + self.dropout2 = nn.Dropout(dropout) + self.dropout3 = nn.Dropout(dropout) + + self.activation = _get_activation_fn(activation) + + self.normalize_before = normalize_before + + def __setstate__(self, state): + if "activation" not in state: + state["activation"] = nn.functional.relu + super(TransformerDecoderLayer, self).__setstate__(state) + + def forward( + self, + tgt: torch.Tensor, + memory: torch.Tensor, + tgt_mask: Optional[torch.Tensor] = None, + memory_mask: Optional[torch.Tensor] = None, + tgt_key_padding_mask: Optional[torch.Tensor] = None, + memory_key_padding_mask: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + """Pass the inputs (and mask) through the decoder layer. + + Args: + tgt: + the sequence to the decoder layer (required). + memory: + the sequence from the last layer of the encoder (required). + tgt_mask: + the mask for the tgt sequence (optional). + memory_mask: + the mask for the memory sequence (optional). + tgt_key_padding_mask: + the mask for the tgt keys per batch (optional). + memory_key_padding_mask: + the mask for the memory keys per batch (optional). + + Shape: + tgt: (T, N, E). + memory: (S, N, E). + tgt_mask: (T, T). + memory_mask: (T, S). + tgt_key_padding_mask: (N, T). + memory_key_padding_mask: (N, S). + S is the source sequence length, T is the target sequence length, + N is the batch size, E is the feature number + """ + residual = tgt + if self.normalize_before: + tgt = self.norm1(tgt) + tgt2 = self.self_attn( + tgt, + tgt, + tgt, + attn_mask=tgt_mask, + key_padding_mask=tgt_key_padding_mask, + )[0] + tgt = residual + self.dropout1(tgt2) + if not self.normalize_before: + tgt = self.norm1(tgt) + + residual = tgt + if self.normalize_before: + tgt = self.norm2(tgt) + tgt2 = self.src_attn( + tgt, + memory, + memory, + attn_mask=memory_mask, + key_padding_mask=memory_key_padding_mask, + )[0] + tgt = residual + self.dropout2(tgt2) + if not self.normalize_before: + tgt = self.norm2(tgt) + + residual = tgt + if self.normalize_before: + tgt = self.norm3(tgt) + tgt2 = self.linear2(self.dropout(self.activation(self.linear1(tgt)))) + tgt = residual + self.dropout3(tgt2) + if not self.normalize_before: + tgt = self.norm3(tgt) + return tgt + + +def _get_activation_fn(activation: str): + if activation == "relu": + return nn.functional.relu + elif activation == "gelu": + return nn.functional.gelu + + raise RuntimeError( + "activation should be relu/gelu, not {}".format(activation) + ) + + +class PositionalEncoding(nn.Module): + """This class implements the positional encoding + proposed in the following paper: + + - Attention Is All You Need: https://arxiv.org/pdf/1706.03762.pdf + + PE(pos, 2i) = sin(pos / (10000^(2i/d_modle)) + PE(pos, 2i+1) = cos(pos / (10000^(2i/d_modle)) + + Note:: + + 1 / (10000^(2i/d_model)) = exp(-log(10000^(2i/d_model))) + = exp(-1* 2i / d_model * log(100000)) + = exp(2i * -(log(10000) / d_model)) + """ + + def __init__(self, d_model: int, dropout: float = 0.1) -> None: + """ + Args: + d_model: + Embedding dimension. + dropout: + Dropout probability to be applied to the output of this module. + """ + super().__init__() + self.d_model = d_model + self.xscale = math.sqrt(self.d_model) + self.dropout = nn.Dropout(p=dropout) + self.pe = None + + def extend_pe(self, x: torch.Tensor) -> None: + """Extend the time t in the positional encoding if required. + + The shape of `self.pe` is [1, T1, d_model]. The shape of the input x + is [N, T, d_model]. If T > T1, then we change the shape of self.pe + to [N, T, d_model]. Otherwise, nothing is done. + + Args: + x: + It is a tensor of shape [N, T, C]. + Returns: + Return None. + """ + if self.pe is not None: + if self.pe.size(1) >= x.size(1): + if self.pe.dtype != x.dtype or self.pe.device != x.device: + self.pe = self.pe.to(dtype=x.dtype, device=x.device) + return + pe = torch.zeros(x.size(1), self.d_model, dtype=torch.float32) + position = torch.arange(0, x.size(1), dtype=torch.float32).unsqueeze(1) + div_term = torch.exp( + torch.arange(0, self.d_model, 2, dtype=torch.float32) + * -(math.log(10000.0) / self.d_model) + ) + pe[:, 0::2] = torch.sin(position * div_term) + pe[:, 1::2] = torch.cos(position * div_term) + pe = pe.unsqueeze(0) + # Now pe is of shape [1, T, d_model], where T is x.size(1) + self.pe = pe.to(device=x.device, dtype=x.dtype) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + """ + Add positional encoding. + + Args: + x: + Its shape is [N, T, C] + + Returns: + Return a tensor of shape [N, T, C] + """ + self.extend_pe(x) + x = x * self.xscale + self.pe[:, : x.size(1), :] + return self.dropout(x) + + +class Noam(object): + """ + Implements Noam optimizer. + + Proposed in + "Attention Is All You Need", https://arxiv.org/pdf/1706.03762.pdf + + Modified from + https://github.com/espnet/espnet/blob/master/espnet/nets/pytorch_backend/transformer/optimizer.py # noqa + + Args: + params: + iterable of parameters to optimize or dicts defining parameter groups + model_size: + attention dimension of the transformer model + factor: + learning rate factor + warm_step: + warmup steps + """ + + def __init__( + self, + params, + model_size: int = 256, + factor: float = 10.0, + warm_step: int = 25000, + weight_decay=0, + ) -> None: + """Construct an Noam object.""" + self.optimizer = torch.optim.Adam( + params, lr=0, betas=(0.9, 0.98), eps=1e-9, weight_decay=weight_decay + ) + self._step = 0 + self.warmup = warm_step + self.factor = factor + self.model_size = model_size + self._rate = 0 + + @property + def param_groups(self): + """Return param_groups.""" + return self.optimizer.param_groups + + def step(self): + """Update parameters and rate.""" + self._step += 1 + rate = self.rate() + for p in self.optimizer.param_groups: + p["lr"] = rate + self._rate = rate + self.optimizer.step() + + def rate(self, step=None): + """Implement `lrate` above.""" + if step is None: + step = self._step + return ( + self.factor + * self.model_size ** (-0.5) + * min(step ** (-0.5), step * self.warmup ** (-1.5)) + ) + + def zero_grad(self): + """Reset gradient.""" + self.optimizer.zero_grad() + + def state_dict(self): + """Return state_dict.""" + return { + "_step": self._step, + "warmup": self.warmup, + "factor": self.factor, + "model_size": self.model_size, + "_rate": self._rate, + "optimizer": self.optimizer.state_dict(), + } + + def load_state_dict(self, state_dict): + """Load state_dict.""" + for key, value in state_dict.items(): + if key == "optimizer": + self.optimizer.load_state_dict(state_dict["optimizer"]) + else: + setattr(self, key, value) + + +class LabelSmoothingLoss(nn.Module): + """ + Label-smoothing loss. KL-divergence between + q_{smoothed ground truth prob.}(w) + and p_{prob. computed by model}(w) is minimized. + Modified from + https://github.com/espnet/espnet/blob/master/espnet/nets/pytorch_backend/transformer/label_smoothing_loss.py # noqa + + Args: + size: the number of class + padding_idx: padding_idx: ignored class id + smoothing: smoothing rate (0.0 means the conventional CE) + normalize_length: normalize loss by sequence length if True + criterion: loss function to be smoothed + """ + + def __init__( + self, + size: int, + padding_idx: int = -1, + smoothing: float = 0.1, + normalize_length: bool = False, + criterion: nn.Module = nn.KLDivLoss(reduction="none"), + ) -> None: + """Construct an LabelSmoothingLoss object.""" + super(LabelSmoothingLoss, self).__init__() + self.criterion = criterion + self.padding_idx = padding_idx + assert 0.0 < smoothing <= 1.0 + self.confidence = 1.0 - smoothing + self.smoothing = smoothing + self.size = size + self.true_dist = None + self.normalize_length = normalize_length + + def forward(self, x: torch.Tensor, target: torch.Tensor) -> torch.Tensor: + """ + Compute loss between x and target. + + Args: + x: + prediction of dimension + (batch_size, input_length, number_of_classes). + target: + target masked with self.padding_id of + dimension (batch_size, input_length). + + Returns: + A scalar tensor containing the loss without normalization. + """ + assert x.size(2) == self.size + # batch_size = x.size(0) + x = x.view(-1, self.size) + target = target.view(-1) + with torch.no_grad(): + true_dist = x.clone() + true_dist.fill_(self.smoothing / (self.size - 1)) + ignore = target == self.padding_idx # (B,) + total = len(target) - ignore.sum().item() + target = target.masked_fill(ignore, 0) # avoid -1 index + true_dist.scatter_(1, target.unsqueeze(1), self.confidence) + kl = self.criterion(torch.log_softmax(x, dim=1), true_dist) + # denom = total if self.normalize_length else batch_size + denom = total if self.normalize_length else 1 + return kl.masked_fill(ignore.unsqueeze(1), 0).sum() / denom + + +def encoder_padding_mask( + max_len: int, supervisions: Optional[Supervisions] = None +) -> Optional[torch.Tensor]: + """Make mask tensor containing indexes of padded part. + + TODO:: + This function **assumes** that the model uses + a subsampling factor of 4. We should remove that + assumption later. + + Args: + max_len: + Maximum length of input features. + CAUTION: It is the length after subsampling. + supervisions: + Supervision in lhotse format. + See https://github.com/lhotse-speech/lhotse/blob/master/lhotse/dataset/speech_recognition.py#L32 # noqa + (CAUTION: It contains length information, i.e., start and number of + frames, before subsampling) + + Returns: + Tensor: Mask tensor of dimension (batch_size, input_length), + True denote the masked indices. + """ + if supervisions is None: + return None + + supervision_segments = torch.stack( + ( + supervisions["sequence_idx"], + supervisions["start_frame"], + supervisions["num_frames"], + ), + 1, + ).to(torch.int32) + + lengths = [ + 0 for _ in range(int(supervision_segments[:, 0].max().item()) + 1) + ] + for idx in range(supervision_segments.size(0)): + # Note: TorchScript doesn't allow to unpack tensors as tuples + sequence_idx = supervision_segments[idx, 0].item() + start_frame = supervision_segments[idx, 1].item() + num_frames = supervision_segments[idx, 2].item() + lengths[sequence_idx] = start_frame + num_frames + + lengths = [((i - 1) // 2 - 1) // 2 for i in lengths] + bs = int(len(lengths)) + seq_range = torch.arange(0, max_len, dtype=torch.int64) + seq_range_expand = seq_range.unsqueeze(0).expand(bs, max_len) + # Note: TorchScript doesn't implement Tensor.new() + seq_length_expand = torch.tensor( + lengths, device=seq_range_expand.device, dtype=seq_range_expand.dtype + ).unsqueeze(-1) + mask = seq_range_expand >= seq_length_expand + + return mask + + +def decoder_padding_mask( + ys_pad: torch.Tensor, ignore_id: int = -1 +) -> torch.Tensor: + """Generate a length mask for input. + + The masked position are filled with True, + Unmasked positions are filled with False. + + Args: + ys_pad: + padded tensor of dimension (batch_size, input_length). + ignore_id: + the ignored number (the padding number) in ys_pad + + Returns: + Tensor: + a bool tensor of the same shape as the input tensor. + """ + ys_mask = ys_pad == ignore_id + return ys_mask + + +def generate_square_subsequent_mask(sz: int) -> torch.Tensor: + """Generate a square mask for the sequence. The masked positions are + filled with float('-inf'). Unmasked positions are filled with float(0.0). + The mask can be used for masked self-attention. + + For instance, if sz is 3, it returns:: + + tensor([[0., -inf, -inf], + [0., 0., -inf], + [0., 0., 0]]) + + Args: + sz: mask size + + Returns: + A square mask of dimension (sz, sz) + """ + mask = (torch.triu(torch.ones(sz, sz)) == 1).transpose(0, 1) + mask = ( + mask.float() + .masked_fill(mask == 0, float("-inf")) + .masked_fill(mask == 1, float(0.0)) + ) + return mask + + +def add_sos(token_ids: List[List[int]], sos_id: int) -> List[List[int]]: + """Prepend sos_id to each utterance. + + Args: + token_ids: + A list-of-list of token IDs. Each sublist contains + token IDs (e.g., word piece IDs) of an utterance. + sos_id: + The ID of the SOS token. + + Return: + Return a new list-of-list, where each sublist starts + with SOS ID. + """ + ans = [] + for utt in token_ids: + ans.append([sos_id] + utt) + return ans + + +def add_eos(token_ids: List[List[int]], eos_id: int) -> List[List[int]]: + """Append eos_id to each utterance. + + Args: + token_ids: + A list-of-list of token IDs. Each sublist contains + token IDs (e.g., word piece IDs) of an utterance. + eos_id: + The ID of the EOS token. + + Return: + Return a new list-of-list, where each sublist ends + with EOS ID. + """ + ans = [] + for utt in token_ids: + ans.append(utt + [eos_id]) + return ans diff --git a/egs/aishell/ASR/local/__init__.py b/egs/aishell/ASR/local/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/egs/aishell/ASR/local/compile_hlg.py b/egs/aishell/ASR/local/compile_hlg.py new file mode 100755 index 0000000000..19a1ddd238 --- /dev/null +++ b/egs/aishell/ASR/local/compile_hlg.py @@ -0,0 +1,156 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +""" +This script takes as input lang_dir and generates HLG from + + - H, the ctc topology, built from tokens contained in lang_dir/lexicon.txt + - L, the lexicon, built from lang_dir/L_disambig.pt + + Caution: We use a lexicon that contains disambiguation symbols + + - G, the LM, built from data/lm/G_3_gram.fst.txt + +The generated HLG is saved in $lang_dir/HLG.pt +""" +import argparse +import logging +from pathlib import Path + +import k2 +import torch + +from icefall.lexicon import Lexicon + + +def get_args(): + parser = argparse.ArgumentParser() + parser.add_argument( + "--lang-dir", + type=str, + help="""Input and output directory. + """, + ) + + return parser.parse_args() + + +def compile_HLG(lang_dir: str) -> k2.Fsa: + """ + Args: + lang_dir: + The language directory, e.g., data/lang_phone or data/lang_bpe_5000. + + Return: + An FSA representing HLG. + """ + lexicon = Lexicon(lang_dir) + max_token_id = max(lexicon.tokens) + logging.info(f"Building ctc_topo. max_token_id: {max_token_id}") + H = k2.ctc_topo(max_token_id) + L = k2.Fsa.from_dict(torch.load(f"{lang_dir}/L_disambig.pt")) + + if Path("data/lm/G_3_gram.pt").is_file(): + logging.info("Loading pre-compiled G_3_gram") + d = torch.load("data/lm/G_3_gram.pt") + G = k2.Fsa.from_dict(d) + else: + logging.info("Loading G_3_gram.fst.txt") + with open("data/lm/G_3_gram.fst.txt") as f: + G = k2.Fsa.from_openfst(f.read(), acceptor=False) + torch.save(G.as_dict(), "data/lm/G_3_gram.pt") + + first_token_disambig_id = lexicon.token_table["#0"] + first_word_disambig_id = lexicon.word_table["#0"] + + L = k2.arc_sort(L) + G = k2.arc_sort(G) + + logging.info("Intersecting L and G") + LG = k2.compose(L, G) + logging.info(f"LG shape: {LG.shape}") + + logging.info("Connecting LG") + LG = k2.connect(LG) + logging.info(f"LG shape after k2.connect: {LG.shape}") + + logging.info(type(LG.aux_labels)) + logging.info("Determinizing LG") + + LG = k2.determinize(LG) + logging.info(type(LG.aux_labels)) + + logging.info("Connecting LG after k2.determinize") + LG = k2.connect(LG) + + logging.info("Removing disambiguation symbols on LG") + + LG.labels[LG.labels >= first_token_disambig_id] = 0 + + assert isinstance(LG.aux_labels, k2.RaggedInt) + LG.aux_labels.values()[LG.aux_labels.values() >= first_word_disambig_id] = 0 + + LG = k2.remove_epsilon(LG) + logging.info(f"LG shape after k2.remove_epsilon: {LG.shape}") + + LG = k2.connect(LG) + LG.aux_labels = k2.ragged.remove_values_eq(LG.aux_labels, 0) + + logging.info("Arc sorting LG") + LG = k2.arc_sort(LG) + + logging.info("Composing H and LG") + # CAUTION: The name of the inner_labels is fixed + # to `tokens`. If you want to change it, please + # also change other places in icefall that are using + # it. + HLG = k2.compose(H, LG, inner_labels="tokens") + + logging.info("Connecting LG") + HLG = k2.connect(HLG) + + logging.info("Arc sorting LG") + HLG = k2.arc_sort(HLG) + logging.info(f"HLG.shape: {HLG.shape}") + + return HLG + + +def main(): + args = get_args() + lang_dir = Path(args.lang_dir) + + if (lang_dir / "HLG.pt").is_file(): + logging.info(f"{lang_dir}/HLG.pt already exists - skipping") + return + + logging.info(f"Processing {lang_dir}") + + HLG = compile_HLG(lang_dir) + logging.info(f"Saving HLG.pt to {lang_dir}") + torch.save(HLG.as_dict(), f"{lang_dir}/HLG.pt") + + +if __name__ == "__main__": + formatter = ( + "%(asctime)s %(levelname)s [%(filename)s:%(lineno)d] %(message)s" + ) + + logging.basicConfig(format=formatter, level=logging.INFO) + + main() diff --git a/egs/aishell/ASR/local/compute_fbank_aishell.py b/egs/aishell/ASR/local/compute_fbank_aishell.py new file mode 100755 index 0000000000..77293f7729 --- /dev/null +++ b/egs/aishell/ASR/local/compute_fbank_aishell.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +""" +This file computes fbank features of the aishell dataset. +It looks for manifests in the directory data/manifests. + +The generated fbank features are saved in data/fbank. +""" + +import logging +import os +from pathlib import Path + +import torch +from lhotse import CutSet, Fbank, FbankConfig, LilcomHdf5Writer +from lhotse.recipes.utils import read_manifests_if_cached + +from icefall.utils import get_executor + +# Torch's multithreaded behavior needs to be disabled or +# it wastes a lot of CPU and slow things down. +# Do this outside of main() in case it needs to take effect +# even when we are not invoking the main (e.g. when spawning subprocesses). +torch.set_num_threads(1) +torch.set_num_interop_threads(1) + + +def compute_fbank_aishell(num_mel_bins: int = 80): + src_dir = Path("data/manifests") + output_dir = Path("data/fbank40") + num_jobs = min(15, os.cpu_count()) + + dataset_parts = ( + "train", + "dev", + "test", + ) + manifests = read_manifests_if_cached( + dataset_parts=dataset_parts, output_dir=src_dir + ) + assert manifests is not None + + extractor = Fbank(FbankConfig(num_mel_bins=num_mel_bins)) + + with get_executor() as ex: # Initialize the executor only once. + for partition, m in manifests.items(): + if (output_dir / f"cuts_{partition}.json.gz").is_file(): + logging.info(f"{partition} already exists - skipping.") + continue + logging.info(f"Processing {partition}") + cut_set = CutSet.from_manifests( + recordings=m["recordings"], + supervisions=m["supervisions"], + ) + if "train" in partition: + cut_set = ( + cut_set + + cut_set.perturb_speed(0.9) + + cut_set.perturb_speed(1.1) + ) + cut_set = cut_set.compute_and_store_features( + extractor=extractor, + storage_path=f"{output_dir}/feats_{partition}", + # when an executor is specified, make more partitions + num_jobs=num_jobs if ex is None else 80, + executor=ex, + storage_type=LilcomHdf5Writer, + ) + cut_set.to_json(output_dir / f"cuts_{partition}.json.gz") + + +def get_args(): + parser = argparse.ArgumentParser() + parser.add_argument( + "--num-mel-bins", + type=int, + default=80, + help="""The number of mel bins for Fbank""", + ) + + return parser.parse_args() + + +if __name__ == "__main__": + formatter = ( + "%(asctime)s %(levelname)s [%(filename)s:%(lineno)d] %(message)s" + ) + + logging.basicConfig(format=formatter, level=logging.INFO) + + args = get_args() + compute_fbank_aishell(num_mel_bins=args.num_mel_bins) + diff --git a/egs/aishell/ASR/local/compute_fbank_musan.py b/egs/aishell/ASR/local/compute_fbank_musan.py new file mode 100755 index 0000000000..0b97fb8c53 --- /dev/null +++ b/egs/aishell/ASR/local/compute_fbank_musan.py @@ -0,0 +1,109 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +""" +This file computes fbank features of the musan dataset. +It looks for manifests in the directory data/manifests. + +The generated fbank features are saved in data/fbank. +""" + +import logging +import os +from pathlib import Path + +import torch +from lhotse import CutSet, Fbank, FbankConfig, LilcomHdf5Writer, combine +from lhotse.recipes.utils import read_manifests_if_cached + +from icefall.utils import get_executor + +# Torch's multithreaded behavior needs to be disabled or +# it wastes a lot of CPU and slow things down. +# Do this outside of main() in case it needs to take effect +# even when we are not invoking the main (e.g. when spawning subprocesses). +torch.set_num_threads(1) +torch.set_num_interop_threads(1) + + +def compute_fbank_musan(num_mel_bins: int = 80): + src_dir = Path("data/manifests") + output_dir = Path("data/fbank40") + num_jobs = min(15, os.cpu_count()) + + dataset_parts = ( + "music", + "speech", + "noise", + ) + manifests = read_manifests_if_cached( + dataset_parts=dataset_parts, output_dir=src_dir + ) + assert manifests is not None + + musan_cuts_path = output_dir / "cuts_musan.json.gz" + + if musan_cuts_path.is_file(): + logging.info(f"{musan_cuts_path} already exists - skipping") + return + + logging.info("Extracting features for Musan") + + extractor = Fbank(FbankConfig(num_mel_bins=num_mel_bins)) + + with get_executor() as ex: # Initialize the executor only once. + # create chunks of Musan with duration 5 - 10 seconds + musan_cuts = ( + CutSet.from_manifests( + recordings=combine( + part["recordings"] for part in manifests.values() + ) + ) + .cut_into_windows(10.0) + .filter(lambda c: c.duration > 5) + .compute_and_store_features( + extractor=extractor, + storage_path=f"{output_dir}/feats_musan", + num_jobs=num_jobs if ex is None else 80, + executor=ex, + storage_type=LilcomHdf5Writer, + ) + ) + musan_cuts.to_json(musan_cuts_path) + +def get_args(): + parser = argparse.ArgumentParser() + parser.add_argument( + "--num-mel-bins", + type=int, + default=80, + help="""The number of mel bins for Fbank""", + ) + + return parser.parse_args() + + +if __name__ == "__main__": + formatter = ( + "%(asctime)s %(levelname)s [%(filename)s:%(lineno)d] %(message)s" + ) + + logging.basicConfig(format=formatter, level=logging.INFO) + args = get_args() + compute_fbank_musan(num_mel_bins=args.num_mel_bins) + diff --git a/egs/aishell/ASR/local/prepare_char.py b/egs/aishell/ASR/local/prepare_char.py new file mode 100755 index 0000000000..b645eda919 --- /dev/null +++ b/egs/aishell/ASR/local/prepare_char.py @@ -0,0 +1,247 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang, +# Wei Kang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +""" + +This script takes as input `lang_dir`, which should contain:: + + - lang_dir/text, + - lang_dir/words.txt + +and generates the following files in the directory `lang_dir`: + + - lexicon.txt + - lexicon_disambig.txt + - L.pt + - L_disambig.pt + - tokens.txt +""" + +import argparse +import re +from pathlib import Path +from typing import Dict, List, Tuple + +import k2 +import torch +from prepare_lang import ( + Lexicon, + add_disambig_symbols, + add_self_loops, + write_lexicon, + write_mapping, +) + + +def lexicon_to_fst_no_sil( + lexicon: Lexicon, + token2id: Dict[str, int], + word2id: Dict[str, int], + need_self_loops: bool = False, +) -> k2.Fsa: + """Convert a lexicon to an FST (in k2 format). + + Args: + lexicon: + The input lexicon. See also :func:`read_lexicon` + token2id: + A dict mapping tokens to IDs. + word2id: + A dict mapping words to IDs. + need_self_loops: + If True, add self-loop to states with non-epsilon output symbols + on at least one arc out of the state. The input label for this + self loop is `token2id["#0"]` and the output label is `word2id["#0"]`. + Returns: + Return an instance of `k2.Fsa` representing the given lexicon. + """ + loop_state = 0 # words enter and leave from here + next_state = 1 # the next un-allocated state, will be incremented as we go + + arcs = [] + + # The blank symbol is defined in local/train_bpe_model.py + assert token2id[""] == 0 + assert word2id[""] == 0 + + eps = 0 + + for word, pieces in lexicon: + assert len(pieces) > 0, f"{word} has no pronunciations" + cur_state = loop_state + + word = word2id[word] + pieces = [token2id[i] if i in token2id else token2id[''] for i in pieces] + + for i in range(len(pieces) - 1): + w = word if i == 0 else eps + arcs.append([cur_state, next_state, pieces[i], w, 0]) + + cur_state = next_state + next_state += 1 + + # now for the last piece of this word + i = len(pieces) - 1 + w = word if i == 0 else eps + arcs.append([cur_state, loop_state, pieces[i], w, 0]) + + if need_self_loops: + disambig_token = token2id["#0"] + disambig_word = word2id["#0"] + arcs = add_self_loops( + arcs, + disambig_token=disambig_token, + disambig_word=disambig_word, + ) + + final_state = next_state + arcs.append([loop_state, final_state, -1, -1, 0]) + arcs.append([final_state]) + + arcs = sorted(arcs, key=lambda arc: arc[0]) + arcs = [[str(i) for i in arc] for arc in arcs] + arcs = [" ".join(arc) for arc in arcs] + arcs = "\n".join(arcs) + + fsa = k2.Fsa.from_str(arcs, acceptor=False) + return fsa + + +def contain_oov(token_sym_table: Dict[str, int], tokens: List[str]) -> bool: + """Return if all the tokens are in token symbol table. + + Args: + token_sym_table: + Token symbol table that contains all the valid tokens. + tokens: + A list of tokens. + Returns: + Return True if there is any token not in the token_sym_table, + otherwise False. + """ + for tok in tokens: + if not tok in token_sym_table: + return True + return False + + +def generate_lexicon( + token_sym_table: Dict[str, int], words: List[str] +) -> Lexicon: + """Generate a lexicon from a word list and token_sym_table. + + Args: + token_sym_table: + Token symbol table that mapping token to token ids. + words: + A list of strings representing words. + Returns: + Return a dict whose keys are words and values are the corresponding + tokens. + """ + lexicon = [] + for word in words: + chars = list(word.strip(" \t")) + if contain_oov(token_sym_table, chars): + continue + lexicon.append((word, chars)) + + # The OOV word is + lexicon.append(("", [""])) + return lexicon + + +def generate_tokens(text_file: str) -> Dict[str, int]: + """Generate tokens from the given text file. + + Args: + text_file: + A file that contains text lines to generate tokens. + Returns: + Return a dict whose keys are tokens and values are token ids ranged + from 0 to len(keys) - 1. + """ + tokens: Dict[str, int] = dict() + tokens[''] = 0 + tokens[''] = 1 + tokens[''] = 2 + whitespace = re.compile(r"([ \t\r\n]+)") + with open(text_file, "r", encoding="utf-8") as f: + for line in f: + line = re.sub(whitespace, "", line) + chars = list(line) + for char in chars: + if not char in tokens: + tokens[char] = len(tokens) + return tokens + + +def main(): + lang_dir = Path("data/lang_char") + text_file = lang_dir / "text" + + word_sym_table = k2.SymbolTable.from_file(lang_dir / "words.txt") + + words = word_sym_table.symbols + + excluded = ["", "!SIL", "", "", "#0", "", ""] + for w in excluded: + if w in words: + words.remove(w) + + token_sym_table = generate_tokens(text_file) + + lexicon = generate_lexicon(token_sym_table, words) + + lexicon_disambig, max_disambig = add_disambig_symbols(lexicon) + + next_token_id = max(token_sym_table.values()) + 1 + for i in range(max_disambig + 1): + disambig = f"#{i}" + assert disambig not in token_sym_table + token_sym_table[disambig] = next_token_id + next_token_id += 1 + + word_sym_table.add("#0") + word_sym_table.add("") + word_sym_table.add("") + + write_mapping(lang_dir / "tokens.txt", token_sym_table) + + write_lexicon(lang_dir / "lexicon.txt", lexicon) + write_lexicon(lang_dir / "lexicon_disambig.txt", lexicon_disambig) + + L = lexicon_to_fst_no_sil( + lexicon, + token2id=token_sym_table, + word2id=word_sym_table, + ) + + L_disambig = lexicon_to_fst_no_sil( + lexicon_disambig, + token2id=token_sym_table, + word2id=word_sym_table, + need_self_loops=True, + ) + torch.save(L.as_dict(), lang_dir / "L.pt") + torch.save(L_disambig.as_dict(), lang_dir / "L_disambig.pt") + + +if __name__ == "__main__": + main() diff --git a/egs/aishell/ASR/local/prepare_lang.py b/egs/aishell/ASR/local/prepare_lang.py new file mode 100755 index 0000000000..0880019b3e --- /dev/null +++ b/egs/aishell/ASR/local/prepare_lang.py @@ -0,0 +1,381 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +""" +This script takes as input a lexicon file "data/lang_phone/lexicon.txt" +consisting of words and tokens (i.e., phones) and does the following: + +1. Add disambiguation symbols to the lexicon and generate lexicon_disambig.txt + +2. Generate tokens.txt, the token table mapping a token to a unique integer. + +3. Generate words.txt, the word table mapping a word to a unique integer. + +4. Generate L.pt, in k2 format. It can be loaded by + + d = torch.load("L.pt") + lexicon = k2.Fsa.from_dict(d) + +5. Generate L_disambig.pt, in k2 format. +""" +import math +from collections import defaultdict +from pathlib import Path +from typing import Any, Dict, List, Tuple + +import k2 +import torch + +from icefall.lexicon import read_lexicon, write_lexicon + +Lexicon = List[Tuple[str, List[str]]] + + +def write_mapping(filename: str, sym2id: Dict[str, int]) -> None: + """Write a symbol to ID mapping to a file. + + Note: + No need to implement `read_mapping` as it can be done + through :func:`k2.SymbolTable.from_file`. + + Args: + filename: + Filename to save the mapping. + sym2id: + A dict mapping symbols to IDs. + Returns: + Return None. + """ + with open(filename, "w", encoding="utf-8") as f: + for sym, i in sym2id.items(): + f.write(f"{sym} {i}\n") + + +def get_tokens(lexicon: Lexicon) -> List[str]: + """Get tokens from a lexicon. + + Args: + lexicon: + It is the return value of :func:`read_lexicon`. + Returns: + Return a list of unique tokens. + """ + ans = set() + for _, tokens in lexicon: + ans.update(tokens) + sorted_ans = sorted(list(ans)) + return sorted_ans + + +def get_words(lexicon: Lexicon) -> List[str]: + """Get words from a lexicon. + + Args: + lexicon: + It is the return value of :func:`read_lexicon`. + Returns: + Return a list of unique words. + """ + ans = set() + for word, _ in lexicon: + ans.add(word) + sorted_ans = sorted(list(ans)) + return sorted_ans + + +def add_disambig_symbols(lexicon: Lexicon) -> Tuple[Lexicon, int]: + """It adds pseudo-token disambiguation symbols #1, #2 and so on + at the ends of tokens to ensure that all pronunciations are different, + and that none is a prefix of another. + + See also add_lex_disambig.pl from kaldi. + + Args: + lexicon: + It is returned by :func:`read_lexicon`. + Returns: + Return a tuple with two elements: + + - The output lexicon with disambiguation symbols + - The ID of the max disambiguation symbol that appears + in the lexicon + """ + + # (1) Work out the count of each token-sequence in the + # lexicon. + count = defaultdict(int) + for _, tokens in lexicon: + count[" ".join(tokens)] += 1 + + # (2) For each left sub-sequence of each token-sequence, note down + # that it exists (for identifying prefixes of longer strings). + issubseq = defaultdict(int) + for _, tokens in lexicon: + tokens = tokens.copy() + tokens.pop() + while tokens: + issubseq[" ".join(tokens)] = 1 + tokens.pop() + + # (3) For each entry in the lexicon: + # if the token sequence is unique and is not a + # prefix of another word, no disambig symbol. + # Else output #1, or #2, #3, ... if the same token-seq + # has already been assigned a disambig symbol. + ans = [] + + # We start with #1 since #0 has its own purpose + first_allowed_disambig = 1 + max_disambig = first_allowed_disambig - 1 + last_used_disambig_symbol_of = defaultdict(int) + + for word, tokens in lexicon: + tokenseq = " ".join(tokens) + assert tokenseq != "" + if issubseq[tokenseq] == 0 and count[tokenseq] == 1: + ans.append((word, tokens)) + continue + + cur_disambig = last_used_disambig_symbol_of[tokenseq] + if cur_disambig == 0: + cur_disambig = first_allowed_disambig + else: + cur_disambig += 1 + + if cur_disambig > max_disambig: + max_disambig = cur_disambig + last_used_disambig_symbol_of[tokenseq] = cur_disambig + tokenseq += f" #{cur_disambig}" + ans.append((word, tokenseq.split())) + return ans, max_disambig + + +def generate_id_map(symbols: List[str]) -> Dict[str, int]: + """Generate ID maps, i.e., map a symbol to a unique ID. + + Args: + symbols: + A list of unique symbols. + Returns: + A dict containing the mapping between symbols and IDs. + """ + return {sym: i for i, sym in enumerate(symbols)} + + +def add_self_loops( + arcs: List[List[Any]], disambig_token: int, disambig_word: int +) -> List[List[Any]]: + """Adds self-loops to states of an FST to propagate disambiguation symbols + through it. They are added on each state with non-epsilon output symbols + on at least one arc out of the state. + + See also fstaddselfloops.pl from Kaldi. One difference is that + Kaldi uses OpenFst style FSTs and it has multiple final states. + This function uses k2 style FSTs and it does not need to add self-loops + to the final state. + + The input label of a self-loop is `disambig_token`, while the output + label is `disambig_word`. + + Args: + arcs: + A list-of-list. The sublist contains + `[src_state, dest_state, label, aux_label, score]` + disambig_token: + It is the token ID of the symbol `#0`. + disambig_word: + It is the word ID of the symbol `#0`. + + Return: + Return new `arcs` containing self-loops. + """ + states_needs_self_loops = set() + for arc in arcs: + src, dst, ilabel, olabel, score = arc + if olabel != 0: + states_needs_self_loops.add(src) + + ans = [] + for s in states_needs_self_loops: + ans.append([s, s, disambig_token, disambig_word, 0]) + + return arcs + ans + + +def lexicon_to_fst( + lexicon: Lexicon, + token2id: Dict[str, int], + word2id: Dict[str, int], + sil_token: str = "SIL", + sil_prob: float = 0.5, + need_self_loops: bool = False, +) -> k2.Fsa: + """Convert a lexicon to an FST (in k2 format) with optional silence at + the beginning and end of each word. + + Args: + lexicon: + The input lexicon. See also :func:`read_lexicon` + token2id: + A dict mapping tokens to IDs. + word2id: + A dict mapping words to IDs. + sil_token: + The silence token. + sil_prob: + The probability for adding a silence at the beginning and end + of the word. + need_self_loops: + If True, add self-loop to states with non-epsilon output symbols + on at least one arc out of the state. The input label for this + self loop is `token2id["#0"]` and the output label is `word2id["#0"]`. + Returns: + Return an instance of `k2.Fsa` representing the given lexicon. + """ + assert sil_prob > 0.0 and sil_prob < 1.0 + # CAUTION: we use score, i.e, negative cost. + sil_score = math.log(sil_prob) + no_sil_score = math.log(1.0 - sil_prob) + + start_state = 0 + loop_state = 1 # words enter and leave from here + sil_state = 2 # words terminate here when followed by silence; this state + # has a silence transition to loop_state. + next_state = 3 # the next un-allocated state, will be incremented as we go. + arcs = [] + + assert token2id[""] == 0 + assert word2id[""] == 0 + + eps = 0 + + sil_token = token2id[sil_token] + + arcs.append([start_state, loop_state, eps, eps, no_sil_score]) + arcs.append([start_state, sil_state, eps, eps, sil_score]) + arcs.append([sil_state, loop_state, sil_token, eps, 0]) + + for word, tokens in lexicon: + assert len(tokens) > 0, f"{word} has no pronunciations" + cur_state = loop_state + + word = word2id[word] + tokens = [token2id[i] for i in tokens] + + for i in range(len(tokens) - 1): + w = word if i == 0 else eps + arcs.append([cur_state, next_state, tokens[i], w, 0]) + + cur_state = next_state + next_state += 1 + + # now for the last token of this word + # It has two out-going arcs, one to the loop state, + # the other one to the sil_state. + i = len(tokens) - 1 + w = word if i == 0 else eps + arcs.append([cur_state, loop_state, tokens[i], w, no_sil_score]) + arcs.append([cur_state, sil_state, tokens[i], w, sil_score]) + + if need_self_loops: + disambig_token = token2id["#0"] + disambig_word = word2id["#0"] + arcs = add_self_loops( + arcs, + disambig_token=disambig_token, + disambig_word=disambig_word, + ) + + final_state = next_state + arcs.append([loop_state, final_state, -1, -1, 0]) + arcs.append([final_state]) + + arcs = sorted(arcs, key=lambda arc: arc[0]) + arcs = [[str(i) for i in arc] for arc in arcs] + arcs = [" ".join(arc) for arc in arcs] + arcs = "\n".join(arcs) + + fsa = k2.Fsa.from_str(arcs, acceptor=False) + return fsa + + +def main(): + out_dir = Path("data/lang_phone") + lexicon_filename = out_dir / "lexicon.txt" + sil_token = "SIL" + sil_prob = 0.5 + + lexicon = read_lexicon(lexicon_filename) + tokens = get_tokens(lexicon) + words = get_words(lexicon) + + lexicon_disambig, max_disambig = add_disambig_symbols(lexicon) + + for i in range(max_disambig + 1): + disambig = f"#{i}" + assert disambig not in tokens + tokens.append(f"#{i}") + + assert "" not in tokens + tokens = [""] + tokens + + assert "" not in words + assert "#0" not in words + assert "" not in words + assert "" not in words + + words = [""] + words + ["#0", "", ""] + + token2id = generate_id_map(tokens) + word2id = generate_id_map(words) + + write_mapping(out_dir / "tokens.txt", token2id) + write_mapping(out_dir / "words.txt", word2id) + write_lexicon(out_dir / "lexicon_disambig.txt", lexicon_disambig) + + L = lexicon_to_fst( + lexicon, + token2id=token2id, + word2id=word2id, + sil_token=sil_token, + sil_prob=sil_prob, + ) + + L_disambig = lexicon_to_fst( + lexicon_disambig, + token2id=token2id, + word2id=word2id, + sil_token=sil_token, + sil_prob=sil_prob, + need_self_loops=True, + ) + torch.save(L.as_dict(), out_dir / "L.pt") + torch.save(L_disambig.as_dict(), out_dir / "L_disambig.pt") + + if False: + # Just for debugging, will remove it + L.labels_sym = k2.SymbolTable.from_file(out_dir / "tokens.txt") + L.aux_labels_sym = k2.SymbolTable.from_file(out_dir / "words.txt") + L_disambig.labels_sym = L.labels_sym + L_disambig.aux_labels_sym = L.aux_labels_sym + L.draw(out_dir / "L.png", title="L") + L_disambig.draw(out_dir / "L_disambig.png", title="L_disambig") + + +if __name__ == "__main__": + main() diff --git a/egs/aishell/ASR/local/test_prepare_lang.py b/egs/aishell/ASR/local/test_prepare_lang.py new file mode 100755 index 0000000000..d4cf62bba5 --- /dev/null +++ b/egs/aishell/ASR/local/test_prepare_lang.py @@ -0,0 +1,106 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# Copyright (c) 2021 Xiaomi Corporation (authors: Fangjun Kuang) + +import os +import tempfile + +import k2 +from prepare_lang import ( + add_disambig_symbols, + generate_id_map, + get_phones, + get_words, + lexicon_to_fst, + read_lexicon, + write_lexicon, + write_mapping, +) + + +def generate_lexicon_file() -> str: + fd, filename = tempfile.mkstemp() + os.close(fd) + s = """ + !SIL SIL + SPN + SPN + f f + a a + foo f o o + bar b a r + bark b a r k + food f o o d + food2 f o o d + fo f o + """.strip() + with open(filename, "w") as f: + f.write(s) + return filename + + +def test_read_lexicon(filename: str): + lexicon = read_lexicon(filename) + phones = get_phones(lexicon) + words = get_words(lexicon) + print(lexicon) + print(phones) + print(words) + lexicon_disambig, max_disambig = add_disambig_symbols(lexicon) + print(lexicon_disambig) + print("max disambig:", f"#{max_disambig}") + + phones = ["", "SIL", "SPN"] + phones + for i in range(max_disambig + 1): + phones.append(f"#{i}") + words = [""] + words + + phone2id = generate_id_map(phones) + word2id = generate_id_map(words) + + print(phone2id) + print(word2id) + + write_mapping("phones.txt", phone2id) + write_mapping("words.txt", word2id) + + write_lexicon("a.txt", lexicon) + write_lexicon("a_disambig.txt", lexicon_disambig) + + fsa = lexicon_to_fst(lexicon, phone2id=phone2id, word2id=word2id) + fsa.labels_sym = k2.SymbolTable.from_file("phones.txt") + fsa.aux_labels_sym = k2.SymbolTable.from_file("words.txt") + fsa.draw("L.pdf", title="L") + + fsa_disambig = lexicon_to_fst( + lexicon_disambig, phone2id=phone2id, word2id=word2id + ) + fsa_disambig.labels_sym = k2.SymbolTable.from_file("phones.txt") + fsa_disambig.aux_labels_sym = k2.SymbolTable.from_file("words.txt") + fsa_disambig.draw("L_disambig.pdf", title="L_disambig") + + +def main(): + filename = generate_lexicon_file() + test_read_lexicon(filename) + os.remove(filename) + + +if __name__ == "__main__": + main() diff --git a/egs/aishell/ASR/prepare.sh b/egs/aishell/ASR/prepare.sh new file mode 100755 index 0000000000..915bb88dfe --- /dev/null +++ b/egs/aishell/ASR/prepare.sh @@ -0,0 +1,162 @@ +#!/usr/bin/env bash + +set -eou pipefail + +nj=15 +stage=6 +stop_stage=10 + +# We assume dl_dir (download dir) contains the following +# directories and files. If not, they will be downloaded +# by this script automatically. +# +# - $dl_dir/aishell +# You can data_aishell, resource_aishell inside it. +# You can download them from https://www.openslr.org/33 +# +# - $dl_dir/lm +# This directory contains the language model downloaded from +# https://huggingface.co/pkufool/aishell_lm +# +# - 3-gram.unpruned.apra +# +# - $dl_dir/musan +# This directory contains the following directories downloaded from +# http://www.openslr.org/17/ +# +# - music +# - noise +# - speech +dl_dir=$PWD/download + +. shared/parse_options.sh || exit 1 + +# All files generated by this script are saved in "data". +# You can safely remove "data" and rerun this script to regenerate it. +mkdir -p data + +log() { + # This function is from espnet + local fname=${BASH_SOURCE[1]##*/} + echo -e "$(date '+%Y-%m-%d %H:%M:%S') (${fname}:${BASH_LINENO[0]}:${FUNCNAME[1]}) $*" +} + +log "dl_dir: $dl_dir" + +if [ $stage -le -1 ] && [ $stop_stage -ge -1 ]; then + log "stage -1: Download LM" + # We assume that you have installed the git-lfs, if not, you could install it + # using: `sudo apt-get install git-lfs && git-lfs install` + [ ! -e $dl_dir/lm ] && mkdir -p $dl_dir/lm + git clone https://huggingface.co/pkufool/aishell_lm $dl_dir/lm +fi + +if [ $stage -le 0 ] && [ $stop_stage -ge 0 ]; then + log "stage 0: Download data" + + # If you have pre-downloaded it to /path/to/aishell, + # you can create a symlink + # + # ln -sfv /path/to/aishell $dl_dir/aishell + # + # The directory structure is + # aishell/ + # |-- data_aishell + # | |-- transcript + # | `-- wav + # `-- resource_aishell + # |-- lexicon.txt + # `-- speaker.info + + if [ ! -d $dl_dir/aishell/wav ]; then + lhotse download aishell $dl_dir + fi + + # If you have pre-downloaded it to /path/to/musan, + # you can create a symlink + # + # ln -sfv /path/to/musan $dl_dir/musan + # + if [ ! -d $dl_dir/musan ]; then + lhotse download musan $dl_dir + fi +fi + +if [ $stage -le 1 ] && [ $stop_stage -ge 1 ]; then + log "Stage 1: Prepare aishell manifest" + # We assume that you have downloaded the aishell corpus + # to $dl_dir/aishell + mkdir -p data/manifests + lhotse prepare aishell -j $nj $dl_dir/aishell data/manifests +fi + +if [ $stage -le 2 ] && [ $stop_stage -ge 2 ]; then + log "Stage 2: Prepare musan manifest" + # We assume that you have downloaded the musan corpus + # to data/musan + mkdir -p data/manifests + lhotse prepare musan $dl_dir/musan data/manifests +fi + +if [ $stage -le 3 ] && [ $stop_stage -ge 3 ]; then + log "Stage 3: Compute fbank for aishell" + mkdir -p data/fbank + ./local/compute_fbank_aishell.py +fi + +if [ $stage -le 4 ] && [ $stop_stage -ge 4 ]; then + log "Stage 4: Compute fbank for musan" + mkdir -p data/fbank + ./local/compute_fbank_musan.py +fi + +if [ $stage -le 5 ] && [ $stop_stage -ge 5 ]; then + log "Stage 5: Prepare phone based lang" + mkdir -p data/lang_phone + + (echo '!SIL SIL'; echo ' SPN'; echo ' SPN'; ) | + cat - $dl_dir/aishell/resource_aishell/lexicon.txt | + sort | uniq > data/lang_phone/lexicon.txt + + if [ ! -f data/lang_phone/L_disambig.pt ]; then + ./local/prepare_lang.py + fi +fi + +if [ $stage -le 6 ] && [ $stop_stage -ge 6 ]; then + log "Stage 6: Prepare char based lang" + mkdir -p data/lang_char + # We reuse words.txt from phone based lexicon + # so that the two can share G.pt later. + cp data/lang_phone/words.txt data/lang_char + + cat $dl_dir/aishell/data_aishell/transcript/aishell_transcript_v0.8.txt | + cut -d " " -f 2- | sed -e 's/[ \t\r\n]*//g' > data/lang_char/text + + if [ ! -f data/lang_char/L_disambig.pt ]; then + ./local/prepare_char.py + fi +fi + +if [ $stage -le 7 ] && [ $stop_stage -ge 7 ]; then + log "Stage 7: Prepare G" + # We assume you have install kaldilm, if not, please install + # it using: pip install kaldilm + + mkdir -p data/lm + if [ ! -f data/lm/G_3_gram.fst.txt ]; then + # It is used in building HLG + python3 -m kaldilm \ + --read-symbol-table="data/lang_phone/words.txt" \ + --disambig-symbol='#0' \ + --max-order=3 \ + $dl_dir/lm/3-gram.unpruned.arpa > data/lm/G_3_gram.fst.txt + fi +fi + +if [ $stage -le 8 ] && [ $stop_stage -ge 8 ]; then + log "Stage 8: Compile HLG" + ./local/compile_hlg.py --lang-dir data/lang_phone + ./local/compile_hlg.py --lang-dir data/lang_char +fi + diff --git a/egs/aishell/ASR/shared b/egs/aishell/ASR/shared new file mode 120000 index 0000000000..4c5e91438c --- /dev/null +++ b/egs/aishell/ASR/shared @@ -0,0 +1 @@ +../../../icefall/shared/ \ No newline at end of file diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/README.md b/egs/aishell/ASR/tdnn_lstm_ctc/README.md new file mode 100644 index 0000000000..a2d80a7858 --- /dev/null +++ b/egs/aishell/ASR/tdnn_lstm_ctc/README.md @@ -0,0 +1,4 @@ + +Please visit + +for how to run this recipe. diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/__init__.py b/egs/aishell/ASR/tdnn_lstm_ctc/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py b/egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py new file mode 100644 index 0000000000..4546bfc752 --- /dev/null +++ b/egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py @@ -0,0 +1,335 @@ +# Copyright 2021 Piotr Żelasko +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import argparse +import logging +from functools import lru_cache +from pathlib import Path +from typing import List, Union + +from lhotse import CutSet, Fbank, FbankConfig, load_manifest +from lhotse.dataset import ( + BucketingSampler, + CutConcatenate, + CutMix, + K2SpeechRecognitionDataset, + PrecomputedFeatures, + SingleCutSampler, + SpecAugment, +) +from lhotse.dataset.input_strategies import OnTheFlyFeatures +from torch.utils.data import DataLoader + +from icefall.dataset.datamodule import DataModule +from icefall.utils import str2bool + + +class AishellAsrDataModule(DataModule): + """ + DataModule for k2 ASR experiments. + It assumes there is always one train and valid dataloader, + but there can be multiple test dataloaders (e.g. LibriSpeech test-clean + and test-other). + + It contains all the common data pipeline modules used in ASR + experiments, e.g.: + - dynamic batch size, + - bucketing samplers, + - cut concatenation, + - augmentation, + - on-the-fly feature extraction + """ + + @classmethod + def add_arguments(cls, parser: argparse.ArgumentParser): + super().add_arguments(parser) + group = parser.add_argument_group( + title="ASR data related options", + description="These options are used for the preparation of " + "PyTorch DataLoaders from Lhotse CutSet's -- they control the " + "effective batch sizes, sampling strategies, applied data " + "augmentations, etc.", + ) + group.add_argument( + "--feature-dir", + type=Path, + default=Path("data/fbank"), + help="Path to directory with train/valid/test cuts.", + ) + group.add_argument( + "--max-duration", + type=int, + default=500.0, + help="Maximum pooled recordings duration (seconds) in a " + "single batch. You can reduce it if it causes CUDA OOM.", + ) + group.add_argument( + "--bucketing-sampler", + type=str2bool, + default=False, + help="When enabled, the batches will come from buckets of " + "similar duration (saves padding frames).", + ) + group.add_argument( + "--num-buckets", + type=int, + default=30, + help="The number of buckets for the BucketingSampler" + "(you might want to increase it for larger datasets).", + ) + group.add_argument( + "--concatenate-cuts", + type=str2bool, + default=False, + help="When enabled, utterances (cuts) will be concatenated " + "to minimize the amount of padding.", + ) + group.add_argument( + "--duration-factor", + type=float, + default=1.0, + help="Determines the maximum duration of a concatenated cut " + "relative to the duration of the longest cut in a batch.", + ) + group.add_argument( + "--gap", + type=float, + default=1.0, + help="The amount of padding (in seconds) inserted between " + "concatenated cuts. This padding is filled with noise when " + "noise augmentation is used.", + ) + group.add_argument( + "--on-the-fly-feats", + type=str2bool, + default=False, + help="When enabled, use on-the-fly cut mixing and feature " + "extraction. Will drop existing precomputed feature manifests " + "if available.", + ) + group.add_argument( + "--shuffle", + type=str2bool, + default=True, + help="When enabled (=default), the examples will be " + "shuffled for each epoch.", + ) + group.add_argument( + "--return-cuts", + type=str2bool, + default=True, + help="When enabled, each batch will have the " + "field: batch['supervisions']['cut'] with the cuts that " + "were used to construct it.", + ) + + group.add_argument( + "--num-workers", + type=int, + default=2, + help="The number of training dataloader workers that " + "collect the batches.", + ) + + def train_dataloaders(self) -> DataLoader: + logging.info("About to get train cuts") + cuts_train = self.train_cuts() + + logging.info("About to get Musan cuts") + cuts_musan = load_manifest(self.args.feature_dir / "cuts_musan.json.gz") + + logging.info("About to create train dataset") + transforms = [CutMix(cuts=cuts_musan, prob=0.5, snr=(10, 20))] + if self.args.concatenate_cuts: + logging.info( + f"Using cut concatenation with duration factor " + f"{self.args.duration_factor} and gap {self.args.gap}." + ) + # Cut concatenation should be the first transform in the list, + # so that if we e.g. mix noise in, it will fill the gaps between + # different utterances. + transforms = [ + CutConcatenate( + duration_factor=self.args.duration_factor, gap=self.args.gap + ) + ] + transforms + + input_transforms = [ + SpecAugment( + num_frame_masks=2, + features_mask_size=27, + num_feature_masks=2, + frames_mask_size=100, + ) + ] + + train = K2SpeechRecognitionDataset( + cut_transforms=transforms, + input_transforms=input_transforms, + return_cuts=self.args.return_cuts, + ) + + if self.args.on_the_fly_feats: + # NOTE: the PerturbSpeed transform should be added only if we + # remove it from data prep stage. + # Add on-the-fly speed perturbation; since originally it would + # have increased epoch size by 3, we will apply prob 2/3 and use + # 3x more epochs. + # Speed perturbation probably should come first before + # concatenation, but in principle the transforms order doesn't have + # to be strict (e.g. could be randomized) + # transforms = [PerturbSpeed(factors=[0.9, 1.1], p=2/3)] + transforms # noqa + # Drop feats to be on the safe side. + train = K2SpeechRecognitionDataset( + cut_transforms=transforms, + input_strategy=OnTheFlyFeatures( + Fbank(FbankConfig(num_mel_bins=80)) + ), + input_transforms=input_transforms, + return_cuts=self.args.return_cuts, + ) + + if self.args.bucketing_sampler: + logging.info("Using BucketingSampler.") + train_sampler = BucketingSampler( + cuts_train, + max_duration=self.args.max_duration, + shuffle=self.args.shuffle, + num_buckets=self.args.num_buckets, + bucket_method="equal_duration", + drop_last=True, + ) + else: + logging.info("Using SingleCutSampler.") + train_sampler = SingleCutSampler( + cuts_train, + max_duration=self.args.max_duration, + shuffle=self.args.shuffle, + ) + logging.info("About to create train dataloader") + + train_dl = DataLoader( + train, + sampler=train_sampler, + batch_size=None, + num_workers=self.args.num_workers, + persistent_workers=False, + ) + + return train_dl + + def valid_dataloaders(self) -> DataLoader: + logging.info("About to get dev cuts") + cuts_valid = self.valid_cuts() + + transforms = [] + if self.args.concatenate_cuts: + transforms = [ + CutConcatenate( + duration_factor=self.args.duration_factor, gap=self.args.gap + ) + ] + transforms + + logging.info("About to create dev dataset") + if self.args.on_the_fly_feats: + validate = K2SpeechRecognitionDataset( + cut_transforms=transforms, + input_strategy=OnTheFlyFeatures( + Fbank(FbankConfig(num_mel_bins=80)) + ), + return_cuts=self.args.return_cuts, + ) + else: + validate = K2SpeechRecognitionDataset( + cut_transforms=transforms, + return_cuts=self.args.return_cuts, + ) + valid_sampler = SingleCutSampler( + cuts_valid, + max_duration=self.args.max_duration, + shuffle=False, + ) + logging.info("About to create dev dataloader") + valid_dl = DataLoader( + validate, + sampler=valid_sampler, + batch_size=None, + num_workers=2, + persistent_workers=False, + ) + + return valid_dl + + def test_dataloaders(self) -> Union[DataLoader, List[DataLoader]]: + cuts = self.test_cuts() + is_list = isinstance(cuts, list) + test_loaders = [] + if not is_list: + cuts = [cuts] + + for cuts_test in cuts: + logging.debug("About to create test dataset") + test = K2SpeechRecognitionDataset( + input_strategy=OnTheFlyFeatures( + Fbank(FbankConfig(num_mel_bins=80)) + ) + if self.args.on_the_fly_feats + else PrecomputedFeatures(), + return_cuts=self.args.return_cuts, + ) + sampler = SingleCutSampler( + cuts_test, max_duration=self.args.max_duration + ) + logging.debug("About to create test dataloader") + test_dl = DataLoader( + test, batch_size=None, sampler=sampler, num_workers=1 + ) + test_loaders.append(test_dl) + + if is_list: + return test_loaders + else: + return test_loaders[0] + + @lru_cache() + def train_cuts(self) -> CutSet: + logging.info("About to get train cuts") + cuts_train = load_manifest( + self.args.feature_dir / "cuts_train.json.gz" + ) + return cuts_train + + @lru_cache() + def valid_cuts(self) -> CutSet: + logging.info("About to get dev cuts") + cuts_valid = load_manifest( + self.args.feature_dir / "cuts_dev.json.gz" + ) + return cuts_valid + + @lru_cache() + def test_cuts(self) -> List[CutSet]: + test_sets = ["test"] + cuts = [] + for test_set in test_sets: + logging.debug("About to get test cuts") + cuts.append( + load_manifest( + self.args.feature_dir / f"cuts_{test_set}.json.gz" + ) + ) + return cuts diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/decode.py b/egs/aishell/ASR/tdnn_lstm_ctc/decode.py new file mode 100755 index 0000000000..56a2a075e9 --- /dev/null +++ b/egs/aishell/ASR/tdnn_lstm_ctc/decode.py @@ -0,0 +1,379 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import argparse +import logging +from collections import defaultdict +from pathlib import Path +from typing import Dict, List, Optional, Tuple + +import k2 +import torch +import torch.nn as nn +from asr_datamodule import AishellAsrDataModule +from model import TdnnLstm + +from icefall.checkpoint import average_checkpoints, load_checkpoint +from icefall.decode import ( + get_lattice, + nbest_decoding, + one_best_decoding, + rescore_with_attention_decoder, +) +from icefall.lexicon import Lexicon +from icefall.utils import ( + AttributeDict, + get_texts, + setup_logger, + store_transcripts, + str2bool, + write_error_stats, +) + + +def get_parser(): + parser = argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter + ) + + parser.add_argument( + "--epoch", + type=int, + default=19, + help="It specifies the checkpoint to use for decoding." + "Note: Epoch counts from 0.", + ) + parser.add_argument( + "--avg", + type=int, + default=5, + help="Number of checkpoints to average. Automatically select " + "consecutive checkpoints before the checkpoint specified by " + "'--epoch'. ", + ) + parser.add_argument( + "--export", + type=str2bool, + default=False, + help="""When enabled, the averaged model is saved to + tdnn/exp/pretrained.pt. Note: only model.state_dict() is saved. + pretrained.pt contains a dict {"model": model.state_dict()}, + which can be loaded by `icefall.checkpoint.load_checkpoint()`. + """, + ) + return parser + + +def get_params() -> AttributeDict: + params = AttributeDict( + { + "exp_dir": Path("tdnn_lstm_ctc/exp_lr1e-4/"), + "lang_dir": Path("data/lang_phone"), + "lm_dir": Path("data/lm"), + "feature_dim": 80, + "subsampling_factor": 3, + "search_beam": 20, + "output_beam": 5, + "min_active_states": 30, + "max_active_states": 10000, + "use_double_scores": True, + # Possible values for method: + # - 1best + # - nbest + "method": "nbest", + # num_paths is used when method is "nbest" + "num_paths": 30, + } + ) + return params + + +def decode_one_batch( + params: AttributeDict, + model: nn.Module, + HLG: k2.Fsa, + batch: dict, + lexicon: Lexicon, +) -> Dict[str, List[List[int]]]: + """Decode one batch and return the result in a dict. The dict has the + following format: + + - key: It indicates the setting used for decoding. For example, + if the decoding method is 1best, the key is the string + `no_rescore`. If the decoding method is nbest, the key is the + string `no_rescore-xxx`, xxx is the num_paths. + + - value: It contains the decoding result. `len(value)` equals to + batch size. `value[i]` is the decoding result for the i-th + utterance in the given batch. + Args: + params: + It's the return value of :func:`get_params`. + + - params.method is "1best", it uses 1best decoding without LM rescoring. + - params.method is "nbest", it uses nbest decoding without LM rescoring. + + model: + The neural model. + HLG: + The decoding graph. + batch: + It is the return value from iterating + `lhotse.dataset.K2SpeechRecognitionDataset`. See its documentation + for the format of the `batch`. + lexicon: + It contains word symbol table. + Returns: + Return the decoding result. See above description for the format of + the returned dict. + """ + device = HLG.device + feature = batch["inputs"] + assert feature.ndim == 3 + feature = feature.to(device) + # at entry, feature is [N, T, C] + + feature = feature.permute(0, 2, 1) # now feature is [N, C, T] + + nnet_output = model(feature) + # nnet_output is [N, T, C] + + supervisions = batch["supervisions"] + + supervision_segments = torch.stack( + ( + supervisions["sequence_idx"], + supervisions["start_frame"] // params.subsampling_factor, + supervisions["num_frames"] // params.subsampling_factor, + ), + 1, + ).to(torch.int32) + + lattice = get_lattice( + nnet_output=nnet_output, + HLG=HLG, + supervision_segments=supervision_segments, + search_beam=params.search_beam, + output_beam=params.output_beam, + min_active_states=params.min_active_states, + max_active_states=params.max_active_states, + ) + + assert params.method in ["1best", "nbest"] + if params.method == "1best": + best_path = one_best_decoding( + lattice=lattice, use_double_scores=params.use_double_scores + ) + key = "no_rescore" + else: + best_path = nbest_decoding( + lattice=lattice, + num_paths=params.num_paths, + use_double_scores=params.use_double_scores, + ) + key = f"no_rescore-{params.num_paths}" + hyps = get_texts(best_path) + hyps = [[lexicon.word_table[i] for i in ids] for ids in hyps] + return {key: hyps} + + +def decode_dataset( + dl: torch.utils.data.DataLoader, + params: AttributeDict, + model: nn.Module, + HLG: k2.Fsa, + lexicon: Lexicon, +) -> Dict[str, List[Tuple[List[int], List[int]]]]: + """Decode dataset. + + Args: + dl: + PyTorch's dataloader containing the dataset to decode. + params: + It is returned by :func:`get_params`. + model: + The neural model. + HLG: + The decoding graph. + lexicon: + It contains word symbol table. + Returns: + Return a dict, whose key may be "no-rescore" if decoding method is 1best, + or it may be "no-rescoer-100" if decoding method is nbest. + Its value is a list of tuples. Each tuple contains two elements: + The first is the reference transcript, and the second is the + predicted result. + """ + results = [] + + num_cuts = 0 + + try: + num_batches = len(dl) + except TypeError: + num_batches = "?" + + results = defaultdict(list) + for batch_idx, batch in enumerate(dl): + texts = batch["supervisions"]["text"] + + hyps_dict = decode_one_batch( + params=params, + model=model, + HLG=HLG, + batch=batch, + lexicon=lexicon, + ) + + for lm_scale, hyps in hyps_dict.items(): + this_batch = [] + assert len(hyps) == len(texts) + for hyp_words, ref_text in zip(hyps, texts): + ref_words = ref_text.split() + this_batch.append((ref_words, hyp_words)) + + results[lm_scale].extend(this_batch) + + num_cuts += len(batch["supervisions"]["text"]) + + if batch_idx % 100 == 0: + batch_str = f"{batch_idx}/{num_batches}" + + logging.info( + f"batch {batch_str}, cuts processed until now is {num_cuts}" + ) + return results + + +def save_results( + params: AttributeDict, + test_set_name: str, + results_dict: Dict[str, List[Tuple[List[int], List[int]]]], +): + test_set_wers = dict() + for key, results in results_dict.items(): + recog_path = params.exp_dir / f"recogs-{test_set_name}-{key}.txt" + store_transcripts(filename=recog_path, texts=results) + logging.info(f"The transcripts are stored in {recog_path}") + + # The following prints out WERs, per-word error statistics and aligned + # ref/hyp pairs. + errs_filename = params.exp_dir / f"errs-{test_set_name}-{key}.txt" + with open(errs_filename, "w") as f: + wer = write_error_stats(f, f"{test_set_name}-{key}", results) + test_set_wers[key] = wer + + logging.info("Wrote detailed error stats to {}".format(errs_filename)) + + test_set_wers = sorted(test_set_wers.items(), key=lambda x: x[1]) + errs_info = params.exp_dir / f"wer-summary-{test_set_name}.txt" + with open(errs_info, "w") as f: + print("settings\tWER", file=f) + for key, val in test_set_wers: + print("{}\t{}".format(key, val), file=f) + + s = "\nFor {}, WER of different settings are:\n".format(test_set_name) + note = "\tbest for {}".format(test_set_name) + for key, val in test_set_wers: + s += "{}\t{}{}\n".format(key, val, note) + note = "" + logging.info(s) + + +@torch.no_grad() +def main(): + parser = get_parser() + AishellAsrDataModule.add_arguments(parser) + args = parser.parse_args() + + params = get_params() + params.update(vars(args)) + + setup_logger(f"{params.exp_dir}/log/log-decode") + logging.info("Decoding started") + logging.info(params) + + lexicon = Lexicon(params.lang_dir) + max_phone_id = max(lexicon.tokens) + + device = torch.device("cpu") + if torch.cuda.is_available(): + device = torch.device("cuda", 0) + + logging.info(f"device: {device}") + + HLG = k2.Fsa.from_dict( + torch.load(f"{params.lang_dir}/HLG.pt", map_location="cpu") + ) + HLG = HLG.to(device) + assert HLG.requires_grad is False + + if not hasattr(HLG, "lm_scores"): + HLG.lm_scores = HLG.scores.clone() + + model = TdnnLstm( + num_features=params.feature_dim, + num_classes=max_phone_id + 1, # +1 for the blank symbol + subsampling_factor=params.subsampling_factor, + ) + if params.avg == 1: + load_checkpoint(f"{params.exp_dir}/epoch-{params.epoch}.pt", model) + else: + start = params.epoch - params.avg + 1 + filenames = [] + for i in range(start, params.epoch + 1): + if start >= 0: + filenames.append(f"{params.exp_dir}/epoch-{i}.pt") + logging.info(f"averaging {filenames}") + model.load_state_dict(average_checkpoints(filenames)) + + if params.export: + logging.info(f"Export averaged model to {params.exp_dir}/pretrained.pt") + torch.save( + {"model": model.state_dict()}, f"{params.exp_dir}/pretrained.pt" + ) + + model.to(device) + model.eval() + + aishell = AishellAsrDataModule(args) + # CAUTION: `test_sets` is for displaying only. + # If you want to skip test-clean, you have to skip + # it inside the for loop. That is, use + # + # if test_set == 'test-clean': continue + # + test_sets = ["test"] + for test_set, test_dl in zip(test_sets, aishell.test_dataloaders()): + results_dict = decode_dataset( + dl=test_dl, + params=params, + model=model, + HLG=HLG, + lexicon=lexicon, + ) + + save_results( + params=params, test_set_name=test_set, results_dict=results_dict + ) + + logging.info("Done!") + + +if __name__ == "__main__": + main() diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/model.py b/egs/aishell/ASR/tdnn_lstm_ctc/model.py new file mode 100644 index 0000000000..5e04c11b4a --- /dev/null +++ b/egs/aishell/ASR/tdnn_lstm_ctc/model.py @@ -0,0 +1,103 @@ +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import torch +import torch.nn as nn + + +class TdnnLstm(nn.Module): + def __init__( + self, num_features: int, num_classes: int, subsampling_factor: int = 3 + ) -> None: + """ + Args: + num_features: + The input dimension of the model. + num_classes: + The output dimension of the model. + subsampling_factor: + It reduces the number of output frames by this factor. + """ + super().__init__() + self.num_features = num_features + self.num_classes = num_classes + self.subsampling_factor = subsampling_factor + self.tdnn = nn.Sequential( + nn.Conv1d( + in_channels=num_features, + out_channels=500, + kernel_size=3, + stride=1, + padding=1, + ), + nn.ReLU(inplace=True), + nn.BatchNorm1d(num_features=500, affine=False), + nn.Conv1d( + in_channels=500, + out_channels=500, + kernel_size=3, + stride=1, + padding=1, + ), + nn.ReLU(inplace=True), + nn.BatchNorm1d(num_features=500, affine=False), + nn.Conv1d( + in_channels=500, + out_channels=500, + kernel_size=3, + stride=self.subsampling_factor, # stride: subsampling_factor! + padding=1, + ), + nn.ReLU(inplace=True), + nn.BatchNorm1d(num_features=500, affine=False), + ) + self.lstms = nn.ModuleList( + [ + nn.LSTM(input_size=500, hidden_size=500, num_layers=1) + for _ in range(5) + ] + ) + self.lstm_bnorms = nn.ModuleList( + [nn.BatchNorm1d(num_features=500, affine=False) for _ in range(5)] + ) + self.dropout = nn.Dropout(0.2) + self.linear = nn.Linear(in_features=500, out_features=self.num_classes) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + """ + Args: + x: + Its shape is [N, C, T] + + Returns: + The output tensor has shape [N, T, C] + """ + x = self.tdnn(x) + x = x.permute(2, 0, 1) # (N, C, T) -> (T, N, C) -> how LSTM expects it + for lstm, bnorm in zip(self.lstms, self.lstm_bnorms): + x_new, _ = lstm(x) + x_new = bnorm(x_new.permute(1, 2, 0)).permute( + 2, 0, 1 + ) # (T, N, C) -> (N, C, T) -> (T, N, C) + x_new = self.dropout(x_new) + x = x_new + x # skip connections + x = x.transpose( + 1, 0 + ) # (T, N, C) -> (N, T, C) -> linear expects "features" in the last dim + x = self.linear(x) + x = nn.functional.log_softmax(x, dim=-1) + return x diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/train.py b/egs/aishell/ASR/tdnn_lstm_ctc/train.py new file mode 100755 index 0000000000..410f07c53d --- /dev/null +++ b/egs/aishell/ASR/tdnn_lstm_ctc/train.py @@ -0,0 +1,616 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import argparse +import logging +from pathlib import Path +from shutil import copyfile +from typing import Optional + +import k2 +import torch +import torch.distributed as dist +import torch.multiprocessing as mp +import torch.nn as nn +import torch.optim as optim +from asr_datamodule import AishellAsrDataModule +from lhotse.utils import fix_random_seed +from model import TdnnLstm +from torch.nn.parallel import DistributedDataParallel as DDP +from torch.nn.utils import clip_grad_norm_ +from torch.optim.lr_scheduler import StepLR +from torch.utils.tensorboard import SummaryWriter + +from icefall.checkpoint import load_checkpoint +from icefall.checkpoint import save_checkpoint as save_checkpoint_impl +from icefall.dist import cleanup_dist, setup_dist +from icefall.graph_compiler import CtcTrainingGraphCompiler +from icefall.lexicon import Lexicon +from icefall.utils import ( + AttributeDict, + encode_supervisions, + setup_logger, + str2bool, +) + + +def get_parser(): + parser = argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter + ) + + parser.add_argument( + "--world-size", + type=int, + default=1, + help="Number of GPUs for DDP training.", + ) + + parser.add_argument( + "--master-port", + type=int, + default=12354, + help="Master port to use for DDP training.", + ) + + parser.add_argument( + "--tensorboard", + type=str2bool, + default=True, + help="Should various information be logged in tensorboard.", + ) + + parser.add_argument( + "--num-epochs", + type=int, + default=20, + help="Number of epochs to train.", + ) + + parser.add_argument( + "--start-epoch", + type=int, + default=0, + help="""Resume training from from this epoch. + If it is positive, it will load checkpoint from + tdnn_lstm_ctc/exp/epoch-{start_epoch-1}.pt + """, + ) + + return parser + + +def get_params() -> AttributeDict: + """Return a dict containing training parameters. + + All training related parameters that are not passed from the commandline + is saved in the variable `params`. + + Commandline options are merged into `params` after they are parsed, so + you can also access them via `params`. + + Explanation of options saved in `params`: + + - exp_dir: It specifies the directory where all training related + files, e.g., checkpoints, log, etc, are saved + + - lang_dir: It contains language related input files such as + "lexicon.txt" + + - lr: It specifies the initial learning rate + + - feature_dim: The model input dim. It has to match the one used + in computing features. + + - weight_decay: The weight_decay for the optimizer. + + - subsampling_factor: The subsampling factor for the model. + + - best_train_loss: Best training loss so far. It is used to select + the model that has the lowest training loss. It is + updated during the training. + + - best_valid_loss: Best validation loss so far. It is used to select + the model that has the lowest validation loss. It is + updated during the training. + + - best_train_epoch: It is the epoch that has the best training loss. + + - best_valid_epoch: It is the epoch that has the best validation loss. + + - batch_idx_train: Used to writing statistics to tensorboard. It + contains number of batches trained so far across + epochs. + + - log_interval: Print training loss if batch_idx % log_interval` is 0 + + - reset_interval: Reset statistics if batch_idx % reset_interval is 0 + + - valid_interval: Run validation if batch_idx % valid_interval` is 0 + + - beam_size: It is used in k2.ctc_loss + + - reduction: It is used in k2.ctc_loss + + - use_double_scores: It is used in k2.ctc_loss + """ + params = AttributeDict( + { + "exp_dir": Path("tdnn_lstm_ctc/exp_lr1e-4"), + "lang_dir": Path("data/lang_phone"), + "lr": 1e-4, + "feature_dim": 80, + "weight_decay": 5e-4, + "subsampling_factor": 3, + "best_train_loss": float("inf"), + "best_valid_loss": float("inf"), + "best_train_epoch": -1, + "best_valid_epoch": -1, + "batch_idx_train": 0, + "log_interval": 10, + "reset_interval": 200, + "valid_interval": 1000, + "beam_size": 10, + "reduction": "sum", + "use_double_scores": True, + } + ) + + return params + + +def load_checkpoint_if_available( + params: AttributeDict, + model: nn.Module, + optimizer: Optional[torch.optim.Optimizer] = None, + scheduler: Optional[torch.optim.lr_scheduler._LRScheduler] = None, +) -> None: + """Load checkpoint from file. + + If params.start_epoch is positive, it will load the checkpoint from + `params.start_epoch - 1`. Otherwise, this function does nothing. + + Apart from loading state dict for `model`, `optimizer` and `scheduler`, + it also updates `best_train_epoch`, `best_train_loss`, `best_valid_epoch`, + and `best_valid_loss` in `params`. + + Args: + params: + The return value of :func:`get_params`. + model: + The training model. + optimizer: + The optimizer that we are using. + scheduler: + The learning rate scheduler we are using. + Returns: + Return None. + """ + if params.start_epoch <= 0: + return + + filename = params.exp_dir / f"epoch-{params.start_epoch-1}.pt" + saved_params = load_checkpoint( + filename, + model=model, + optimizer=optimizer, + scheduler=scheduler, + ) + + keys = [ + "best_train_epoch", + "best_valid_epoch", + "batch_idx_train", + "best_train_loss", + "best_valid_loss", + ] + for k in keys: + params[k] = saved_params[k] + + return saved_params + + +def save_checkpoint( + params: AttributeDict, + model: nn.Module, + optimizer: torch.optim.Optimizer, + scheduler: torch.optim.lr_scheduler._LRScheduler, + rank: int = 0, +) -> None: + """Save model, optimizer, scheduler and training stats to file. + + Args: + params: + It is returned by :func:`get_params`. + model: + The training model. + """ + if rank != 0: + return + filename = params.exp_dir / f"epoch-{params.cur_epoch}.pt" + save_checkpoint_impl( + filename=filename, + model=model, + params=params, + optimizer=optimizer, + scheduler=scheduler, + rank=rank, + ) + + if params.best_train_epoch == params.cur_epoch: + best_train_filename = params.exp_dir / "best-train-loss.pt" + copyfile(src=filename, dst=best_train_filename) + + if params.best_valid_epoch == params.cur_epoch: + best_valid_filename = params.exp_dir / "best-valid-loss.pt" + copyfile(src=filename, dst=best_valid_filename) + + +def compute_loss( + params: AttributeDict, + model: nn.Module, + batch: dict, + graph_compiler: CtcTrainingGraphCompiler, + is_training: bool, +): + """ + Compute CTC loss given the model and its inputs. + + Args: + params: + Parameters for training. See :func:`get_params`. + model: + The model for training. It is an instance of TdnnLstm in our case. + batch: + A batch of data. See `lhotse.dataset.K2SpeechRecognitionDataset()` + for the content in it. + graph_compiler: + It is used to build a decoding graph from a ctc topo and training + transcript. The training transcript is contained in the given `batch`, + while the ctc topo is built when this compiler is instantiated. + is_training: + True for training. False for validation. When it is True, this + function enables autograd during computation; when it is False, it + disables autograd. + """ + device = graph_compiler.device + feature = batch["inputs"] + # at entry, feature is [N, T, C] + feature = feature.permute(0, 2, 1) # now feature is [N, C, T] + assert feature.ndim == 3 + feature = feature.to(device) + + with torch.set_grad_enabled(is_training): + nnet_output = model(feature) + # nnet_output is [N, T, C] + + # NOTE: We need `encode_supervisions` to sort sequences with + # different duration in decreasing order, required by + # `k2.intersect_dense` called in `k2.ctc_loss` + supervisions = batch["supervisions"] + supervision_segments, texts = encode_supervisions( + supervisions, subsampling_factor=params.subsampling_factor + ) + decoding_graph = graph_compiler.compile(texts) + + dense_fsa_vec = k2.DenseFsaVec( + nnet_output, + supervision_segments, + allow_truncate=params.subsampling_factor - 1, + ) + + loss = k2.ctc_loss( + decoding_graph=decoding_graph, + dense_fsa_vec=dense_fsa_vec, + output_beam=params.beam_size, + reduction=params.reduction, + use_double_scores=params.use_double_scores, + ) + + assert loss.requires_grad == is_training + + # train_frames and valid_frames are used for printing. + if is_training: + params.train_frames = supervision_segments[:, 2].sum().item() + else: + params.valid_frames = supervision_segments[:, 2].sum().item() + + return loss + + +def compute_validation_loss( + params: AttributeDict, + model: nn.Module, + graph_compiler: CtcTrainingGraphCompiler, + valid_dl: torch.utils.data.DataLoader, + world_size: int = 1, +) -> None: + """Run the validation process. The validation loss + is saved in `params.valid_loss`. + """ + model.eval() + + tot_loss = 0.0 + tot_frames = 0.0 + for batch_idx, batch in enumerate(valid_dl): + loss = compute_loss( + params=params, + model=model, + batch=batch, + graph_compiler=graph_compiler, + is_training=False, + ) + assert loss.requires_grad is False + + loss_cpu = loss.detach().cpu().item() + tot_loss += loss_cpu + tot_frames += params.valid_frames + + if world_size > 1: + s = torch.tensor([tot_loss, tot_frames], device=loss.device) + dist.all_reduce(s, op=dist.ReduceOp.SUM) + s = s.cpu().tolist() + tot_loss = s[0] + tot_frames = s[1] + + params.valid_loss = tot_loss / tot_frames + + if params.valid_loss < params.best_valid_loss: + params.best_valid_epoch = params.cur_epoch + params.best_valid_loss = params.valid_loss + + +def train_one_epoch( + params: AttributeDict, + model: nn.Module, + optimizer: torch.optim.Optimizer, + graph_compiler: CtcTrainingGraphCompiler, + train_dl: torch.utils.data.DataLoader, + valid_dl: torch.utils.data.DataLoader, + tb_writer: Optional[SummaryWriter] = None, + world_size: int = 1, +) -> None: + """Train the model for one epoch. + + The training loss from the mean of all frames is saved in + `params.train_loss`. It runs the validation process every + `params.valid_interval` batches. + + Args: + params: + It is returned by :func:`get_params`. + model: + The model for training. + optimizer: + The optimizer we are using. + graph_compiler: + It is used to convert transcripts to FSAs. + train_dl: + Dataloader for the training dataset. + valid_dl: + Dataloader for the validation dataset. + tb_writer: + Writer to write log messages to tensorboard. + world_size: + Number of nodes in DDP training. If it is 1, DDP is disabled. + """ + model.train() + + tot_loss = 0.0 # reset after params.reset_interval of batches + tot_frames = 0.0 # reset after params.reset_interval of batches + + params.tot_loss = 0.0 + params.tot_frames = 0.0 + + for batch_idx, batch in enumerate(train_dl): + params.batch_idx_train += 1 + batch_size = len(batch["supervisions"]["text"]) + + loss = compute_loss( + params=params, + model=model, + batch=batch, + graph_compiler=graph_compiler, + is_training=True, + ) + + # NOTE: We use reduction==sum and loss is computed over utterances + # in the batch and there is no normalization to it so far. + + optimizer.zero_grad() + loss.backward() + clip_grad_norm_(model.parameters(), 5.0, 2.0) + optimizer.step() + + loss_cpu = loss.detach().cpu().item() + + tot_frames += params.train_frames + tot_loss += loss_cpu + tot_avg_loss = tot_loss / tot_frames + + params.tot_frames += params.train_frames + params.tot_loss += loss_cpu + + if batch_idx % params.log_interval == 0: + logging.info( + f"Epoch {params.cur_epoch}, batch {batch_idx}, " + f"batch avg loss {loss_cpu/params.train_frames:.4f}, " + f"total avg loss: {tot_avg_loss:.4f}, " + f"batch size: {batch_size}" + ) + if tb_writer is not None: + tb_writer.add_scalar( + "train/current_loss", + loss_cpu / params.train_frames, + params.batch_idx_train, + ) + + tb_writer.add_scalar( + "train/tot_avg_loss", + tot_avg_loss, + params.batch_idx_train, + ) + + if batch_idx > 0 and batch_idx % params.reset_interval == 0: + tot_loss = 0 + tot_frames = 0 + + if batch_idx > 0 and batch_idx % params.valid_interval == 0: + compute_validation_loss( + params=params, + model=model, + graph_compiler=graph_compiler, + valid_dl=valid_dl, + world_size=world_size, + ) + model.train() + logging.info( + f"Epoch {params.cur_epoch}, valid loss {params.valid_loss:.4f}," + f" best valid loss: {params.best_valid_loss:.4f} " + f"best valid epoch: {params.best_valid_epoch}" + ) + + params.train_loss = params.tot_loss / params.tot_frames + + if params.train_loss < params.best_train_loss: + params.best_train_epoch = params.cur_epoch + params.best_train_loss = params.train_loss + + +def run(rank, world_size, args): + """ + Args: + rank: + It is a value between 0 and `world_size-1`, which is + passed automatically by `mp.spawn()` in :func:`main`. + The node with rank 0 is responsible for saving checkpoint. + world_size: + Number of GPUs for DDP training. + args: + The return value of get_parser().parse_args() + """ + params = get_params() + params.update(vars(args)) + + fix_random_seed(42) + if world_size > 1: + setup_dist(rank, world_size, params.master_port) + + setup_logger(f"{params.exp_dir}/log/log-train") + logging.info("Training started") + logging.info(params) + + if args.tensorboard and rank == 0: + tb_writer = SummaryWriter(log_dir=f"{params.exp_dir}/tensorboard") + else: + tb_writer = None + + lexicon = Lexicon(params.lang_dir) + max_phone_id = max(lexicon.tokens) + + device = torch.device("cpu") + if torch.cuda.is_available(): + device = torch.device("cuda", rank) + + graph_compiler = CtcTrainingGraphCompiler(lexicon=lexicon, device=device) + + model = TdnnLstm( + num_features=params.feature_dim, + num_classes=max_phone_id + 1, # +1 for the blank symbol + subsampling_factor=params.subsampling_factor, + ) + + checkpoints = load_checkpoint_if_available(params=params, model=model) + + model.to(device) + if world_size > 1: + model = DDP(model, device_ids=[rank]) + + optimizer = optim.AdamW( + model.parameters(), + lr=params.lr, + weight_decay=params.weight_decay, + ) + scheduler = StepLR(optimizer, step_size=8, gamma=0.1) + + if checkpoints: + optimizer.load_state_dict(checkpoints["optimizer"]) + scheduler.load_state_dict(checkpoints["scheduler"]) + + aishell = AishellAsrDataModule(args) + train_dl = aishell.train_dataloaders() + valid_dl = aishell.valid_dataloaders() + + for epoch in range(params.start_epoch, params.num_epochs): + train_dl.sampler.set_epoch(epoch) + + if epoch > params.start_epoch: + logging.info(f"epoch {epoch}, lr: {scheduler.get_last_lr()[0]}") + + if tb_writer is not None: + tb_writer.add_scalar( + "train/lr", + scheduler.get_last_lr()[0], + params.batch_idx_train, + ) + tb_writer.add_scalar("train/epoch", epoch, params.batch_idx_train) + + params.cur_epoch = epoch + + train_one_epoch( + params=params, + model=model, + optimizer=optimizer, + graph_compiler=graph_compiler, + train_dl=train_dl, + valid_dl=valid_dl, + tb_writer=tb_writer, + world_size=world_size, + ) + + scheduler.step() + + save_checkpoint( + params=params, + model=model, + optimizer=optimizer, + scheduler=scheduler, + rank=rank, + ) + + logging.info("Done!") + if world_size > 1: + torch.distributed.barrier() + cleanup_dist() + + +def main(): + parser = get_parser() + AishellAsrDataModule.add_arguments(parser) + args = parser.parse_args() + + world_size = args.world_size + assert world_size >= 1 + if world_size > 1: + mp.spawn(run, args=(world_size, args), nprocs=world_size, join=True) + else: + run(rank=0, world_size=1, args=args) + + +if __name__ == "__main__": + main() diff --git a/icefall/char_graph_compiler.py b/icefall/char_graph_compiler.py new file mode 100644 index 0000000000..9ce948f7c6 --- /dev/null +++ b/icefall/char_graph_compiler.py @@ -0,0 +1,98 @@ +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang, +# Wei Kang) +# +# See ../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import re +from typing import List + +import k2 +import torch + +from icefall.lexicon import Lexicon + + +class CharCtcTrainingGraphCompiler(object): + def __init__( + self, + lexicon: Lexicon, + device: torch.device, + sos_token: str = "", + eos_token: str = "", + oov: str = "", + ): + """ + Args: + lexicon: + It is built from `data/lang/lexicon.txt`. + device: + The device to use for operations compiling transcripts to FSAs. + oov: + Out of vocabulary token. When a word(token) in the transcript + does not exist in the token list, it is replaced with `oov`. + """ + + assert oov in lexicon.token_table + + self.oov_id = lexicon.token_table[oov] + self.token_table = lexicon.token_table + + self.device = device + + self.sos_id = self.token_table[sos_token] + self.eos_id = self.token_table[eos_token] + + + def texts_to_ids(self, texts: List[str]) -> List[List[int]]: + """Convert a list of texts to a list-of-list of token IDs. + + Args: + texts: + It is a list of strings. + An example containing two strings is given below: + + ['你好中国', '北京欢迎您'] + Returns: + Return a list-of-list of token IDs. + """ + ids: List[List[int]] = [] + whitespace = re.compile(r"([ \t])") + for text in texts: + text = re.sub(whitespace, "", text) + sub_ids = [self.token_table[txt] if txt in self.token_table \ + else self.oov_id for txt in text] + ids.append(sub_ids) + return ids + + + def compile( + self, + token_ids: List[List[int]], + modified: bool = False, + ) -> k2.Fsa: + """Build a ctc graph from a list-of-list token IDs. + + Args: + piece_ids: + It is a list-of-list integer IDs. + modified: + See :func:`k2.ctc_graph` for its meaning. + Return: + Return an FsaVec, which is the result of composing a + CTC topology with linear FSAs constructed from the given + piece IDs. + """ + return k2.ctc_graph(token_ids, modified=modified, device=self.device) + diff --git a/icefall/lexicon.py b/icefall/lexicon.py index f1127c7cf8..1db804f89d 100644 --- a/icefall/lexicon.py +++ b/icefall/lexicon.py @@ -95,7 +95,7 @@ def __init__( """ Args: lang_dir: - Path to the lang director. It is expected to contain the following + Path to the lang directory. It is expected to contain the following files: - tokens.txt - words.txt From 4de7f19e0370a61f5b6f1356b4d9c996860e2fe9 Mon Sep 17 00:00:00 2001 From: pkufool Date: Sun, 12 Sep 2021 15:30:41 +0800 Subject: [PATCH 02/12] Remove unnecessary code and update docs --- egs/aishell/ASR/conformer_ctc/README.md | 3 - egs/aishell/ASR/conformer_ctc/conformer.py | 28 ++------ egs/aishell/ASR/conformer_ctc/decode.py | 19 +++--- egs/aishell/ASR/conformer_ctc/train.py | 65 +++++++++++-------- egs/aishell/ASR/conformer_ctc/transformer.py | 13 +--- egs/aishell/ASR/local/prepare_char.py | 2 +- egs/aishell/ASR/prepare.sh | 5 +- .../ASR/tdnn_lstm_ctc/asr_datamodule.py | 4 +- egs/aishell/ASR/tdnn_lstm_ctc/decode.py | 7 +- icefall/decode.py | 1 + icefall/utils.py | 1 - 11 files changed, 70 insertions(+), 78 deletions(-) delete mode 100644 egs/aishell/ASR/conformer_ctc/README.md diff --git a/egs/aishell/ASR/conformer_ctc/README.md b/egs/aishell/ASR/conformer_ctc/README.md deleted file mode 100644 index 70e4b81f9e..0000000000 --- a/egs/aishell/ASR/conformer_ctc/README.md +++ /dev/null @@ -1,3 +0,0 @@ -Please visit - -for how to run this recipe. diff --git a/egs/aishell/ASR/conformer_ctc/conformer.py b/egs/aishell/ASR/conformer_ctc/conformer.py index 08287d686d..5b136f40e1 100644 --- a/egs/aishell/ASR/conformer_ctc/conformer.py +++ b/egs/aishell/ASR/conformer_ctc/conformer.py @@ -40,6 +40,7 @@ class Conformer(Transformer): cnn_module_kernel (int): Kernel size of convolution module normalize_before (bool): whether to use layer_norm before the first block. vgg_frontend (bool): whether to use vgg frontend. + use_feat_batchnorm(bool): whether to use batch-normalize the input. """ def __init__( @@ -56,8 +57,6 @@ def __init__( cnn_module_kernel: int = 31, normalize_before: bool = True, vgg_frontend: bool = False, - is_espnet_structure: bool = False, - mmi_loss: bool = True, use_feat_batchnorm: bool = False, ) -> None: super(Conformer, self).__init__( @@ -72,7 +71,6 @@ def __init__( dropout=dropout, normalize_before=normalize_before, vgg_frontend=vgg_frontend, - mmi_loss=mmi_loss, use_feat_batchnorm=use_feat_batchnorm, ) @@ -85,12 +83,10 @@ def __init__( dropout, cnn_module_kernel, normalize_before, - is_espnet_structure, ) self.encoder = ConformerEncoder(encoder_layer, num_encoder_layers) self.normalize_before = normalize_before - self.is_espnet_structure = is_espnet_structure - if self.normalize_before and self.is_espnet_structure: + if self.normalize_before: self.after_norm = nn.LayerNorm(d_model) else: # Note: TorchScript detects that self.after_norm could be used inside forward() @@ -125,7 +121,7 @@ def run_encoder( mask = mask.to(x.device) x = self.encoder(x, pos_emb, src_key_padding_mask=mask) # (T, B, F) - if self.normalize_before and self.is_espnet_structure: + if self.normalize_before: x = self.after_norm(x) return x, mask @@ -159,11 +155,10 @@ def __init__( dropout: float = 0.1, cnn_module_kernel: int = 31, normalize_before: bool = True, - is_espnet_structure: bool = False, ) -> None: super(ConformerEncoderLayer, self).__init__() self.self_attn = RelPositionMultiheadAttention( - d_model, nhead, dropout=0.0, is_espnet_structure=is_espnet_structure + d_model, nhead, dropout=0.0 ) self.feed_forward = nn.Sequential( @@ -436,7 +431,6 @@ def __init__( embed_dim: int, num_heads: int, dropout: float = 0.0, - is_espnet_structure: bool = False, ) -> None: super(RelPositionMultiheadAttention, self).__init__() self.embed_dim = embed_dim @@ -459,7 +453,6 @@ def __init__( self._reset_parameters() - self.is_espnet_structure = is_espnet_structure def _reset_parameters(self) -> None: nn.init.xavier_uniform_(self.in_proj.weight) @@ -690,8 +683,6 @@ def multi_head_attention_forward( _b = _b[_start:] v = nn.functional.linear(value, _w, _b) - if not self.is_espnet_structure: - q = q * scaling if attn_mask is not None: assert ( @@ -785,14 +776,9 @@ def multi_head_attention_forward( ) # (batch, head, time1, 2*time1-1) matrix_bd = self.rel_shift(matrix_bd) - if not self.is_espnet_structure: - attn_output_weights = ( - matrix_ac + matrix_bd - ) # (batch, head, time1, time2) - else: - attn_output_weights = ( - matrix_ac + matrix_bd - ) * scaling # (batch, head, time1, time2) + attn_output_weights = ( + matrix_ac + matrix_bd + ) * scaling # (batch, head, time1, time2) attn_output_weights = attn_output_weights.view( bsz * num_heads, tgt_len, -1 diff --git a/egs/aishell/ASR/conformer_ctc/decode.py b/egs/aishell/ASR/conformer_ctc/decode.py index 666e4bb3d4..b4b113d4b6 100755 --- a/egs/aishell/ASR/conformer_ctc/decode.py +++ b/egs/aishell/ASR/conformer_ctc/decode.py @@ -57,7 +57,7 @@ def get_parser(): parser.add_argument( "--epoch", type=int, - default=34, + default=49, help="It specifies the checkpoint to use for decoding." "Note: Epoch counts from 0.", ) @@ -101,7 +101,7 @@ def get_parser(): parser.add_argument( "--lattice-score-scale", type=float, - default=1.0, + default=0.5, help="""The scale to be applied to `lattice.scores`. It's needed if you use any kinds of n-best based rescoring. Used only when "method" is one of the following values: @@ -116,19 +116,19 @@ def get_parser(): def get_params() -> AttributeDict: params = AttributeDict( { - "exp_dir": Path("conformer_ctc/exp_char"), + "exp_dir": Path("conformer_ctc/exp"), "lang_dir": Path("data/lang_char"), "lm_dir": Path("data/lm"), + # parameters for conformer + "subsampling_factor": 4, "feature_dim": 80, "nhead": 4, "attention_dim": 512, - "subsampling_factor": 4, "num_encoder_layers": 12, "num_decoder_layers": 6, "vgg_frontend": False, - "is_espnet_structure": True, - "mmi_loss": False, "use_feat_batchnorm": True, + # parameters for decoder "search_beam": 20, "output_beam": 7, "min_active_states": 30, @@ -364,9 +364,12 @@ def save_results( # The following prints out WERs, per-word error statistics and aligned # ref/hyp pairs. errs_filename = params.exp_dir / f"errs-{test_set_name}-{key}.txt" + results_tmp = [] + for res in results: + results_tmp.append((list("".join(res[0])), list("".join(res[1])))) with open(errs_filename, "w") as f: wer = write_error_stats( - f, f"{test_set_name}-{key}", results, enable_log=enable_log + f, f"{test_set_name}-{key}", results_tmp, enable_log=enable_log ) test_set_wers[key] = wer @@ -440,8 +443,6 @@ def main(): num_encoder_layers=params.num_encoder_layers, num_decoder_layers=params.num_decoder_layers, vgg_frontend=params.vgg_frontend, - is_espnet_structure=params.is_espnet_structure, - mmi_loss=params.mmi_loss, use_feat_batchnorm=params.use_feat_batchnorm, ) diff --git a/egs/aishell/ASR/conformer_ctc/train.py b/egs/aishell/ASR/conformer_ctc/train.py index f41864816e..3c54fc42a2 100755 --- a/egs/aishell/ASR/conformer_ctc/train.py +++ b/egs/aishell/ASR/conformer_ctc/train.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 -# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang) +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang +# Wei Kang) # # See ../../../../LICENSE for clarification regarding multiple authors # @@ -77,7 +78,7 @@ def get_parser(): parser.add_argument( "--num-epochs", type=int, - default=35, + default=50, help="Number of epochs to train.", ) @@ -111,19 +112,6 @@ def get_params() -> AttributeDict: - lang_dir: It contains language related input files such as "lexicon.txt" - - lr: It specifies the initial learning rate - - - feature_dim: The model input dim. It has to match the one used - in computing features. - - - weight_decay: The weight_decay for the optimizer. - - - subsampling_factor: The subsampling factor for the model. - - - best_train_loss: Best training loss so far. It is used to select - the model that has the lowest training loss. It is - updated during the training. - - best_valid_loss: Best validation loss so far. It is used to select the model that has the lowest validation loss. It is updated during the training. @@ -138,23 +126,45 @@ def get_params() -> AttributeDict: - log_interval: Print training loss if batch_idx % log_interval` is 0 - - valid_interval: Run validation if batch_idx % valid_interval is 0 - - reset_interval: Reset statistics if batch_idx % reset_interval is 0 + - valid_interval: Run validation if batch_idx % valid_interval is 0 + - beam_size: It is used in k2.ctc_loss - reduction: It is used in k2.ctc_loss - use_double_scores: It is used in k2.ctc_loss + + - att_rate: The proportion of label smoothing loss, final loss will be + (1 - att_rate) * ctc_loss + att_rate * label_smoothing_loss + + - subsampling_factor: The subsampling factor for the model. + + - feature_dim: The model input dim. It has to match the one used + in computing features. + + - attention_dim: Attention dimension. + + - nhead: Number of heads in multi-head attention. + Must satisfy attention_dim // nhead == 0. + + - num_encoder_layers: Number of attention encoder layers. + + - num_decoder_layers: Number of attention decoder layers. + + - use_feat_batchnorm: Whether to do normalization in the input layer. + + - weight_decay: The weight_decay for the optimizer. + + - lr_factor: The lr_factor for the optimizer. + + - warm_step: The warm_step for the optimizer. """ params = AttributeDict( { - "exp_dir": Path("conformer_ctc/exp_char"), + "exp_dir": Path("conformer_ctc/exp"), "lang_dir": Path("data/lang_char"), - "feature_dim": 80, - "weight_decay": 1e-6, - "subsampling_factor": 4, "best_train_loss": float("inf"), "best_valid_loss": float("inf"), "best_train_epoch": -1, @@ -163,18 +173,21 @@ def get_params() -> AttributeDict: "log_interval": 10, "reset_interval": 200, "valid_interval": 3000, + # parameters for k2.ctc_loss "beam_size": 10, "reduction": "sum", "use_double_scores": True, - "accum_grad": 1, "att_rate": 0.7, + # parameters for conformer + "subsampling_factor": 4, + "feature_dim": 80, "attention_dim": 512, "nhead": 4, - "num_decoder_layers": 6, "num_encoder_layers": 12, - "is_espnet_structure": True, - "mmi_loss": False, + "num_decoder_layers": 6, "use_feat_batchnorm": True, + # parameters for Noam + "weight_decay": 1e-5, "lr_factor": 5.0, "warm_step": 36000, } @@ -648,8 +661,6 @@ def run(rank, world_size, args): num_encoder_layers=params.num_encoder_layers, num_decoder_layers=params.num_decoder_layers, vgg_frontend=False, - is_espnet_structure=params.is_espnet_structure, - mmi_loss=params.mmi_loss, use_feat_batchnorm=params.use_feat_batchnorm, ) diff --git a/egs/aishell/ASR/conformer_ctc/transformer.py b/egs/aishell/ASR/conformer_ctc/transformer.py index 191d2d6128..88b10b23d8 100644 --- a/egs/aishell/ASR/conformer_ctc/transformer.py +++ b/egs/aishell/ASR/conformer_ctc/transformer.py @@ -41,7 +41,6 @@ def __init__( dropout: float = 0.1, normalize_before: bool = True, vgg_frontend: bool = False, - mmi_loss: bool = True, use_feat_batchnorm: bool = False, ) -> None: """ @@ -70,7 +69,6 @@ def __init__( If True, use pre-layer norm; False to use post-layer norm. vgg_frontend: True to use vgg style frontend for subsampling. - mmi_loss: use_feat_batchnorm: True to use batchnorm for the input layer. """ @@ -122,14 +120,9 @@ def __init__( ) if num_decoder_layers > 0: - if mmi_loss: - self.decoder_num_class = ( - self.num_classes + 1 - ) # +1 for the sos/eos symbol - else: - self.decoder_num_class = ( - self.num_classes - ) # bpe model already has sos/eos symbol + self.decoder_num_class = ( + self.num_classes + ) # bpe model already has sos/eos symbol self.decoder_embed = nn.Embedding( num_embeddings=self.decoder_num_class, embedding_dim=d_model diff --git a/egs/aishell/ASR/local/prepare_char.py b/egs/aishell/ASR/local/prepare_char.py index b645eda919..5b4ec323d4 100755 --- a/egs/aishell/ASR/local/prepare_char.py +++ b/egs/aishell/ASR/local/prepare_char.py @@ -124,7 +124,7 @@ def lexicon_to_fst_no_sil( def contain_oov(token_sym_table: Dict[str, int], tokens: List[str]) -> bool: - """Return if all the tokens are in token symbol table. + """Check if all the given tokens are in token symbol table. Args: token_sym_table: diff --git a/egs/aishell/ASR/prepare.sh b/egs/aishell/ASR/prepare.sh index 915bb88dfe..f70e89c65f 100755 --- a/egs/aishell/ASR/prepare.sh +++ b/egs/aishell/ASR/prepare.sh @@ -3,7 +3,7 @@ set -eou pipefail nj=15 -stage=6 +stage=-1 stop_stage=10 # We assume dl_dir (download dir) contains the following @@ -11,7 +11,7 @@ stop_stage=10 # by this script automatically. # # - $dl_dir/aishell -# You can data_aishell, resource_aishell inside it. +# You can find data_aishell, resource_aishell inside it. # You can download them from https://www.openslr.org/33 # # - $dl_dir/lm @@ -27,6 +27,7 @@ stop_stage=10 # - music # - noise # - speech + dl_dir=$PWD/download . shared/parse_options.sh || exit 1 diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py b/egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py index 4546bfc752..9dede62880 100644 --- a/egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py +++ b/egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py @@ -73,14 +73,14 @@ def add_arguments(cls, parser: argparse.ArgumentParser): group.add_argument( "--max-duration", type=int, - default=500.0, + default=200.0, help="Maximum pooled recordings duration (seconds) in a " "single batch. You can reduce it if it causes CUDA OOM.", ) group.add_argument( "--bucketing-sampler", type=str2bool, - default=False, + default=True, help="When enabled, the batches will come from buckets of " "similar duration (saves padding frames).", ) diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/decode.py b/egs/aishell/ASR/tdnn_lstm_ctc/decode.py index 56a2a075e9..c9437b414d 100755 --- a/egs/aishell/ASR/tdnn_lstm_ctc/decode.py +++ b/egs/aishell/ASR/tdnn_lstm_ctc/decode.py @@ -95,7 +95,7 @@ def get_params() -> AttributeDict: # Possible values for method: # - 1best # - nbest - "method": "nbest", + "method": "1best", # num_paths is used when method is "nbest" "num_paths": 30, } @@ -274,8 +274,11 @@ def save_results( # The following prints out WERs, per-word error statistics and aligned # ref/hyp pairs. errs_filename = params.exp_dir / f"errs-{test_set_name}-{key}.txt" + results_tmp = [] + for res in results: + results_tmp.append((list("".join(res[0])), list("".join(res[1])))) with open(errs_filename, "w") as f: - wer = write_error_stats(f, f"{test_set_name}-{key}", results) + wer = write_error_stats(f, f"{test_set_name}-{key}", results_tmp) test_set_wers[key] = wer logging.info("Wrote detailed error stats to {}".format(errs_filename)) diff --git a/icefall/decode.py b/icefall/decode.py index de32194018..e571dde81b 100644 --- a/icefall/decode.py +++ b/icefall/decode.py @@ -883,3 +883,4 @@ def rescore_with_attention_decoder( key = f"ngram_lm_scale_{n_scale}_attention_scale_{a_scale}" ans[key] = best_path_fsa return ans + diff --git a/icefall/utils.py b/icefall/utils.py index 2994c2d475..0e388df789 100644 --- a/icefall/utils.py +++ b/icefall/utils.py @@ -99,7 +99,6 @@ def setup_logger( """ now = datetime.now() date_time = now.strftime("%Y-%m-%d-%H-%M-%S") - if dist.is_available() and dist.is_initialized(): world_size = dist.get_world_size() rank = dist.get_rank() From 4cdc7f143fa5ef388fcad104f1ccbc93e7d1c212 Mon Sep 17 00:00:00 2001 From: pkufool Date: Mon, 13 Sep 2021 15:14:12 +0800 Subject: [PATCH 03/12] adapt to k2 v1.7, add docs and results --- docs/source/recipes/aishell.rst | 10 + docs/source/recipes/aishell/conformer_ctc.rst | 573 ++++++++++++++++++ .../aishell-conformer-ctc-tensorboard-log.jpg | Bin 0 -> 557274 bytes .../aishell-tdnn-lstm-ctc-tensorboard-log.jpg | Bin 0 -> 436167 bytes docs/source/recipes/aishell/tdnn_lstm_ctc.rst | 504 +++++++++++++++ docs/source/recipes/index.rst | 2 + egs/aishell/ASR/RESULTS.md | 55 +- egs/aishell/ASR/conformer_ctc/README.md | 4 + egs/aishell/ASR/conformer_ctc/decode.py | 32 +- egs/aishell/ASR/conformer_ctc/pretrained.py | 329 ++++++++++ egs/aishell/ASR/local/compile_hlg.py | 6 +- egs/aishell/ASR/tdnn_lstm_ctc/decode.py | 47 +- egs/aishell/ASR/tdnn_lstm_ctc/pretrained.py | 231 +++++++ 13 files changed, 1768 insertions(+), 25 deletions(-) create mode 100644 docs/source/recipes/aishell.rst create mode 100644 docs/source/recipes/aishell/conformer_ctc.rst create mode 100644 docs/source/recipes/aishell/images/aishell-conformer-ctc-tensorboard-log.jpg create mode 100644 docs/source/recipes/aishell/images/aishell-tdnn-lstm-ctc-tensorboard-log.jpg create mode 100644 docs/source/recipes/aishell/tdnn_lstm_ctc.rst create mode 100644 egs/aishell/ASR/conformer_ctc/README.md create mode 100755 egs/aishell/ASR/conformer_ctc/pretrained.py create mode 100644 egs/aishell/ASR/tdnn_lstm_ctc/pretrained.py diff --git a/docs/source/recipes/aishell.rst b/docs/source/recipes/aishell.rst new file mode 100644 index 0000000000..71ccaa1fc7 --- /dev/null +++ b/docs/source/recipes/aishell.rst @@ -0,0 +1,10 @@ +Aishell +======= + +We provide the following models for the Aishell dataset: + +.. toctree:: + :maxdepth: 2 + + aishell/conformer_ctc + aishell/tdnn_lstm_ctc diff --git a/docs/source/recipes/aishell/conformer_ctc.rst b/docs/source/recipes/aishell/conformer_ctc.rst new file mode 100644 index 0000000000..96ede5b68f --- /dev/null +++ b/docs/source/recipes/aishell/conformer_ctc.rst @@ -0,0 +1,573 @@ +Confromer CTC +============= + +This tutorial shows you how to run a conformer ctc model +with the `Aishell `_ dataset. + + +.. HINT:: + + We assume you have read the page :ref:`install icefall` and have setup + the environment for ``icefall``. + +.. HINT:: + + We recommend you to use a GPU or several GPUs to run this recipe. + +In this tutorial, you will learn: + + - (1) How to prepare data for training and decoding + - (2) How to start the training, either with a single GPU or multiple GPUs + - (3) How to do decoding after training, with 1best and attention decoder rescoring + - (4) How to use a pre-trained model, provided by us + +Data preparation +---------------- + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./prepare.sh + +The script ``./prepare.sh`` handles the data preparation for you, **automagically**. +All you need to do is to run it. + +The data preparation contains several stages, you can use the following two +options: + + - ``--stage`` + - ``--stop-stage`` + +to control which stage(s) should be run. By default, all stages are executed. + + +For example, + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./prepare.sh --stage 0 --stop-stage 0 + +means to run only stage 0. + +To run stage 2 to stage 5, use: + +.. code-block:: bash + + $ ./prepare.sh --stage 2 --stop-stage 5 + +.. HINT:: + + If you have pre-downloaded the `Aishell `_ + dataset and the `musan `_ dataset, say, + they are saved in ``/tmp/aishell`` and ``/tmp/musan``, you can modify + the ``dl_dir`` variable in ``./prepare.sh`` to point to ``/tmp`` so that + ``./prepare.sh`` won't re-download them. + +.. HINT:: + + A 3-gram language model will be downloaded from huggingface, we assume you have + intalled and initialized ``git-lfs``. If not, you could install ``git-lfs`` by + + .. code-block:: bash + + $ sudo apt-get install git-lfs + $ git-lfs install + + If you don't have the ``sudo`` permission, you could download the + `git-lfs binary `_ here, then add it to you ``PATH``. + +.. NOTE:: + + All generated files by ``./prepare.sh``, e.g., features, lexicon, etc, + are saved in ``./data`` directory. + + +Training +-------- + +Configurable options +~~~~~~~~~~~~~~~~~~~~ + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./conformer_ctc/train.py --help + +shows you the training options that can be passed from the commandline. +The following options are used quite often: + + + - ``--num-epochs`` + + It is the number of epochs to train. For instance, + ``./conformer_ctc/train.py --num-epochs 30`` trains for 30 epochs + and generates ``epoch-0.pt``, ``epoch-1.pt``, ..., ``epoch-29.pt`` + in the folder ``./conformer_ctc/exp``. + + - ``--start-epoch`` + + It's used to resume training. + ``./conformer_ctc/train.py --start-epoch 10`` loads the + checkpoint ``./conformer_ctc/exp/epoch-9.pt`` and starts + training from epoch 10, based on the state from epoch 9. + + - ``--world-size`` + + It is used for multi-GPU single-machine DDP training. + + - (a) If it is 1, then no DDP training is used. + + - (b) If it is 2, then GPU 0 and GPU 1 are used for DDP training. + + The following shows some use cases with it. + + **Use case 1**: You have 4 GPUs, but you only want to use GPU 0 and + GPU 2 for training. You can do the following: + + .. code-block:: bash + + $ cd egs/aishell/ASR + $ export CUDA_VISIBLE_DEVICES="0,2" + $ ./conformer_ctc/train.py --world-size 2 + + **Use case 2**: You have 4 GPUs and you want to use all of them + for training. You can do the following: + + .. code-block:: bash + + $ cd egs/aishell/ASR + $ ./conformer_ctc/train.py --world-size 4 + + **Use case 3**: You have 4 GPUs but you only want to use GPU 3 + for training. You can do the following: + + .. code-block:: bash + + $ cd egs/aishell/ASR + $ export CUDA_VISIBLE_DEVICES="3" + $ ./conformer_ctc/train.py --world-size 1 + + .. CAUTION:: + + Only multi-GPU single-machine DDP training is implemented at present. + Multi-GPU multi-machine DDP training will be added later. + + - ``--max-duration`` + + It specifies the number of seconds over all utterances in a + batch, before **padding**. + If you encounter CUDA OOM, please reduce it. For instance, if + your are using V100 NVIDIA GPU, we recommend you to set it to ``200``. + + .. HINT:: + + Due to padding, the number of seconds of all utterances in a + batch will usually be larger than ``--max-duration``. + + A larger value for ``--max-duration`` may cause OOM during training, + while a smaller value may increase the training time. You have to + tune it. + + +Pre-configured options +~~~~~~~~~~~~~~~~~~~~~~ + +There are some training options, e.g., weight decay, +number of warmup steps, results dir, etc, +that are not passed from the commandline. +They are pre-configured by the function ``get_params()`` in +`conformer_ctc/train.py `_ + +You don't need to change these pre-configured parameters. If you really need to change +them, please modify ``./conformer_ctc/train.py`` directly. + + +.. CAUTION:: + + The training set is perturbed by speed with two factors: 0.9 and 1.1. + Each epoch actually processes ``3x150 == 450`` hours of data. + + +Training logs +~~~~~~~~~~~~~ + +Training logs and checkpoints are saved in ``conformer_ctc/exp``. +You will find the following files in that directory: + + - ``epoch-0.pt``, ``epoch-1.pt``, ... + + These are checkpoint files, containing model ``state_dict`` and optimizer ``state_dict``. + To resume training from some checkpoint, say ``epoch-10.pt``, you can use: + + .. code-block:: bash + + $ ./conformer_ctc/train.py --start-epoch 11 + + - ``tensorboard/`` + + This folder contains TensorBoard logs. Training loss, validation loss, learning + rate, etc, are recorded in these logs. You can visualize them by: + + .. code-block:: bash + + $ cd conformer_ctc/exp/tensorboard + $ tensorboard dev upload --logdir . --description "Conformer CTC training for Aishell with icefall" + + It will print something like below: + + .. code-block:: + + TensorFlow installation not found - running with reduced feature set. + Upload started and will continue reading any new data as it's added to the logdir. + + To stop uploading, press Ctrl-C. + + New experiment created. View your TensorBoard at: https://tensorboard.dev/experiment/qvNrx6JIQAaN5Ly3uQotrg/ + + [2021-09-12T16:41:16] Started scanning logdir. + [2021-09-12T16:42:17] Total uploaded: 125346 scalars, 0 tensors, 0 binary objects + Listening for new data in logdir... + + Note there is a URL in the above output, click it and you will see + the following screenshot: + + .. figure:: images/aishell-conformer-ctc-tensorboard-log.jpg + :width: 600 + :alt: TensorBoard screenshot + :align: center + :target: https://tensorboard.dev/experiment/qvNrx6JIQAaN5Ly3uQotrg/ + + TensorBoard screenshot. + + - ``log/log-train-xxxx`` + + It is the detailed training log in text format, same as the one + you saw printed to the console during training. + +Usage examples +~~~~~~~~~~~~~~ + +The following shows typical use cases: + +**Case 1** +^^^^^^^^^^ + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./conformer_ctc/train.py --max-duration 200 + +It uses ``--max-duration`` of 200 to avoid OOM. + + +**Case 2** +^^^^^^^^^^ + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ export CUDA_VISIBLE_DEVICES="0,3" + $ ./conformer_ctc/train.py --world-size 2 + +It uses GPU 0 and GPU 3 for DDP training. + +**Case 3** +^^^^^^^^^^ + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./conformer_ctc/train.py --num-epochs 10 --start-epoch 3 + +It loads checkpoint ``./conformer_ctc/exp/epoch-2.pt`` and starts +training from epoch 3. Also, it trains for 10 epochs. + +Decoding +-------- + +The decoding part uses checkpoints saved by the training part, so you have +to run the training part first. + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./conformer_ctc/decode.py --help + +shows the options for decoding. + +The commonly used options are: + + - ``--method`` + + This specifies the decoding method. + + The following command uses attention decoder for rescoring: + + .. code-block:: + + $ cd egs/aishell/ASR + $ ./conformer_ctc/decode.py --method attention-decoder --max-duration 30 --lattice-score-scale 0.5 + + - ``--lattice-score-scale`` + + It is used to scale down lattice scores so that there are more unique + paths for rescoring. + + - ``--max-duration`` + + It has the same meaning as the one during training. A larger + value may cause OOM. + +Pre-trained Model +----------------- + +We have uploaded a pre-trained model to +``_. + +We describe how to use the pre-trained model to transcribe a sound file or +multiple sound files in the following. + +Install kaldifeat +~~~~~~~~~~~~~~~~~ + +`kaldifeat `_ is used to +extract features for a single sound file or multiple sound files +at the same time. + +Please refer to ``_ for installation. + +Download the pre-trained model +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following commands describe how to download the pre-trained model: + +.. code-block:: + + $ cd egs/aishell/ASR + $ mkdir tmp + $ cd tmp + $ git lfs install + $ git clone https://huggingface.co/pkufool/icefall_asr_aishell_conformer_ctc + +.. CAUTION:: + + You have to use ``git lfs`` to download the pre-trained model. + +.. CAUTION:: + + In order to use this pre-trained model, your k2 version has to be v1.7 or later. + +After downloading, you will have the following files: + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ tree tmp + +.. code-block:: bash + + tmp/ + `-- icefall_asr_aishell_conformer_ctc + |-- README.md + |-- data + | `-- lang_char + | |-- HLG.pt + | |-- tokens.txt + | `-- words.txt + |-- exp + | `-- pretrained.pt + `-- test_waves + |-- BAC009S0764W0121.wav + |-- BAC009S0764W0122.wav + |-- BAC009S0764W0123.wav + `-- trans.txt + + 5 directories, 9 files + +**File descriptions**: + + - ``data/lang_char/HLG.pt`` + + It is the decoding graph. + + - ``data/lang_char/tokens.txt`` + + It contains tokens and their IDs. + Provided only for convenience so that you can look up the SOS/EOS ID easily. + + - ``data/lang_char/words.txt`` + + It contains words and their IDs. + + - ``exp/pretrained.pt`` + + It contains pre-trained model parameters, obtained by averaging + checkpoints from ``epoch-18.pt`` to ``epoch-40.pt``. + Note: We have removed optimizer ``state_dict`` to reduce file size. + + - ``test_waves/*.wav`` + + It contains some test sound files from Aishell ``test`` dataset. + + - ``test_waves/trans.txt`` + + It contains the reference transcripts for the sound files in `test_waves/`. + +The information of the test sound files is listed below: + +.. code-block:: bash + + $ soxi tmp/icefall_asr_aishell_conformer_ctc/test_wavs/*.wav + + Input File : 'tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav' + Channels : 1 + Sample Rate : 16000 + Precision : 16-bit + Duration : 00:00:04.20 = 67263 samples ~ 315.295 CDDA sectors + File Size : 135k + Bit Rate : 256k + Sample Encoding: 16-bit Signed Integer PCM + + + Input File : 'tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav' + Channels : 1 + Sample Rate : 16000 + Precision : 16-bit + Duration : 00:00:04.12 = 65840 samples ~ 308.625 CDDA sectors + File Size : 132k + Bit Rate : 256k + Sample Encoding: 16-bit Signed Integer PCM + + + Input File : 'tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav' + Channels : 1 + Sample Rate : 16000 + Precision : 16-bit + Duration : 00:00:04.00 = 64000 samples ~ 300 CDDA sectors + File Size : 128k + Bit Rate : 256k + Sample Encoding: 16-bit Signed Integer PCM + + Total Duration of 3 files: 00:00:12.32 + +Usage +~~~~~ + +.. code-block:: + + $ cd egs/aishell/ASR + $ ./conformer_ctc/pretrained.py --help + +displays the help information. + +It supports two decoding methods: + + - HLG decoding + - HLG + attention decoder rescoring + +HLG decoding +^^^^^^^^^^^^ + +HLG decoding uses the best path of the decoding lattice as the decoding result. + +The command to run HLG decoding is: + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./conformer_ctc/pretrained.py \ + --checkpoint ./tmp/icefall_asr_aishell_conformer_ctc/exp/pretrained.pt \ + --words-file ./tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/words.txt \ + --HLG ./tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/HLG.pt \ + --method 1best \ + ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0121.wav \ + ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0122.wav \ + ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0123.wav + +The output is given below: + +.. code-block:: + + 2021-09-13 10:46:59,842 INFO [pretrained.py:219] device: cuda:0 + 2021-09-13 10:46:59,842 INFO [pretrained.py:221] Creating model + 2021-09-13 10:47:54,682 INFO [pretrained.py:238] Loading HLG from ./tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/HLG.pt + 2021-09-13 10:48:46,111 INFO [pretrained.py:245] Constructing Fbank computer + 2021-09-13 10:48:46,113 INFO [pretrained.py:255] Reading sound files: ['./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav'] + 2021-09-13 10:48:46,368 INFO [pretrained.py:262] Decoding started + 2021-09-13 10:48:46,847 INFO [pretrained.py:291] Use HLG decoding + 2021-09-13 10:48:47,176 INFO [pretrained.py:322] + ./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav: + 甚至 出现 交易 几乎 停止 的 情况 + + ./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav: + 一二 线 城市 虽然 也 处于 调整 中 + + ./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav: + 但 因为 聚集 了 过多 公共 资源 + + + 2021-09-13 10:48:47,177 INFO [pretrained.py:324] Decoding Done + +HLG decoding + attention decoder rescoring +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +It extracts n paths from the lattice, recores the extracted paths with +an attention decoder. The path with the highest score is the decoding result. + +The command to run HLG decoding + attention decoder rescoring is: + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./conformer_ctc/pretrained.py \ + --checkpoint ./tmp/icefall_asr_aishell_conformer_ctc/exp/pretrained.pt \ + --words-file ./tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/words.txt \ + --HLG ./tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/HLG.pt \ + --method attention-decoder \ + ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0121.wav \ + ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0122.wav \ + ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0123.wav + +The output is below: + +.. code-block:: + + 2021-09-13 11:02:15,852 INFO [pretrained.py:219] device: cuda:0 + 2021-09-13 11:02:15,852 INFO [pretrained.py:221] Creating model + 2021-09-13 11:02:22,292 INFO [pretrained.py:238] Loading HLG from ./tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/HLG.pt + 2021-09-13 11:02:27,060 INFO [pretrained.py:245] Constructing Fbank computer + 2021-09-13 11:02:27,062 INFO [pretrained.py:255] Reading sound files: ['./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav'] + 2021-09-13 11:02:27,129 INFO [pretrained.py:261] Decoding started + 2021-09-13 11:02:27,241 INFO [pretrained.py:295] Use HLG + attention decoder rescoring + 2021-09-13 11:02:27,823 INFO [pretrained.py:318] + ./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav: + 甚至 出现 交易 几乎 停止 的 情况 + + ./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav: + 一二 线 城市 虽然 也 处于 调整 中 + + ./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav: + 但 因为 聚集 了 过多 公共 资源 + + + 2021-09-13 11:02:27,823 INFO [pretrained.py:320] Decoding Done + +Colab notebook +-------------- + +We do provide a colab notebook for this recipe showing how to use a pre-trained model. + +|aishell asr conformer ctc colab notebook| + +.. |aishell asr conformer ctc colab notebook| image:: https://colab.research.google.com/assets/colab-badge.svg + :target: https://colab.research.google.com/drive/1WnG17io5HEZ0Gn_cnh_VzK5QYOoiiklC + +.. HINT:: + + Due to limited memory provided by Colab, you have to upgrade to Colab Pro to + run ``HLG decoding + attention decoder rescoring``. + Otherwise, you can only run ``HLG decoding`` with Colab. + +**Congratulations!** You have finished the aishell ASR recipe with +conformer CTC models in ``icefall``. diff --git a/docs/source/recipes/aishell/images/aishell-conformer-ctc-tensorboard-log.jpg b/docs/source/recipes/aishell/images/aishell-conformer-ctc-tensorboard-log.jpg new file mode 100644 index 0000000000000000000000000000000000000000..47f7d18a769964a632102f93e685e1ce304654d0 GIT binary patch literal 557274 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 z

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%0D=c=4rIz) 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/source/recipes/aishell/images/aishell-tdnn-lstm-ctc-tensorboard-log.jpg b/docs/source/recipes/aishell/images/aishell-tdnn-lstm-ctc-tensorboard-log.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b31db3ab5286366db670aa8fbc06d9836f7ae110 GIT binary patch literal 436167 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%0DN2o{1DGEi>r`In<9{B{FB{$3UnHXLUq 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

TM=ni)m9bC6r&M>OJsCr; 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 z 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 J@3cve{6EQ<%7g#_ literal 0 HcmV?d00001 diff --git a/docs/source/recipes/aishell/tdnn_lstm_ctc.rst b/docs/source/recipes/aishell/tdnn_lstm_ctc.rst new file mode 100644 index 0000000000..e9b0ea6561 --- /dev/null +++ b/docs/source/recipes/aishell/tdnn_lstm_ctc.rst @@ -0,0 +1,504 @@ +TDNN-LSTM CTC +============= + +This tutorial shows you how to run a tdnn-lstm ctc model +with the `Aishell `_ dataset. + + +.. HINT:: + + We assume you have read the page :ref:`install icefall` and have setup + the environment for ``icefall``. + +.. HINT:: + + We recommend you to use a GPU or several GPUs to run this recipe. + +In this tutorial, you will learn: + + - (1) How to prepare data for training and decoding + - (2) How to start the training, either with a single GPU or multiple GPUs + - (3) How to do decoding after training. + - (4) How to use a pre-trained model, provided by us + +Data preparation +---------------- + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./prepare.sh + +The script ``./prepare.sh`` handles the data preparation for you, **automagically**. +All you need to do is to run it. + +The data preparation contains several stages, you can use the following two +options: + + - ``--stage`` + - ``--stop-stage`` + +to control which stage(s) should be run. By default, all stages are executed. + + +For example, + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./prepare.sh --stage 0 --stop-stage 0 + +means to run only stage 0. + +To run stage 2 to stage 5, use: + +.. code-block:: bash + + $ ./prepare.sh --stage 2 --stop-stage 5 + +.. HINT:: + + If you have pre-downloaded the `Aishell `_ + dataset and the `musan `_ dataset, say, + they are saved in ``/tmp/aishell`` and ``/tmp/musan``, you can modify + the ``dl_dir`` variable in ``./prepare.sh`` to point to ``/tmp`` so that + ``./prepare.sh`` won't re-download them. + +.. HINT:: + + A 3-gram language model will be downloaded from huggingface, we assume you have + intalled and initialized ``git-lfs``. If not, you could install ``git-lfs`` by + + .. code-block:: bash + + $ sudo apt-get install git-lfs + $ git-lfs install + + If you don't have the ``sudo`` permission, you could download the + `git-lfs binary `_ here, then add it to you ``PATH``. + +.. NOTE:: + + All generated files by ``./prepare.sh``, e.g., features, lexicon, etc, + are saved in ``./data`` directory. + + +Training +-------- + +Configurable options +~~~~~~~~~~~~~~~~~~~~ + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./tdnn_lstm_ctc/train.py --help + +shows you the training options that can be passed from the commandline. +The following options are used quite often: + + + - ``--num-epochs`` + + It is the number of epochs to train. For instance, + ``./tdnn_lstm_ctc/train.py --num-epochs 30`` trains for 30 epochs + and generates ``epoch-0.pt``, ``epoch-1.pt``, ..., ``epoch-29.pt`` + in the folder ``./tdnn_lstm_ctc/exp``. + + - ``--start-epoch`` + + It's used to resume training. + ``./tdnn_lstm_ctc/train.py --start-epoch 10`` loads the + checkpoint ``./tdnn_lstm_ctc/exp/epoch-9.pt`` and starts + training from epoch 10, based on the state from epoch 9. + + - ``--world-size`` + + It is used for multi-GPU single-machine DDP training. + + - (a) If it is 1, then no DDP training is used. + + - (b) If it is 2, then GPU 0 and GPU 1 are used for DDP training. + + The following shows some use cases with it. + + **Use case 1**: You have 4 GPUs, but you only want to use GPU 0 and + GPU 2 for training. You can do the following: + + .. code-block:: bash + + $ cd egs/aishell/ASR + $ export CUDA_VISIBLE_DEVICES="0,2" + $ ./tdnn_lstm_ctc/train.py --world-size 2 + + **Use case 2**: You have 4 GPUs and you want to use all of them + for training. You can do the following: + + .. code-block:: bash + + $ cd egs/aishell/ASR + $ ./tdnn_lstm_ctc/train.py --world-size 4 + + **Use case 3**: You have 4 GPUs but you only want to use GPU 3 + for training. You can do the following: + + .. code-block:: bash + + $ cd egs/aishell/ASR + $ export CUDA_VISIBLE_DEVICES="3" + $ ./tdnn_lstm_ctc/train.py --world-size 1 + + .. CAUTION:: + + Only multi-GPU single-machine DDP training is implemented at present. + Multi-GPU multi-machine DDP training will be added later. + + - ``--max-duration`` + + It specifies the number of seconds over all utterances in a + batch, before **padding**. + If you encounter CUDA OOM, please reduce it. For instance, if + your are using V100 NVIDIA GPU, we recommend you to set it to ``2000``. + + .. HINT:: + + Due to padding, the number of seconds of all utterances in a + batch will usually be larger than ``--max-duration``. + + A larger value for ``--max-duration`` may cause OOM during training, + while a smaller value may increase the training time. You have to + tune it. + + +Pre-configured options +~~~~~~~~~~~~~~~~~~~~~~ + +There are some training options, e.g., weight decay, +number of warmup steps, results dir, etc, +that are not passed from the commandline. +They are pre-configured by the function ``get_params()`` in +`tdnn_lstm_ctc/train.py `_ + +You don't need to change these pre-configured parameters. If you really need to change +them, please modify ``./tdnn_lstm_ctc/train.py`` directly. + + +.. CAUTION:: + + The training set is perturbed by speed with two factors: 0.9 and 1.1. + Each epoch actually processes ``3x150 == 450`` hours of data. + + +Training logs +~~~~~~~~~~~~~ + +Training logs and checkpoints are saved in ``tdnn_lstm_ctc/exp``. +You will find the following files in that directory: + + - ``epoch-0.pt``, ``epoch-1.pt``, ... + + These are checkpoint files, containing model ``state_dict`` and optimizer ``state_dict``. + To resume training from some checkpoint, say ``epoch-10.pt``, you can use: + + .. code-block:: bash + + $ ./tdnn_lstm_ctc/train.py --start-epoch 11 + + - ``tensorboard/`` + + This folder contains TensorBoard logs. Training loss, validation loss, learning + rate, etc, are recorded in these logs. You can visualize them by: + + .. code-block:: bash + + $ cd tdnn_lstm_ctc/exp/tensorboard + $ tensorboard dev upload --logdir . --description "TDNN-LSTM CTC training for Aishell with icefall" + + It will print something like below: + + .. code-block:: + + TensorFlow installation not found - running with reduced feature set. + Upload started and will continue reading any new data as it's added to the logdir. + + To stop uploading, press Ctrl-C. + + New experiment created. View your TensorBoard at: https://tensorboard.dev/experiment/LJI9MWUORLOw3jkdhxwk8A/ + + [2021-09-13T11:59:23] Started scanning logdir. + [2021-09-13T11:59:24] Total uploaded: 4454 scalars, 0 tensors, 0 binary objects + Listening for new data in logdir... + + Note there is a URL in the above output, click it and you will see + the following screenshot: + + .. figure:: images/aishell-tdnn-lstm-ctc-tensorboard-log.jpg + :width: 600 + :alt: TensorBoard screenshot + :align: center + :target: https://tensorboard.dev/experiment/LJI9MWUORLOw3jkdhxwk8A/ + + TensorBoard screenshot. + + - ``log/log-train-xxxx`` + + It is the detailed training log in text format, same as the one + you saw printed to the console during training. + +Usage examples +~~~~~~~~~~~~~~ + +The following shows typical use cases: + +**Case 1** +^^^^^^^^^^ + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ export CUDA_VISIBLE_DEVICES="0,3" + $ ./tdnn_lstm_ctc/train.py --world-size 2 + +It uses GPU 0 and GPU 3 for DDP training. + +**Case 2** +^^^^^^^^^^ + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./tdnn_lstm_ctc/train.py --num-epochs 10 --start-epoch 3 + +It loads checkpoint ``./tdnn_lstm_ctc/exp/epoch-2.pt`` and starts +training from epoch 3. Also, it trains for 10 epochs. + +Decoding +-------- + +The decoding part uses checkpoints saved by the training part, so you have +to run the training part first. + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./tdnn_lstm_ctc/decode.py --help + +shows the options for decoding. + +The commonly used options are: + + - ``--method`` + + This specifies the decoding method. + + The following command uses attention decoder for rescoring: + + .. code-block:: + + $ cd egs/aishell/ASR + $ ./tdnn_lstm_ctc/decode.py --method 1best --max-duration 100 + + - ``--max-duration`` + + It has the same meaning as the one during training. A larger + value may cause OOM. + +Pre-trained Model +----------------- + +We have uploaded a pre-trained model to +``_. + +We describe how to use the pre-trained model to transcribe a sound file or +multiple sound files in the following. + +Install kaldifeat +~~~~~~~~~~~~~~~~~ + +`kaldifeat `_ is used to +extract features for a single sound file or multiple sound files +at the same time. + +Please refer to ``_ for installation. + +Download the pre-trained model +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following commands describe how to download the pre-trained model: + +.. code-block:: + + $ cd egs/aishell/ASR + $ mkdir tmp + $ cd tmp + $ git lfs install + $ git clone https://huggingface.co/pkufool/icefall_asr_aishell_tdnn_lstm_ctc + +.. CAUTION:: + + You have to use ``git lfs`` to download the pre-trained model. + +.. CAUTION:: + + In order to use this pre-trained model, your k2 version has to be v1.7 or later. + +After downloading, you will have the following files: + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ tree tmp + +.. code-block:: bash + + tmp/ + `-- icefall_asr_aishell_tdnn_lstm_ctc + |-- README.md + |-- data + | `-- lang_phone + | |-- HLG.pt + | |-- tokens.txt + | `-- words.txt + |-- exp + | `-- pretrained.pt + `-- test_waves + |-- BAC009S0764W0121.wav + |-- BAC009S0764W0122.wav + |-- BAC009S0764W0123.wav + `-- trans.txt + + 5 directories, 9 files + +**File descriptions**: + + - ``data/lang_phone/HLG.pt`` + + It is the decoding graph. + + - ``data/lang_phone/tokens.txt`` + + It contains tokens and their IDs. + Provided only for convenience so that you can look up the SOS/EOS ID easily. + + - ``data/lang_phone/words.txt`` + + It contains words and their IDs. + + - ``exp/pretrained.pt`` + + It contains pre-trained model parameters, obtained by averaging + checkpoints from ``epoch-18.pt`` to ``epoch-40.pt``. + Note: We have removed optimizer ``state_dict`` to reduce file size. + + - ``test_waves/*.wav`` + + It contains some test sound files from Aishell ``test`` dataset. + + - ``test_waves/trans.txt`` + + It contains the reference transcripts for the sound files in `test_waves/`. + +The information of the test sound files is listed below: + +.. code-block:: bash + + $ soxi tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_wavs/*.wav + + Input File : 'tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_waves/BAC009S0764W0121.wav' + Channels : 1 + Sample Rate : 16000 + Precision : 16-bit + Duration : 00:00:04.20 = 67263 samples ~ 315.295 CDDA sectors + File Size : 135k + Bit Rate : 256k + Sample Encoding: 16-bit Signed Integer PCM + + + Input File : 'tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_waves/BAC009S0764W0122.wav' + Channels : 1 + Sample Rate : 16000 + Precision : 16-bit + Duration : 00:00:04.12 = 65840 samples ~ 308.625 CDDA sectors + File Size : 132k + Bit Rate : 256k + Sample Encoding: 16-bit Signed Integer PCM + + + Input File : 'tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_waves/BAC009S0764W0123.wav' + Channels : 1 + Sample Rate : 16000 + Precision : 16-bit + Duration : 00:00:04.00 = 64000 samples ~ 300 CDDA sectors + File Size : 128k + Bit Rate : 256k + Sample Encoding: 16-bit Signed Integer PCM + + Total Duration of 3 files: 00:00:12.32 + +Usage +~~~~~ + +.. code-block:: + + $ cd egs/aishell/ASR + $ ./tdnn_lstm_ctc/pretrained.py --help + +displays the help information. + + +HLG decoding +^^^^^^^^^^^^ + +HLG decoding uses the best path of the decoding lattice as the decoding result. + +The command to run HLG decoding is: + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./tdnn_lstm_ctc/pretrained.py \ + --checkpoint ./tmp/icefall_asr_aishell_tdnn_lstm_ctc/exp/pretrained.pt \ + --words-file ./tmp/icefall_asr_aishell_tdnn_lstm_ctc/data/lang_phone/words.txt \ + --HLG ./tmp/icefall_asr_aishell_tdnn_lstm_ctc/data/lang_phone/HLG.pt \ + --method 1best \ + ./tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_wavs/BAC009S0764W0121.wav \ + ./tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_wavs/BAC009S0764W0122.wav \ + ./tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_wavs/BAC009S0764W0123.wav + +The output is given below: + +.. code-block:: + + 2021-09-13 15:00:55,858 INFO [pretrained.py:140] device: cuda:0 + 2021-09-13 15:00:55,858 INFO [pretrained.py:142] Creating model + 2021-09-13 15:01:05,389 INFO [pretrained.py:154] Loading HLG from ./tmp/icefall_asr_aishell_tdnn_lstm_ctc/data/lang_phone/HLG.pt + 2021-09-13 15:01:06,531 INFO [pretrained.py:161] Constructing Fbank computer + 2021-09-13 15:01:06,536 INFO [pretrained.py:171] Reading sound files: ['./tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_waves/BAC009S0764W0121.wav', './tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_waves/BAC009S0764W0122.wav', './tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_waves/BAC009S0764W0123.wav'] + 2021-09-13 15:01:06,539 INFO [pretrained.py:177] Decoding started + 2021-09-13 15:01:06,917 INFO [pretrained.py:207] Use HLG decoding + 2021-09-13 15:01:07,129 INFO [pretrained.py:220] + ./tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_waves/BAC009S0764W0121.wav: + 甚至 出现 交易 几乎 停滞 的 情况 + + ./tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_waves/BAC009S0764W0122.wav: + 一二 线 城市 虽然 也 处于 调整 中 + + ./tmp/icefall_asr_aishell_tdnn_lstm_ctc/test_waves/BAC009S0764W0123.wav: + 但 因为 聚集 了 过多 公共 资源 + + + 2021-09-13 15:01:07,129 INFO [pretrained.py:222] Decoding Done + + +Colab notebook +-------------- + +We do provide a colab notebook for this recipe showing how to use a pre-trained model. + +|aishell asr conformer ctc colab notebook| + +.. |aishell asr conformer ctc colab notebook| image:: https://colab.research.google.com/assets/colab-badge.svg + :target: https://colab.research.google.com/drive/1qULaGvXq7PCu_P61oubfz9b53JzY4H3z + +**Congratulations!** You have finished the aishell ASR recipe with +TDNN-LSTM CTC models in ``icefall``. diff --git a/docs/source/recipes/index.rst b/docs/source/recipes/index.rst index 36f8dfc394..ab81e58751 100644 --- a/docs/source/recipes/index.rst +++ b/docs/source/recipes/index.rst @@ -15,3 +15,5 @@ We may add recipes for other tasks as well in the future. yesno librispeech + + aishell diff --git a/egs/aishell/ASR/RESULTS.md b/egs/aishell/ASR/RESULTS.md index 41220900ea..5cbe5d213b 100644 --- a/egs/aishell/ASR/RESULTS.md +++ b/egs/aishell/ASR/RESULTS.md @@ -1,3 +1,56 @@ ## Results -Adding soon... +### Aishell training results (Conformer-CTC) +#### 2021-09-13 +(Wei Kang): Result of https://github.com/k2-fsa/icefall/pull/30 + +Pretrained model is available at https://huggingface.co/pkufool/icefall_asr_aishell_conformer_ctc + +The best decoding results (CER) are listed below, we got this results by averaging models from epoch 23 to 40, and using `attention-decoder` decoder with num_paths equals to 100. + +||test| +|--|--| +|CER| 4.74% | + +To get more unique paths, we scaled the lattice.scores with 0.5 (see https://github.com/k2-fsa/icefall/pull/10#discussion_r690951662 for more details), we searched the lm_score_scale and attention_score_scale for best results, the scales that produced the CER above are also listed below. + +||lm_scale|attention_scale| +|--|--|--| +|test|0.3|0.9| + +You can use the following commands to reproduce our results: + +```bash +git clone https://github.com/k2-fsa/icefall +cd icefall + +cd egs/aishell/ASR +./prepare.sh + +export CUDA_VISIBLE_DEVICES="0,1" +python conformer_ctc/train.py --bucketing-sampler False \ + --concatenate-cuts False \ + --max-duration 200 \ + --world-size 2 + +python conformer_ctc/decode.py --lattice-score-scale 0.5 \ + --epoch 40 \ + --avg 18 \ + --method attention-decoder \ + --max-duration 50 \ + --num-paths 100 +``` + +### Aishell training results (Tdnn-Lstm) +#### 2021-09-13 + +(Wei Kang): Result of phone based Tdnn-Lstm model, https://github.com/k2-fsa/icefall/pull/30 + +Pretrained model is available at https://huggingface.co/pkufool/icefall_asr_aishell_conformer_ctc_lstm_ctc + +The best decoding results (CER) are listed below, we got this results by averaging models from epoch 19 to 8, and using `1best` decoding method. + +||test| +|--|--| +|CER| 10.16% | + diff --git a/egs/aishell/ASR/conformer_ctc/README.md b/egs/aishell/ASR/conformer_ctc/README.md new file mode 100644 index 0000000000..50596ee92a --- /dev/null +++ b/egs/aishell/ASR/conformer_ctc/README.md @@ -0,0 +1,4 @@ + +Please visit + +for how to run this recipe. diff --git a/egs/aishell/ASR/conformer_ctc/decode.py b/egs/aishell/ASR/conformer_ctc/decode.py index b4b113d4b6..20a8f7b3a2 100755 --- a/egs/aishell/ASR/conformer_ctc/decode.py +++ b/egs/aishell/ASR/conformer_ctc/decode.py @@ -45,6 +45,7 @@ get_texts, setup_logger, store_transcripts, + str2bool, write_error_stats, ) @@ -110,6 +111,17 @@ def get_parser(): """, ) + parser.add_argument( + "--export", + type=str2bool, + default=False, + help="""When enabled, the averaged model is saved to + conformer_ctc/exp/pretrained.pt. Note: only model.state_dict() is saved. + pretrained.pt contains a dict {"model": model.state_dict()}, + which can be loaded by `icefall.checkpoint.load_checkpoint()`. + """, + ) + return parser @@ -364,12 +376,13 @@ def save_results( # The following prints out WERs, per-word error statistics and aligned # ref/hyp pairs. errs_filename = params.exp_dir / f"errs-{test_set_name}-{key}.txt" - results_tmp = [] + # we compute CER for aishell dataset. + results_char = [] for res in results: - results_tmp.append((list("".join(res[0])), list("".join(res[1])))) + results_char.append((list("".join(res[0])), list("".join(res[1])))) with open(errs_filename, "w") as f: wer = write_error_stats( - f, f"{test_set_name}-{key}", results_tmp, enable_log=enable_log + f, f"{test_set_name}-{key}", results_char, enable_log=enable_log ) test_set_wers[key] = wer @@ -379,13 +392,13 @@ def save_results( ) test_set_wers = sorted(test_set_wers.items(), key=lambda x: x[1]) - errs_info = params.exp_dir / f"wer-summary-{test_set_name}.txt" + errs_info = params.exp_dir / f"cer-summary-{test_set_name}.txt" with open(errs_info, "w") as f: - print("settings\tWER", file=f) + print("settings\tCER", file=f) for key, val in test_set_wers: print("{}\t{}".format(key, val), file=f) - s = "\nFor {}, WER of different settings are:\n".format(test_set_name) + s = "\nFor {}, CER of different settings are:\n".format(test_set_name) note = "\tbest for {}".format(test_set_name) for key, val in test_set_wers: s += "{}\t{}{}\n".format(key, val, note) @@ -457,6 +470,13 @@ def main(): logging.info(f"averaging {filenames}") model.load_state_dict(average_checkpoints(filenames)) + if params.export: + logging.info(f"Export averaged model to {params.exp_dir}/pretrained.pt") + torch.save( + {"model": model.state_dict()}, f"{params.exp_dir}/pretrained.pt" + ) + return + model.to(device) model.eval() num_param = sum([p.numel() for p in model.parameters()]) diff --git a/egs/aishell/ASR/conformer_ctc/pretrained.py b/egs/aishell/ASR/conformer_ctc/pretrained.py new file mode 100755 index 0000000000..846681f007 --- /dev/null +++ b/egs/aishell/ASR/conformer_ctc/pretrained.py @@ -0,0 +1,329 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang, +# Wei Kang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import argparse +import logging +import math +from typing import List + +import k2 +import kaldifeat +import torch +import torchaudio +from conformer import Conformer +from torch.nn.utils.rnn import pad_sequence + +from icefall.decode import ( + get_lattice, + one_best_decoding, + rescore_with_attention_decoder, +) +from icefall.utils import AttributeDict, get_texts + + +def get_parser(): + parser = argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter + ) + + parser.add_argument( + "--checkpoint", + type=str, + required=True, + help="Path to the checkpoint. " + "The checkpoint is assumed to be saved by " + "icefall.checkpoint.save_checkpoint().", + ) + + parser.add_argument( + "--words-file", + type=str, + required=True, + help="Path to words.txt", + ) + + parser.add_argument( + "--HLG", type=str, required=True, help="Path to HLG.pt." + ) + + parser.add_argument( + "--method", + type=str, + default="1best", + help="""Decoding method. + Possible values are: + (1) 1best - Use the best path as decoding output. Only + the transformer encoder output is used for decoding. + We call it HLG decoding. + (2) attention-decoder - Extract n paths from the rescored + lattice and use the transformer attention decoder for + rescoring. + We call it HLG decoding + n-gram LM rescoring + attention + decoder rescoring. + """, + ) + + parser.add_argument( + "--num-paths", + type=int, + default=100, + help=""" + Used only when method is attention-decoder. + It specifies the size of n-best list.""", + ) + + parser.add_argument( + "--ngram-lm-scale", + type=float, + default=0.3, + help=""" + Used only when method is attention-decoder. + It specifies the scale for n-gram LM scores. + (Note: You need to tune it on a dataset.) + """, + ) + + parser.add_argument( + "--attention-decoder-scale", + type=float, + default=0.9, + help=""" + Used only when method is attention-decoder. + It specifies the scale for attention decoder scores. + (Note: You need to tune it on a dataset.) + """, + ) + + parser.add_argument( + "--lattice-score-scale", + type=float, + default=0.5, + help=""" + Used only when method is attention-decoder. + It specifies the scale for lattice.scores when + extracting n-best lists. A smaller value results in + more unique number of paths with the risk of missing + the best path. + """, + ) + + parser.add_argument( + "--sos-id", + type=float, + default=1, + help=""" + Used only when method is attention-decoder. + It specifies ID for the SOS token. + """, + ) + + parser.add_argument( + "--eos-id", + type=float, + default=1, + help=""" + Used only when method is attention-decoder. + It specifies ID for the EOS token. + """, + ) + + parser.add_argument( + "sound_files", + type=str, + nargs="+", + help="The input sound file(s) to transcribe. " + "Supported formats are those supported by torchaudio.load(). " + "For example, wav and flac are supported. " + "The sample rate has to be 16kHz.", + ) + + return parser + + +def get_params() -> AttributeDict: + params = AttributeDict( + { + "sample_rate": 16000, + "num_classes": 4336, + # parameters for conformer + "subsampling_factor": 4, + "feature_dim": 80, + "nhead": 4, + "attention_dim": 512, + "num_decoder_layers": 6, + "vgg_frontend": False, + "use_feat_batchnorm": True, + # parameters for deocding + "search_beam": 20, + "output_beam": 8, + "min_active_states": 30, + "max_active_states": 10000, + "use_double_scores": True, + } + ) + return params + + +def read_sound_files( + filenames: List[str], expected_sample_rate: float +) -> List[torch.Tensor]: + """Read a list of sound files into a list 1-D float32 torch tensors. + Args: + filenames: + A list of sound filenames. + expected_sample_rate: + The expected sample rate of the sound files. + Returns: + Return a list of 1-D float32 torch tensors. + """ + ans = [] + for f in filenames: + wave, sample_rate = torchaudio.load(f) + assert sample_rate == expected_sample_rate, ( + f"expected sample rate: {expected_sample_rate}. " + f"Given: {sample_rate}" + ) + # We use only the first channel + ans.append(wave[0]) + return ans + + +def main(): + parser = get_parser() + args = parser.parse_args() + + params = get_params() + params.update(vars(args)) + logging.info(f"{params}") + + device = torch.device("cpu") + if torch.cuda.is_available(): + device = torch.device("cuda", 0) + + logging.info(f"device: {device}") + + logging.info("Creating model") + model = Conformer( + num_features=params.feature_dim, + nhead=params.nhead, + d_model=params.attention_dim, + num_classes=params.num_classes, + subsampling_factor=params.subsampling_factor, + num_decoder_layers=params.num_decoder_layers, + vgg_frontend=params.vgg_frontend, + use_feat_batchnorm=params.use_feat_batchnorm, + ) + + checkpoint = torch.load(args.checkpoint, map_location="cpu") + model.load_state_dict(checkpoint["model"]) + model.to(device) + model.eval() + + logging.info(f"Loading HLG from {params.HLG}") + HLG = k2.Fsa.from_dict(torch.load(params.HLG, map_location="cpu")) + HLG = HLG.to(device) + if not hasattr(HLG, "lm_scores"): + # For whole-lattice-rescoring and attention-decoder + HLG.lm_scores = HLG.scores.clone() + + logging.info("Constructing Fbank computer") + opts = kaldifeat.FbankOptions() + opts.device = device + opts.frame_opts.dither = 0 + opts.frame_opts.snip_edges = False + opts.frame_opts.samp_freq = params.sample_rate + opts.mel_opts.num_bins = params.feature_dim + + fbank = kaldifeat.Fbank(opts) + + logging.info(f"Reading sound files: {params.sound_files}") + waves = read_sound_files( + filenames=params.sound_files, expected_sample_rate=params.sample_rate + ) + waves = [w.to(device) for w in waves] + + logging.info("Decoding started") + features = fbank(waves) + + features = pad_sequence( + features, batch_first=True, padding_value=math.log(1e-10) + ) + + # Note: We don't use key padding mask for attention during decoding + with torch.no_grad(): + nnet_output, memory, memory_key_padding_mask = model(features) + + batch_size = nnet_output.shape[0] + supervision_segments = torch.tensor( + [[i, 0, nnet_output.shape[1]] for i in range(batch_size)], + dtype=torch.int32, + ) + + lattice = get_lattice( + nnet_output=nnet_output, + HLG=HLG, + supervision_segments=supervision_segments, + search_beam=params.search_beam, + output_beam=params.output_beam, + min_active_states=params.min_active_states, + max_active_states=params.max_active_states, + subsampling_factor=params.subsampling_factor, + ) + + if params.method == "1best": + logging.info("Use HLG decoding") + best_path = one_best_decoding( + lattice=lattice, use_double_scores=params.use_double_scores + ) + elif params.method == "attention-decoder": + logging.info("Use HLG + attention decoder rescoring") + best_path_dict = rescore_with_attention_decoder( + lattice=lattice, + num_paths=params.num_paths, + model=model, + memory=memory, + memory_key_padding_mask=memory_key_padding_mask, + sos_id=params.sos_id, + eos_id=params.eos_id, + scale=params.lattice_score_scale, + ngram_lm_scale=params.ngram_lm_scale, + attention_scale=params.attention_decoder_scale, + ) + best_path = next(iter(best_path_dict.values())) + + hyps = get_texts(best_path) + word_sym_table = k2.SymbolTable.from_file(params.words_file) + hyps = [[word_sym_table[i] for i in ids] for ids in hyps] + + s = "\n" + for filename, hyp in zip(params.sound_files, hyps): + words = " ".join(hyp) + s += f"{filename}:\n{words}\n\n" + logging.info(s) + + logging.info("Decoding Done") + + +if __name__ == "__main__": + formatter = ( + "%(asctime)s %(levelname)s [%(filename)s:%(lineno)d] %(message)s" + ) + + logging.basicConfig(format=formatter, level=logging.INFO) + main() diff --git a/egs/aishell/ASR/local/compile_hlg.py b/egs/aishell/ASR/local/compile_hlg.py index 19a1ddd238..407fb7d888 100755 --- a/egs/aishell/ASR/local/compile_hlg.py +++ b/egs/aishell/ASR/local/compile_hlg.py @@ -102,14 +102,14 @@ def compile_HLG(lang_dir: str) -> k2.Fsa: LG.labels[LG.labels >= first_token_disambig_id] = 0 - assert isinstance(LG.aux_labels, k2.RaggedInt) - LG.aux_labels.values()[LG.aux_labels.values() >= first_word_disambig_id] = 0 + assert isinstance(LG.aux_labels, k2.RaggedTensor) + LG.aux_labels.data[LG.aux_labels.data >= first_word_disambig_id] = 0 LG = k2.remove_epsilon(LG) logging.info(f"LG shape after k2.remove_epsilon: {LG.shape}") LG = k2.connect(LG) - LG.aux_labels = k2.ragged.remove_values_eq(LG.aux_labels, 0) + LG.aux_labels = LG.aux_labels.remove_values_eq(0) logging.info("Arc sorting LG") LG = k2.arc_sort(LG) diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/decode.py b/egs/aishell/ASR/tdnn_lstm_ctc/decode.py index c9437b414d..568da38112 100755 --- a/egs/aishell/ASR/tdnn_lstm_ctc/decode.py +++ b/egs/aishell/ASR/tdnn_lstm_ctc/decode.py @@ -66,6 +66,26 @@ def get_parser(): "consecutive checkpoints before the checkpoint specified by " "'--epoch'. ", ) + parser.add_argument( + "--method", + type=str, + default="1best", + help="""Decoding method. + Supported values are: + - (1) 1best. Extract the best path from the decoding lattice as the + decoding result. + - (2) nbest. Extract n paths from the decoding lattice; the path + with the highest score is the decoding result. + """, + ) + parser.add_argument( + "--num-paths", + type=int, + default=30, + help="""Number of paths for n-best based decoding method. + Used only when "method" is nbest. + """, + ) parser.add_argument( "--export", type=str2bool, @@ -82,22 +102,18 @@ def get_parser(): def get_params() -> AttributeDict: params = AttributeDict( { - "exp_dir": Path("tdnn_lstm_ctc/exp_lr1e-4/"), + "exp_dir": Path("tdnn_lstm_ctc/exp/"), "lang_dir": Path("data/lang_phone"), "lm_dir": Path("data/lm"), - "feature_dim": 80, + # parameters for tdnn_lstm_ctc "subsampling_factor": 3, + "feature_dim": 80, + # parameters for decoding "search_beam": 20, - "output_beam": 5, + "output_beam": 7, "min_active_states": 30, "max_active_states": 10000, "use_double_scores": True, - # Possible values for method: - # - 1best - # - nbest - "method": "1best", - # num_paths is used when method is "nbest" - "num_paths": 30, } ) return params @@ -274,23 +290,24 @@ def save_results( # The following prints out WERs, per-word error statistics and aligned # ref/hyp pairs. errs_filename = params.exp_dir / f"errs-{test_set_name}-{key}.txt" - results_tmp = [] + # We compute CER for aishell dataset. + results_char = [] for res in results: - results_tmp.append((list("".join(res[0])), list("".join(res[1])))) + results_char.append((list("".join(res[0])), list("".join(res[1])))) with open(errs_filename, "w") as f: - wer = write_error_stats(f, f"{test_set_name}-{key}", results_tmp) + wer = write_error_stats(f, f"{test_set_name}-{key}", results_char) test_set_wers[key] = wer logging.info("Wrote detailed error stats to {}".format(errs_filename)) test_set_wers = sorted(test_set_wers.items(), key=lambda x: x[1]) - errs_info = params.exp_dir / f"wer-summary-{test_set_name}.txt" + errs_info = params.exp_dir / f"cer-summary-{test_set_name}.txt" with open(errs_info, "w") as f: - print("settings\tWER", file=f) + print("settings\tCER", file=f) for key, val in test_set_wers: print("{}\t{}".format(key, val), file=f) - s = "\nFor {}, WER of different settings are:\n".format(test_set_name) + s = "\nFor {}, CER of different settings are:\n".format(test_set_name) note = "\tbest for {}".format(test_set_name) for key, val in test_set_wers: s += "{}\t{}{}\n".format(key, val, note) diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/pretrained.py b/egs/aishell/ASR/tdnn_lstm_ctc/pretrained.py new file mode 100644 index 0000000000..8421dd3eaf --- /dev/null +++ b/egs/aishell/ASR/tdnn_lstm_ctc/pretrained.py @@ -0,0 +1,231 @@ +#!/usr/bin/env python3 +# Copyright 2021 Xiaomi Corp. (authors: Fangjun Kuang, +# Wei Kang) +# +# See ../../../../LICENSE for clarification regarding multiple authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import argparse +import logging +import math +from typing import List + +import k2 +import kaldifeat +import torch +import torchaudio +from model import TdnnLstm +from torch.nn.utils.rnn import pad_sequence + +from icefall.decode import ( + get_lattice, + one_best_decoding, +) +from icefall.utils import AttributeDict, get_texts + + +def get_parser(): + parser = argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter + ) + + parser.add_argument( + "--checkpoint", + type=str, + required=True, + help="Path to the checkpoint. " + "The checkpoint is assumed to be saved by " + "icefall.checkpoint.save_checkpoint().", + ) + + parser.add_argument( + "--words-file", + type=str, + required=True, + help="Path to words.txt", + ) + + parser.add_argument( + "--HLG", type=str, required=True, help="Path to HLG.pt." + ) + + parser.add_argument( + "--method", + type=str, + default="1best", + help="""Decoding method. + Use the best path as decoding output. Only the transformer encoder + output is used for decoding. We call it HLG decoding. + """, + ) + + parser.add_argument( + "sound_files", + type=str, + nargs="+", + help="The input sound file(s) to transcribe. " + "Supported formats are those supported by torchaudio.load(). " + "For example, wav and flac are supported. " + "The sample rate has to be 16kHz.", + ) + + return parser + + +def get_params() -> AttributeDict: + params = AttributeDict( + { + "feature_dim": 80, + "subsampling_factor": 3, + "num_classes": 220, + "sample_rate": 16000, + "search_beam": 20, + "output_beam": 7, + "min_active_states": 30, + "max_active_states": 10000, + "use_double_scores": True, + } + ) + return params + + +def read_sound_files( + filenames: List[str], expected_sample_rate: float +) -> List[torch.Tensor]: + """Read a list of sound files into a list 1-D float32 torch tensors. + Args: + filenames: + A list of sound filenames. + expected_sample_rate: + The expected sample rate of the sound files. + Returns: + Return a list of 1-D float32 torch tensors. + """ + ans = [] + for f in filenames: + wave, sample_rate = torchaudio.load(f) + assert sample_rate == expected_sample_rate, ( + f"expected sample rate: {expected_sample_rate}. " + f"Given: {sample_rate}" + ) + # We use only the first channel + ans.append(wave[0]) + return ans + + +def main(): + parser = get_parser() + args = parser.parse_args() + + params = get_params() + params.update(vars(args)) + logging.info(f"{params}") + + device = torch.device("cpu") + if torch.cuda.is_available(): + device = torch.device("cuda", 0) + + logging.info(f"device: {device}") + + logging.info("Creating model") + model = TdnnLstm( + num_features=params.feature_dim, + num_classes=params.num_classes, + subsampling_factor=params.subsampling_factor, + ) + + checkpoint = torch.load(args.checkpoint, map_location="cpu") + model.load_state_dict(checkpoint["model"]) + model.to(device) + model.eval() + + logging.info(f"Loading HLG from {params.HLG}") + HLG = k2.Fsa.from_dict(torch.load(params.HLG, map_location="cpu")) + HLG = HLG.to(device) + if not hasattr(HLG, "lm_scores"): + # For whole-lattice-rescoring and attention-decoder + HLG.lm_scores = HLG.scores.clone() + + logging.info("Constructing Fbank computer") + opts = kaldifeat.FbankOptions() + opts.device = device + opts.frame_opts.dither = 0 + opts.frame_opts.snip_edges = False + opts.frame_opts.samp_freq = params.sample_rate + opts.mel_opts.num_bins = params.feature_dim + + fbank = kaldifeat.Fbank(opts) + + logging.info(f"Reading sound files: {params.sound_files}") + waves = read_sound_files( + filenames=params.sound_files, expected_sample_rate=params.sample_rate + ) + waves = [w.to(device) for w in waves] + + logging.info("Decoding started") + features = fbank(waves) + + features = pad_sequence( + features, batch_first=True, padding_value=math.log(1e-10) + ) + features = features.permute(0, 2, 1) # now features is [N, C, T] + + with torch.no_grad(): + nnet_output = model(features) + # nnet_output is [N, T, C] + + batch_size = nnet_output.shape[0] + supervision_segments = torch.tensor( + [[i, 0, nnet_output.shape[1]] for i in range(batch_size)], + dtype=torch.int32, + ) + + lattice = get_lattice( + nnet_output=nnet_output, + HLG=HLG, + supervision_segments=supervision_segments, + search_beam=params.search_beam, + output_beam=params.output_beam, + min_active_states=params.min_active_states, + max_active_states=params.max_active_states, + subsampling_factor=params.subsampling_factor, + ) + + assert(params.method == "1best") + logging.info("Use HLG decoding") + best_path = one_best_decoding( + lattice=lattice, use_double_scores=params.use_double_scores + ) + + hyps = get_texts(best_path) + word_sym_table = k2.SymbolTable.from_file(params.words_file) + hyps = [[word_sym_table[i] for i in ids] for ids in hyps] + + s = "\n" + for filename, hyp in zip(params.sound_files, hyps): + words = " ".join(hyp) + s += f"{filename}:\n{words}\n\n" + logging.info(s) + + logging.info("Decoding Done") + + +if __name__ == "__main__": + formatter = ( + "%(asctime)s %(levelname)s [%(filename)s:%(lineno)d] %(message)s" + ) + + logging.basicConfig(format=formatter, level=logging.INFO) + main() From 943244642f24fdb56797de796a0d6960feac9130 Mon Sep 17 00:00:00 2001 From: pkufool Date: Tue, 16 Nov 2021 10:25:30 +0800 Subject: [PATCH 04/12] Update conformer ctc model --- egs/aishell/ASR/conformer_ctc/decode.py | 162 +++++++++----- egs/aishell/ASR/conformer_ctc/train.py | 269 +++++++++--------------- 2 files changed, 216 insertions(+), 215 deletions(-) diff --git a/egs/aishell/ASR/conformer_ctc/decode.py b/egs/aishell/ASR/conformer_ctc/decode.py index 20a8f7b3a2..ee2f31483f 100755 --- a/egs/aishell/ASR/conformer_ctc/decode.py +++ b/egs/aishell/ASR/conformer_ctc/decode.py @@ -17,7 +17,6 @@ # See the License for the specific language governing permissions and # limitations under the License. - import argparse import logging from collections import defaultdict @@ -42,6 +41,7 @@ from icefall.lexicon import Lexicon from icefall.utils import ( AttributeDict, + get_env_info, get_texts, setup_logger, store_transcripts, @@ -100,7 +100,7 @@ def get_parser(): ) parser.add_argument( - "--lattice-score-scale", + "--nbest-scale", type=float, default=0.5, help="""The scale to be applied to `lattice.scores`. @@ -122,15 +122,35 @@ def get_parser(): """, ) + parser.add_argument( + "--exp-dir", + type=str, + default="conformer_ctc/exp", + help="The experiment dir", + ) + + parser.add_argument( + "--lang-dir", + type=str, + default="data/lang_char", + help="The lang dir", + ) + + parser.add_argument( + "--lm-dir", + type=str, + default="data/lm", + help="""The LM dir. + It should contain either G_3_gram.pt or G_3_gram.fst.txt + """, + ) + return parser def get_params() -> AttributeDict: params = AttributeDict( { - "exp_dir": Path("conformer_ctc/exp"), - "lang_dir": Path("data/lang_char"), - "lm_dir": Path("data/lm"), # parameters for conformer "subsampling_factor": 4, "feature_dim": 80, @@ -146,6 +166,7 @@ def get_params() -> AttributeDict: "min_active_states": 30, "max_active_states": 10000, "use_double_scores": True, + "env_info": get_env_info(), } ) return params @@ -154,9 +175,10 @@ def get_params() -> AttributeDict: def decode_one_batch( params: AttributeDict, model: nn.Module, - HLG: k2.Fsa, + HLG: Optional[k2.Fsa], + H: Optional[k2.Fsa], batch: dict, - word_table: k2.SymbolTable, + lexicon: Lexicon, sos_id: int, eos_id: int, ) -> Dict[str, List[List[int]]]: @@ -183,13 +205,15 @@ def decode_one_batch( model: The neural model. HLG: - The decoding graph. + The decoding graph. Used when params.method is NOT ctc-decoding. + H: + The ctc topo. Used only when params.method is ctc-decoding. batch: It is the return value from iterating `lhotse.dataset.K2SpeechRecognitionDataset`. See its documentation for the format of the `batch`. - word_table: - The word symbol table. + lexicon: + It contains the token symbol table and the word symbol table. sos_id: The token ID of the SOS. eos_id: @@ -198,16 +222,20 @@ def decode_one_batch( Return the decoding result. See above description for the format of the returned dict. """ - device = HLG.device + if HLG is not None: + device = HLG.device + else: + device = H.device + feature = batch["inputs"] assert feature.ndim == 3 feature = feature.to(device) - # at entry, feature is [N, T, C] + # at entry, feature is (N, T, C) supervisions = batch["supervisions"] nnet_output, memory, memory_key_padding_mask = model(feature, supervisions) - # nnet_output is [N, T, C] + # nnet_output is (N, T, C) supervision_segments = torch.stack( ( @@ -218,9 +246,16 @@ def decode_one_batch( 1, ).to(torch.int32) + if H is None: + assert HLG is not None + decoding_graph = HLG + else: + assert HLG is None + decoding_graph = H + lattice = get_lattice( nnet_output=nnet_output, - HLG=HLG, + decoding_graph=decoding_graph, supervision_segments=supervision_segments, search_beam=params.search_beam, output_beam=params.output_beam, @@ -229,18 +264,37 @@ def decode_one_batch( subsampling_factor=params.subsampling_factor, ) + if params.method == "ctc-decoding": + best_path = one_best_decoding( + lattice=lattice, use_double_scores=params.use_double_scores + ) + # Note: `best_path.aux_labels` contains token IDs, not word IDs + # since we are using H, not HLG here. + # + # token_ids is a lit-of-list of IDs + token_ids = get_texts(best_path) + + key = "ctc-decoding" + hyps = [[lexicon.token_table[i] for i in ids] for ids in token_ids] + return {key: hyps} + if params.method == "nbest-oracle": # Note: You can also pass rescored lattices to it. # We choose the HLG decoded lattice for speed reasons # as HLG decoding is faster and the oracle WER - # is slightly worse than that of rescored lattices. - return nbest_oracle( + # is only slightly worse than that of rescored lattices. + best_path = nbest_oracle( lattice=lattice, num_paths=params.num_paths, ref_texts=supervisions["text"], - word_table=word_table, - scale=params.lattice_score_scale, + word_table=lexicon.word_table, + nbest_scale=params.nbest_scale, + oov="", ) + hyps = get_texts(best_path) + hyps = [[lexicon.word_table[i] for i in ids] for ids in hyps] + key = f"oracle_{params.num_paths}_nbest_scale_{params.nbest_scale}" # noqa + return {key: hyps} if params.method in ["1best", "nbest"]: if params.method == "1best": @@ -253,12 +307,12 @@ def decode_one_batch( lattice=lattice, num_paths=params.num_paths, use_double_scores=params.use_double_scores, - scale=params.lattice_score_scale, + nbest_scale=params.nbest_scale, ) - key = f"no_rescore-scale-{params.lattice_score_scale}-{params.num_paths}" # noqa + key = f"no_rescore-scale-{params.nbest_scale}-{params.num_paths}" # noqa hyps = get_texts(best_path) - hyps = [[word_table[i] for i in ids] for ids in hyps] + hyps = [[lexicon.word_table[i] for i in ids] for ids in hyps] return {key: hyps} assert params.method == "attention-decoder" @@ -271,13 +325,14 @@ def decode_one_batch( memory_key_padding_mask=memory_key_padding_mask, sos_id=sos_id, eos_id=eos_id, - scale=params.lattice_score_scale, + nbest_scale=params.nbest_scale, ) ans = dict() - for lm_scale_str, best_path in best_path_dict.items(): - hyps = get_texts(best_path) - hyps = [[word_table[i] for i in ids] for ids in hyps] - ans[lm_scale_str] = hyps + if best_path_dict is not None: + for lm_scale_str, best_path in best_path_dict.items(): + hyps = get_texts(best_path) + hyps = [[lexicon.word_table[i] for i in ids] for ids in hyps] + ans[lm_scale_str] = hyps return ans @@ -285,8 +340,9 @@ def decode_dataset( dl: torch.utils.data.DataLoader, params: AttributeDict, model: nn.Module, - HLG: k2.Fsa, - word_table: k2.SymbolTable, + HLG: Optional[k2.Fsa], + H: Optional[k2.Fsa], + lexicon: Lexicon, sos_id: int, eos_id: int, ) -> Dict[str, List[Tuple[List[int], List[int]]]]: @@ -300,9 +356,11 @@ def decode_dataset( model: The neural model. HLG: - The decoding graph. - word_table: - It is the word symbol table. + The decoding graph. Used when params.method is NOT ctc-decoding. + H: + The ctc topo. Used only when params.method is ctc-decoding. + lexicon: + It contains the token symbol table and the word symbol table. sos_id: The token ID for SOS. eos_id: @@ -331,14 +389,16 @@ def decode_dataset( params=params, model=model, HLG=HLG, + H=H, batch=batch, - word_table=word_table, + lexicon=lexicon, sos_id=sos_id, eos_id=eos_id, ) for lm_scale, hyps in hyps_dict.items(): this_batch = [] + assert len(hyps) == len(texts) for hyp_words, ref_text in zip(hyps, texts): ref_words = ref_text.split() this_batch.append((ref_words, hyp_words)) @@ -411,6 +471,9 @@ def main(): parser = get_parser() AishellAsrDataModule.add_arguments(parser) args = parser.parse_args() + args.exp_dir = Path(args.exp_dir) + args.lang_dir = Path(args.lang_dir) + args.lm_dir = Path(args.lm_dir) params = get_params() params.update(vars(args)) @@ -438,14 +501,22 @@ def main(): sos_id = graph_compiler.sos_id eos_id = graph_compiler.eos_id - HLG = k2.Fsa.from_dict( - torch.load(f"{params.lang_dir}/HLG.pt", map_location="cpu") - ) - HLG = HLG.to(device) - assert HLG.requires_grad is False + if params.method == "ctc-decoding": + HLG = None + H = k2.ctc_topo( + max_token=max_token_id, + modified=False, + device=device, + ) + else: + H = None + HLG = k2.Fsa.from_dict( + torch.load(f"{params.lang_dir}/HLG.pt", map_location=device) + ) + assert HLG.requires_grad is False - if not hasattr(HLG, "lm_scores"): - HLG.lm_scores = HLG.scores.clone() + if not hasattr(HLG, "lm_scores"): + HLG.lm_scores = HLG.scores.clone() model = Conformer( num_features=params.feature_dim, @@ -468,7 +539,8 @@ def main(): if start >= 0: filenames.append(f"{params.exp_dir}/epoch-{i}.pt") logging.info(f"averaging {filenames}") - model.load_state_dict(average_checkpoints(filenames)) + model.to(device) + model.load_state_dict(average_checkpoints(filenames, device=device)) if params.export: logging.info(f"Export averaged model to {params.exp_dir}/pretrained.pt") @@ -483,12 +555,7 @@ def main(): logging.info(f"Number of model parameters: {num_param}") aishell = AishellAsrDataModule(args) - # CAUTION: `test_sets` is for displaying only. - # If you want to skip test-clean, you have to skip - # it inside the for loop. That is, use - # - # if test_set == 'test-clean': continue - # + test_sets = ["test"] for test_set, test_dl in zip(test_sets, aishell.test_dataloaders()): results_dict = decode_dataset( @@ -496,7 +563,8 @@ def main(): params=params, model=model, HLG=HLG, - word_table=lexicon.word_table, + H=H, + lexicon=lexicon, sos_id=sos_id, eos_id=eos_id, ) diff --git a/egs/aishell/ASR/conformer_ctc/train.py b/egs/aishell/ASR/conformer_ctc/train.py index 3c54fc42a2..94367ed4ee 100755 --- a/egs/aishell/ASR/conformer_ctc/train.py +++ b/egs/aishell/ASR/conformer_ctc/train.py @@ -16,16 +16,14 @@ # See the License for the specific language governing permissions and # limitations under the License. - import argparse import logging from pathlib import Path from shutil import copyfile -from typing import Optional +from typing import Optional, Tuple import k2 import torch -import torch.distributed as dist import torch.multiprocessing as mp import torch.nn as nn from asr_datamodule import AishellAsrDataModule @@ -43,7 +41,9 @@ from icefall.lexicon import Lexicon from icefall.utils import ( AttributeDict, + MetricsTracker, encode_supervisions, + get_env_info, setup_logger, str2bool, ) @@ -78,7 +78,7 @@ def get_parser(): parser.add_argument( "--num-epochs", type=int, - default=50, + default=90, help="Number of epochs to train.", ) @@ -92,6 +92,35 @@ def get_parser(): """, ) + parser.add_argument( + "--exp-dir", + type=str, + default="conformer_ctc/exp", + help="""The experiment dir. + It specifies the directory where all training related + files, e.g., checkpoints, log, etc, are saved + """, + ) + + parser.add_argument( + "--lang-dir", + type=str, + default="data/lang_char", + help="""The lang dir + It contains language related input files such as + "lexicon.txt" + """, + ) + + parser.add_argument( + "--att-rate", + type=float, + default=0.7, + help="""The attention rate. + The total loss is (1 - att_rate) * ctc_loss + att_rate * att_loss + """, + ) + return parser @@ -99,19 +128,13 @@ def get_params() -> AttributeDict: """Return a dict containing training parameters. All training related parameters that are not passed from the commandline - is saved in the variable `params`. + are saved in the variable `params`. Commandline options are merged into `params` after they are parsed, so you can also access them via `params`. Explanation of options saved in `params`: - - exp_dir: It specifies the directory where all training related - files, e.g., checkpoints, log, etc, are saved - - - lang_dir: It contains language related input files such as - "lexicon.txt" - - best_valid_loss: Best validation loss so far. It is used to select the model that has the lowest validation loss. It is updated during the training. @@ -136,9 +159,6 @@ def get_params() -> AttributeDict: - use_double_scores: It is used in k2.ctc_loss - - att_rate: The proportion of label smoothing loss, final loss will be - (1 - att_rate) * ctc_loss + att_rate * label_smoothing_loss - - subsampling_factor: The subsampling factor for the model. - feature_dim: The model input dim. It has to match the one used @@ -163,8 +183,6 @@ def get_params() -> AttributeDict: """ params = AttributeDict( { - "exp_dir": Path("conformer_ctc/exp"), - "lang_dir": Path("data/lang_char"), "best_train_loss": float("inf"), "best_valid_loss": float("inf"), "best_train_epoch": -1, @@ -177,7 +195,6 @@ def get_params() -> AttributeDict: "beam_size": 10, "reduction": "sum", "use_double_scores": True, - "att_rate": 0.7, # parameters for conformer "subsampling_factor": 4, "feature_dim": 80, @@ -190,6 +207,7 @@ def get_params() -> AttributeDict: "weight_decay": 1e-5, "lr_factor": 5.0, "warm_step": 36000, + "env_info": get_env_info(), } ) @@ -289,7 +307,7 @@ def compute_loss( batch: dict, graph_compiler: CharCtcTrainingGraphCompiler, is_training: bool, -): +) -> Tuple[torch.Tensor, MetricsTracker]: """ Compute CTC loss given the model and its inputs. @@ -312,14 +330,14 @@ def compute_loss( """ device = graph_compiler.device feature = batch["inputs"] - # at entry, feature is [N, T, C] + # at entry, feature is (N, T, C) assert feature.ndim == 3 feature = feature.to(device) supervisions = batch["supervisions"] with torch.set_grad_enabled(is_training): nnet_output, encoder_memory, memory_mask = model(feature, supervisions) - # nnet_output is [N, T, C] + # nnet_output is (N, T, C) # NOTE: We need `encode_supervisions` to sort sequences with # different duration in decreasing order, required by @@ -348,36 +366,41 @@ def compute_loss( if params.att_rate != 0.0: with torch.set_grad_enabled(is_training): - if hasattr(model, "module"): - att_loss = model.module.decoder_forward( - encoder_memory, - memory_mask, - token_ids=token_ids, - sos_id=graph_compiler.sos_id, - eos_id=graph_compiler.eos_id, - ) - else: - att_loss = model.decoder_forward( - encoder_memory, - memory_mask, - token_ids=token_ids, - sos_id=graph_compiler.sos_id, - eos_id=graph_compiler.eos_id, - ) + mmodel = model.module if hasattr(model, "module") else model + # Note: We need to generate an unsorted version of token_ids + # `encode_supervisions()` called above sorts text, but + # encoder_memory and memory_mask are not sorted, so we + # use an unsorted version `supervisions["text"]` to regenerate + # the token_ids + # + # See https://github.com/k2-fsa/icefall/issues/97 + # for more details + unsorted_token_ids = graph_compiler.texts_to_ids( + supervisions["text"] + ) + att_loss = mmodel.decoder_forward( + encoder_memory, + memory_mask, + token_ids=unsorted_token_ids, + sos_id=graph_compiler.sos_id, + eos_id=graph_compiler.eos_id, + ) loss = (1.0 - params.att_rate) * ctc_loss + params.att_rate * att_loss else: loss = ctc_loss att_loss = torch.tensor([0]) - # train_frames and valid_frames are used for printing. - if is_training: - params.train_frames = supervision_segments[:, 2].sum().item() - else: - params.valid_frames = supervision_segments[:, 2].sum().item() - assert loss.requires_grad == is_training - return loss, ctc_loss.detach(), att_loss.detach() + info = MetricsTracker() + info["frames"] = supervision_segments[:, 2].sum().item() + info["ctc_loss"] = ctc_loss.detach().cpu().item() + if params.att_rate != 0.0: + info["att_loss"] = att_loss.detach().cpu().item() + + info["loss"] = loss.detach().cpu().item() + + return loss, info def compute_validation_loss( @@ -386,18 +409,16 @@ def compute_validation_loss( graph_compiler: CharCtcTrainingGraphCompiler, valid_dl: torch.utils.data.DataLoader, world_size: int = 1, -) -> None: +) -> MetricsTracker: """Run the validation process. The validation loss is saved in `params.valid_loss`. """ model.eval() - tot_loss = 0.0 - tot_ctc_loss = 0.0 - tot_att_loss = 0.0 - tot_frames = 0.0 + tot_loss = MetricsTracker() + for batch_idx, batch in enumerate(valid_dl): - loss, ctc_loss, att_loss = compute_loss( + loss, loss_info = compute_loss( params=params, model=model, batch=batch, @@ -405,36 +426,17 @@ def compute_validation_loss( is_training=False, ) assert loss.requires_grad is False - assert ctc_loss.requires_grad is False - assert att_loss.requires_grad is False - - loss_cpu = loss.detach().cpu().item() - tot_loss += loss_cpu - - tot_ctc_loss += ctc_loss.detach().cpu().item() - tot_att_loss += att_loss.detach().cpu().item() - - tot_frames += params.valid_frames + tot_loss = tot_loss + loss_info if world_size > 1: - s = torch.tensor( - [tot_loss, tot_ctc_loss, tot_att_loss, tot_frames], - device=loss.device, - ) - dist.all_reduce(s, op=dist.ReduceOp.SUM) - s = s.cpu().tolist() - tot_loss = s[0] - tot_ctc_loss = s[1] - tot_att_loss = s[2] - tot_frames = s[3] - - params.valid_loss = tot_loss / tot_frames - params.valid_ctc_loss = tot_ctc_loss / tot_frames - params.valid_att_loss = tot_att_loss / tot_frames - - if params.valid_loss < params.best_valid_loss: + tot_loss.reduce(loss.device) + + loss_value = tot_loss["loss"] / tot_loss["frames"] + if loss_value < params.best_valid_loss: params.best_valid_epoch = params.cur_epoch - params.best_valid_loss = params.valid_loss + params.best_valid_loss = loss_value + + return tot_loss def train_one_epoch( @@ -473,18 +475,13 @@ def train_one_epoch( """ model.train() - tot_loss = 0.0 # sum of losses over all batches - tot_ctc_loss = 0.0 - tot_att_loss = 0.0 + tot_loss = MetricsTracker() - tot_frames = 0.0 # sum of frames over all batches - params.tot_loss = 0.0 - params.tot_frames = 0.0 for batch_idx, batch in enumerate(train_dl): params.batch_idx_train += 1 batch_size = len(batch["supervisions"]["text"]) - loss, ctc_loss, att_loss = compute_loss( + loss, loss_info = compute_loss( params=params, model=model, batch=batch, @@ -492,6 +489,9 @@ def train_one_epoch( is_training=True, ) + # summary stats + tot_loss = (tot_loss * (1 - 1 / params.reset_interval)) + loss_info + # NOTE: We use reduction==sum and loss is computed over utterances # in the batch and there is no normalization to it so far. @@ -500,75 +500,26 @@ def train_one_epoch( clip_grad_norm_(model.parameters(), 5.0, 2.0) optimizer.step() - loss_cpu = loss.detach().cpu().item() - ctc_loss_cpu = ctc_loss.detach().cpu().item() - att_loss_cpu = att_loss.detach().cpu().item() - - tot_frames += params.train_frames - tot_loss += loss_cpu - tot_ctc_loss += ctc_loss_cpu - tot_att_loss += att_loss_cpu - - params.tot_frames += params.train_frames - params.tot_loss += loss_cpu - - tot_avg_loss = tot_loss / tot_frames - tot_avg_ctc_loss = tot_ctc_loss / tot_frames - tot_avg_att_loss = tot_att_loss / tot_frames - if batch_idx % params.log_interval == 0: logging.info( - f"Epoch {params.cur_epoch}, batch {batch_idx}, " - f"batch avg ctc loss {ctc_loss_cpu/params.train_frames:.4f}, " - f"batch avg att loss {att_loss_cpu/params.train_frames:.4f}, " - f"batch avg loss {loss_cpu/params.train_frames:.4f}, " - f"total avg ctc loss: {tot_avg_ctc_loss:.4f}, " - f"total avg att loss: {tot_avg_att_loss:.4f}, " - f"total avg loss: {tot_avg_loss:.4f}, " - f"batch size: {batch_size}" + f"Epoch {params.cur_epoch}, " + f"batch {batch_idx}, loss[{loss_info}], " + f"tot_loss[{tot_loss}], batch size: {batch_size}" ) - if tb_writer is not None: - tb_writer.add_scalar( - "train/current_ctc_loss", - ctc_loss_cpu / params.train_frames, - params.batch_idx_train, - ) - tb_writer.add_scalar( - "train/current_att_loss", - att_loss_cpu / params.train_frames, - params.batch_idx_train, - ) - tb_writer.add_scalar( - "train/current_loss", - loss_cpu / params.train_frames, - params.batch_idx_train, - ) - tb_writer.add_scalar( - "train/tot_avg_ctc_loss", - tot_avg_ctc_loss, - params.batch_idx_train, - ) + if batch_idx % params.log_interval == 0: - tb_writer.add_scalar( - "train/tot_avg_att_loss", - tot_avg_att_loss, - params.batch_idx_train, + if tb_writer is not None: + loss_info.write_summary( + tb_writer, "train/current_", params.batch_idx_train ) - tb_writer.add_scalar( - "train/tot_avg_loss", - tot_avg_loss, - params.batch_idx_train, + tot_loss.write_summary( + tb_writer, "train/tot_", params.batch_idx_train ) - if batch_idx > 0 and batch_idx % params.reset_interval == 0: - tot_loss = 0.0 # sum of losses over all batches - tot_ctc_loss = 0.0 - tot_att_loss = 0.0 - - tot_frames = 0.0 # sum of frames over all batches if batch_idx > 0 and batch_idx % params.valid_interval == 0: - compute_validation_loss( + logging.info("Computing validation loss") + valid_info = compute_validation_loss( params=params, model=model, graph_compiler=graph_compiler, @@ -576,33 +527,14 @@ def train_one_epoch( world_size=world_size, ) model.train() - logging.info( - f"Epoch {params.cur_epoch}, " - f"valid ctc loss {params.valid_ctc_loss:.4f}," - f"valid att loss {params.valid_att_loss:.4f}," - f"valid loss {params.valid_loss:.4f}," - f" best valid loss: {params.best_valid_loss:.4f} " - f"best valid epoch: {params.best_valid_epoch}" - ) + logging.info(f"Epoch {params.cur_epoch}, validation: {valid_info}") if tb_writer is not None: - tb_writer.add_scalar( - "train/valid_ctc_loss", - params.valid_ctc_loss, - params.batch_idx_train, - ) - tb_writer.add_scalar( - "train/valid_att_loss", - params.valid_att_loss, - params.batch_idx_train, + valid_info.write_summary( + tb_writer, "train/valid_", params.batch_idx_train ) - tb_writer.add_scalar( - "train/valid_loss", - params.valid_loss, - params.batch_idx_train, - ) - - params.train_loss = params.tot_loss / params.tot_frames + loss_value = tot_loss["loss"] / tot_loss["frames"] + params.train_loss = loss_value if params.train_loss < params.best_train_loss: params.best_train_epoch = params.cur_epoch params.best_train_loss = params.train_loss @@ -729,7 +661,8 @@ def main(): parser = get_parser() AishellAsrDataModule.add_arguments(parser) args = parser.parse_args() - + args.exp_dir = Path(args.exp_dir) + args.lang_dir = Path(args.lang_dir) world_size = args.world_size assert world_size >= 1 From cbc5557c8768615d7bf8c8e0b895f4de93f4cda7 Mon Sep 17 00:00:00 2001 From: pkufool Date: Tue, 16 Nov 2021 12:32:51 +0800 Subject: [PATCH 05/12] Update docs, pretrained.py & results --- docs/source/recipes/aishell/conformer_ctc.rst | 30 ++-- .../aishell-conformer-ctc-tensorboard-log.jpg | Bin 557274 -> 315797 bytes egs/aishell/ASR/RESULTS.md | 24 +-- egs/aishell/ASR/conformer_ctc/decode.py | 2 + egs/aishell/ASR/conformer_ctc/pretrained.py | 142 ++++++++++++------ .../ASR/local/compute_fbank_aishell.py | 4 +- egs/aishell/ASR/local/compute_fbank_musan.py | 5 +- egs/aishell/ASR/prepare.sh | 5 +- 8 files changed, 135 insertions(+), 77 deletions(-) diff --git a/docs/source/recipes/aishell/conformer_ctc.rst b/docs/source/recipes/aishell/conformer_ctc.rst index 96ede5b68f..d225be9c68 100644 --- a/docs/source/recipes/aishell/conformer_ctc.rst +++ b/docs/source/recipes/aishell/conformer_ctc.rst @@ -97,13 +97,17 @@ Configurable options shows you the training options that can be passed from the commandline. The following options are used quite often: + - ``--exp-dir`` + + The experiment folder to save logs and model checkpoints, + default ``./conformer_ctc/exp``. - ``--num-epochs`` It is the number of epochs to train. For instance, ``./conformer_ctc/train.py --num-epochs 30`` trains for 30 epochs and generates ``epoch-0.pt``, ``epoch-1.pt``, ..., ``epoch-29.pt`` - in the folder ``./conformer_ctc/exp``. + in the folder set with ``--exp-dir``. - ``--start-epoch`` @@ -174,7 +178,7 @@ Pre-configured options ~~~~~~~~~~~~~~~~~~~~~~ There are some training options, e.g., weight decay, -number of warmup steps, results dir, etc, +number of warmup steps, etc, that are not passed from the commandline. They are pre-configured by the function ``get_params()`` in `conformer_ctc/train.py `_ @@ -192,8 +196,8 @@ them, please modify ``./conformer_ctc/train.py`` directly. Training logs ~~~~~~~~~~~~~ -Training logs and checkpoints are saved in ``conformer_ctc/exp``. -You will find the following files in that directory: +Training logs and checkpoints are saved in the folder set by ``--exp-dir`` +(default ``conformer_ctc/exp``). You will find the following files in that directory: - ``epoch-0.pt``, ``epoch-1.pt``, ... @@ -223,10 +227,10 @@ You will find the following files in that directory: To stop uploading, press Ctrl-C. - New experiment created. View your TensorBoard at: https://tensorboard.dev/experiment/qvNrx6JIQAaN5Ly3uQotrg/ + New experiment created. View your TensorBoard at: https://tensorboard.dev/experiment/WE1DocDqRRCOSAgmGyClhg/ - [2021-09-12T16:41:16] Started scanning logdir. - [2021-09-12T16:42:17] Total uploaded: 125346 scalars, 0 tensors, 0 binary objects + [2021-11-16T10:51:46] Started scanning logdir. + [2021-11-16T10:52:32] Total uploaded: 111606 scalars, 0 tensors, 0 binary objects Listening for new data in logdir... Note there is a URL in the above output, click it and you will see @@ -236,7 +240,7 @@ You will find the following files in that directory: :width: 600 :alt: TensorBoard screenshot :align: center - :target: https://tensorboard.dev/experiment/qvNrx6JIQAaN5Ly3uQotrg/ + :target: https://tensorboard.dev/experiment/WE1DocDqRRCOSAgmGyClhg/ TensorBoard screenshot. @@ -307,9 +311,9 @@ The commonly used options are: .. code-block:: $ cd egs/aishell/ASR - $ ./conformer_ctc/decode.py --method attention-decoder --max-duration 30 --lattice-score-scale 0.5 + $ ./conformer_ctc/decode.py --method attention-decoder --max-duration 30 --nbest-scale 0.5 - - ``--lattice-score-scale`` + - ``--nbest-scale`` It is used to scale down lattice scores so that there are more unique paths for rescoring. @@ -403,7 +407,7 @@ After downloading, you will have the following files: - ``exp/pretrained.pt`` It contains pre-trained model parameters, obtained by averaging - checkpoints from ``epoch-18.pt`` to ``epoch-40.pt``. + checkpoints from ``epoch-25.pt`` to ``epoch-84.pt``. Note: We have removed optimizer ``state_dict`` to reduce file size. - ``test_waves/*.wav`` @@ -483,7 +487,7 @@ The command to run HLG decoding is: --method 1best \ ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0121.wav \ ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0122.wav \ - ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0123.wav + ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0123.wav The output is given below: @@ -527,7 +531,7 @@ The command to run HLG decoding + attention decoder rescoring is: --method attention-decoder \ ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0121.wav \ ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0122.wav \ - ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0123.wav + ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0123.wav The output is below: diff --git a/docs/source/recipes/aishell/images/aishell-conformer-ctc-tensorboard-log.jpg b/docs/source/recipes/aishell/images/aishell-conformer-ctc-tensorboard-log.jpg index 47f7d18a769964a632102f93e685e1ce304654d0..7ea2e83698edae33a347d6e45ec73cffbd421af6 100644 GIT binary patch literal 315797 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

Y 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�xkB?Dsg15Cx5}Neei@(j zKe)fu<@rBBTi~J&#>sy`U3&8m%m1}P`P!FOtatvM3|wYl4;+VVH17Vb51hHNTl`)5 zZ2d#DB*+dl$^l^%Q0roZP6JqqY`S*s+Ob>K)*3>sdod|^41Ull6)qCO|-Kg07c`#-1^)~7z) z|NKhblgjldsn7vrj0}=7RiPpXUGmUWDG+t*){Wcl>8V`Nw+}5;?la}+SiB%qhQXHA z-&OSaw%fa{gSK@5hxD9j+Tq19(_;VsD&Z0iSIIXju0hY*Xt3JF{2z2X^`7tlgg04a z%S^ofeg5BG`498zFZcg*1+It8V7{7{I3PDB@qAbSc5HB*XR2`{Ow;J2etAEYCJB;CBLBd;V7;s2w+I>u3m%rl!%HGg?XrkCup|bPZ8wd!5l36$ xqdkt%-qmPNav1lT-~aG^R+qdv!1jsye}>e>|Af8g|NP?r`weg?l%f9rO#t;n-U9#t literal 557274 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 z

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%0D=c=4rIz) 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 z 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 diff --git a/egs/aishell/ASR/RESULTS.md b/egs/aishell/ASR/RESULTS.md index 5cbe5d213b..7b9650ae11 100644 --- a/egs/aishell/ASR/RESULTS.md +++ b/egs/aishell/ASR/RESULTS.md @@ -1,16 +1,16 @@ ## Results ### Aishell training results (Conformer-CTC) -#### 2021-09-13 +#### 2021-11-16 (Wei Kang): Result of https://github.com/k2-fsa/icefall/pull/30 Pretrained model is available at https://huggingface.co/pkufool/icefall_asr_aishell_conformer_ctc -The best decoding results (CER) are listed below, we got this results by averaging models from epoch 23 to 40, and using `attention-decoder` decoder with num_paths equals to 100. +The best decoding results (CER) are listed below, we got this results by averaging models from epoch 25 to 84, and using `attention-decoder` decoder with num_paths equals to 100. ||test| |--|--| -|CER| 4.74% | +|CER| 4.26% | To get more unique paths, we scaled the lattice.scores with 0.5 (see https://github.com/k2-fsa/icefall/pull/10#discussion_r690951662 for more details), we searched the lm_score_scale and attention_score_scale for best results, the scales that produced the CER above are also listed below. @@ -27,17 +27,18 @@ cd icefall cd egs/aishell/ASR ./prepare.sh -export CUDA_VISIBLE_DEVICES="0,1" -python conformer_ctc/train.py --bucketing-sampler False \ - --concatenate-cuts False \ +export CUDA_VISIBLE_DEVICES="0,1,2,3" +python conformer_ctc/train.py --bucketing-sampler True \ --max-duration 200 \ - --world-size 2 + --start-epoch 0 \ + --num-epoch 90 \ + --world-size 4 -python conformer_ctc/decode.py --lattice-score-scale 0.5 \ - --epoch 40 \ - --avg 18 \ +python conformer_ctc/decode.py --nbest-scale 0.5 \ + --epoch 84 \ + --avg 25 \ --method attention-decoder \ - --max-duration 50 \ + --max-duration 20 \ --num-paths 100 ``` @@ -53,4 +54,3 @@ The best decoding results (CER) are listed below, we got this results by averagi ||test| |--|--| |CER| 10.16% | - diff --git a/egs/aishell/ASR/conformer_ctc/decode.py b/egs/aishell/ASR/conformer_ctc/decode.py index ee2f31483f..58ce39cca7 100755 --- a/egs/aishell/ASR/conformer_ctc/decode.py +++ b/egs/aishell/ASR/conformer_ctc/decode.py @@ -77,6 +77,8 @@ def get_parser(): default="attention-decoder", help="""Decoding method. Supported values are: + - (0) ctc-decoding. Use CTC decoding. It maps the tokens ids to + tokens using token symbol tabel directly. - (1) 1best. Extract the best path from the decoding lattice as the decoding result. - (2) nbest. Extract n paths from the decoding lattice; the path diff --git a/egs/aishell/ASR/conformer_ctc/pretrained.py b/egs/aishell/ASR/conformer_ctc/pretrained.py index 846681f007..4459c10c68 100755 --- a/egs/aishell/ASR/conformer_ctc/pretrained.py +++ b/egs/aishell/ASR/conformer_ctc/pretrained.py @@ -34,7 +34,7 @@ one_best_decoding, rescore_with_attention_decoder, ) -from icefall.utils import AttributeDict, get_texts +from icefall.utils import AttributeDict, get_env_info, get_texts def get_parser(): @@ -51,15 +51,22 @@ def get_parser(): "icefall.checkpoint.save_checkpoint().", ) + parser.add_argument( + "--tokens-file", + type=str, + help="Path to tokens.txt" "Used only when method is ctc-decoding", + ) + parser.add_argument( "--words-file", type=str, - required=True, - help="Path to words.txt", + help="Path to words.txt" "Used when method is NOT ctc-decoding", ) parser.add_argument( - "--HLG", type=str, required=True, help="Path to HLG.pt." + "--HLG", + type=str, + help="Path to HLG.pt." "Used when method is NOT ctc-decoding", ) parser.add_argument( @@ -68,6 +75,8 @@ def get_parser(): default="1best", help="""Decoding method. Possible values are: + (0) ctc-decoding - Use ctc decoding. It maps the tokens ids to tokens + using the token symbol table directly. (1) 1best - Use the best path as decoding output. Only the transformer encoder output is used for decoding. We call it HLG decoding. @@ -111,7 +120,7 @@ def get_parser(): ) parser.add_argument( - "--lattice-score-scale", + "--nbest-scale", type=float, default=0.5, help=""" @@ -125,7 +134,7 @@ def get_parser(): parser.add_argument( "--sos-id", - type=float, + type=int, default=1, help=""" Used only when method is attention-decoder. @@ -135,7 +144,7 @@ def get_parser(): parser.add_argument( "--eos-id", - type=float, + type=int, default=1, help=""" Used only when method is attention-decoder. @@ -143,6 +152,13 @@ def get_parser(): """, ) + parser.add_argument( + "--num_classes", + type=int, + default=4336, + help="The Vocab size.", + ) + parser.add_argument( "sound_files", type=str, @@ -160,7 +176,6 @@ def get_params() -> AttributeDict: params = AttributeDict( { "sample_rate": 16000, - "num_classes": 4336, # parameters for conformer "subsampling_factor": 4, "feature_dim": 80, @@ -175,6 +190,7 @@ def get_params() -> AttributeDict: "min_active_states": 30, "max_active_states": 10000, "use_double_scores": True, + "env_info": get_env_info(), } ) return params @@ -212,6 +228,11 @@ def main(): params.update(vars(args)) logging.info(f"{params}") + if args.method != "attention-decoder": + # to save memory as the attention decoder + # will not be used + params.num_decoder_layers = 0 + device = torch.device("cpu") if torch.cuda.is_available(): device = torch.device("cuda", 0) @@ -231,17 +252,10 @@ def main(): ) checkpoint = torch.load(args.checkpoint, map_location="cpu") - model.load_state_dict(checkpoint["model"]) + model.load_state_dict(checkpoint["model"], strict=False) model.to(device) model.eval() - logging.info(f"Loading HLG from {params.HLG}") - HLG = k2.Fsa.from_dict(torch.load(params.HLG, map_location="cpu")) - HLG = HLG.to(device) - if not hasattr(HLG, "lm_scores"): - # For whole-lattice-rescoring and attention-decoder - HLG.lm_scores = HLG.scores.clone() - logging.info("Constructing Fbank computer") opts = kaldifeat.FbankOptions() opts.device = device @@ -275,41 +289,79 @@ def main(): dtype=torch.int32, ) - lattice = get_lattice( - nnet_output=nnet_output, - HLG=HLG, - supervision_segments=supervision_segments, - search_beam=params.search_beam, - output_beam=params.output_beam, - min_active_states=params.min_active_states, - max_active_states=params.max_active_states, - subsampling_factor=params.subsampling_factor, - ) + if params.method == "ctc-decoding": + logging.info("Use CTC decoding") + token_sym_table = k2.SymbolTable.from_file(params.tokens_file) + max_token_id = params.num_classes - 1 + + H = k2.ctc_topo( + max_token=max_token_id, + modified=False, + device=device, + ) + + lattice = get_lattice( + nnet_output=nnet_output, + decoding_graph=H, + supervision_segments=supervision_segments, + search_beam=params.search_beam, + output_beam=params.output_beam, + min_active_states=params.min_active_states, + max_active_states=params.max_active_states, + subsampling_factor=params.subsampling_factor, + ) - if params.method == "1best": - logging.info("Use HLG decoding") best_path = one_best_decoding( lattice=lattice, use_double_scores=params.use_double_scores ) - elif params.method == "attention-decoder": - logging.info("Use HLG + attention decoder rescoring") - best_path_dict = rescore_with_attention_decoder( - lattice=lattice, - num_paths=params.num_paths, - model=model, - memory=memory, - memory_key_padding_mask=memory_key_padding_mask, - sos_id=params.sos_id, - eos_id=params.eos_id, - scale=params.lattice_score_scale, - ngram_lm_scale=params.ngram_lm_scale, - attention_scale=params.attention_decoder_scale, + token_ids = get_texts(best_path) + hyps = [[token_sym_table[i] for i in ids] for ids in token_ids] + hyps = [s.split() for s in hyps] + elif params.method in ["1best", "attention-decoder"]: + logging.info(f"Loading HLG from {params.HLG}") + HLG = k2.Fsa.from_dict(torch.load(params.HLG, map_location="cpu")) + HLG = HLG.to(device) + if not hasattr(HLG, "lm_scores"): + # For whole-lattice-rescoring and attention-decoder + HLG.lm_scores = HLG.scores.clone() + + lattice = get_lattice( + nnet_output=nnet_output, + HLG=HLG, + supervision_segments=supervision_segments, + search_beam=params.search_beam, + output_beam=params.output_beam, + min_active_states=params.min_active_states, + max_active_states=params.max_active_states, + subsampling_factor=params.subsampling_factor, ) - best_path = next(iter(best_path_dict.values())) - hyps = get_texts(best_path) - word_sym_table = k2.SymbolTable.from_file(params.words_file) - hyps = [[word_sym_table[i] for i in ids] for ids in hyps] + if params.method == "1best": + logging.info("Use HLG decoding") + best_path = one_best_decoding( + lattice=lattice, use_double_scores=params.use_double_scores + ) + elif params.method == "attention-decoder": + logging.info("Use HLG + attention decoder rescoring") + best_path_dict = rescore_with_attention_decoder( + lattice=lattice, + num_paths=params.num_paths, + model=model, + memory=memory, + memory_key_padding_mask=memory_key_padding_mask, + sos_id=params.sos_id, + eos_id=params.eos_id, + scale=params.lattice_score_scale, + ngram_lm_scale=params.ngram_lm_scale, + attention_scale=params.attention_decoder_scale, + ) + best_path = next(iter(best_path_dict.values())) + + hyps = get_texts(best_path) + word_sym_table = k2.SymbolTable.from_file(params.words_file) + hyps = [[word_sym_table[i] for i in ids] for ids in hyps] + else: + raise ValueError(f"Unsupported decoding method: {params.method}") s = "\n" for filename, hyp in zip(params.sound_files, hyps): diff --git a/egs/aishell/ASR/local/compute_fbank_aishell.py b/egs/aishell/ASR/local/compute_fbank_aishell.py index 77293f7729..b3b9e7681a 100755 --- a/egs/aishell/ASR/local/compute_fbank_aishell.py +++ b/egs/aishell/ASR/local/compute_fbank_aishell.py @@ -23,6 +23,7 @@ The generated fbank features are saved in data/fbank. """ +import argparse import logging import os from pathlib import Path @@ -43,7 +44,7 @@ def compute_fbank_aishell(num_mel_bins: int = 80): src_dir = Path("data/manifests") - output_dir = Path("data/fbank40") + output_dir = Path("data/fbank") num_jobs = min(15, os.cpu_count()) dataset_parts = ( @@ -106,4 +107,3 @@ def get_args(): args = get_args() compute_fbank_aishell(num_mel_bins=args.num_mel_bins) - diff --git a/egs/aishell/ASR/local/compute_fbank_musan.py b/egs/aishell/ASR/local/compute_fbank_musan.py index 0b97fb8c53..e79bdafb11 100755 --- a/egs/aishell/ASR/local/compute_fbank_musan.py +++ b/egs/aishell/ASR/local/compute_fbank_musan.py @@ -23,6 +23,7 @@ The generated fbank features are saved in data/fbank. """ +import argparse import logging import os from pathlib import Path @@ -43,7 +44,7 @@ def compute_fbank_musan(num_mel_bins: int = 80): src_dir = Path("data/manifests") - output_dir = Path("data/fbank40") + output_dir = Path("data/fbank") num_jobs = min(15, os.cpu_count()) dataset_parts = ( @@ -86,6 +87,7 @@ def compute_fbank_musan(num_mel_bins: int = 80): ) musan_cuts.to_json(musan_cuts_path) + def get_args(): parser = argparse.ArgumentParser() parser.add_argument( @@ -106,4 +108,3 @@ def get_args(): logging.basicConfig(format=formatter, level=logging.INFO) args = get_args() compute_fbank_musan(num_mel_bins=args.num_mel_bins) - diff --git a/egs/aishell/ASR/prepare.sh b/egs/aishell/ASR/prepare.sh index f70e89c65f..584e50cb0c 100755 --- a/egs/aishell/ASR/prepare.sh +++ b/egs/aishell/ASR/prepare.sh @@ -69,7 +69,7 @@ if [ $stage -le 0 ] && [ $stop_stage -ge 0 ]; then # |-- lexicon.txt # `-- speaker.info - if [ ! -d $dl_dir/aishell/wav ]; then + if [ ! -d $dl_dir/aishell/data_aishell/wav ]; then lhotse download aishell $dl_dir fi @@ -133,7 +133,7 @@ if [ $stage -le 6 ] && [ $stop_stage -ge 6 ]; then cat $dl_dir/aishell/data_aishell/transcript/aishell_transcript_v0.8.txt | cut -d " " -f 2- | sed -e 's/[ \t\r\n]*//g' > data/lang_char/text - + if [ ! -f data/lang_char/L_disambig.pt ]; then ./local/prepare_char.py fi @@ -160,4 +160,3 @@ if [ $stage -le 8 ] && [ $stop_stage -ge 8 ]; then ./local/compile_hlg.py --lang-dir data/lang_phone ./local/compile_hlg.py --lang-dir data/lang_char fi - From ebf142cb9815d3bf046f72a5003bdf63e07c8760 Mon Sep 17 00:00:00 2001 From: pkufool Date: Wed, 17 Nov 2021 19:02:44 +0800 Subject: [PATCH 06/12] Fix code style --- .flake8 | 1 + docs/source/recipes/aishell/conformer_ctc.rst | 2 +- egs/aishell/ASR/conformer_ctc/conformer.py | 2 -- egs/aishell/ASR/local/prepare_char.py | 19 ++++++++++--------- icefall/char_graph_compiler.py | 11 ++++++----- 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/.flake8 b/.flake8 index b8f0e4715d..19c3a9bd6b 100644 --- a/.flake8 +++ b/.flake8 @@ -5,6 +5,7 @@ max-line-length = 80 per-file-ignores = # line too long egs/librispeech/ASR/*/conformer.py: E501, + egs/aishell/ASR/*/conformer.py: E501, exclude = .git, diff --git a/docs/source/recipes/aishell/conformer_ctc.rst b/docs/source/recipes/aishell/conformer_ctc.rst index d225be9c68..59741833ca 100644 --- a/docs/source/recipes/aishell/conformer_ctc.rst +++ b/docs/source/recipes/aishell/conformer_ctc.rst @@ -107,7 +107,7 @@ The following options are used quite often: It is the number of epochs to train. For instance, ``./conformer_ctc/train.py --num-epochs 30`` trains for 30 epochs and generates ``epoch-0.pt``, ``epoch-1.pt``, ..., ``epoch-29.pt`` - in the folder set with ``--exp-dir``. + in the folder set by ``--exp-dir``. - ``--start-epoch`` diff --git a/egs/aishell/ASR/conformer_ctc/conformer.py b/egs/aishell/ASR/conformer_ctc/conformer.py index 5b136f40e1..7bd0f95cf8 100644 --- a/egs/aishell/ASR/conformer_ctc/conformer.py +++ b/egs/aishell/ASR/conformer_ctc/conformer.py @@ -453,7 +453,6 @@ def __init__( self._reset_parameters() - def _reset_parameters(self) -> None: nn.init.xavier_uniform_(self.in_proj.weight) nn.init.constant_(self.in_proj.bias, 0.0) @@ -683,7 +682,6 @@ def multi_head_attention_forward( _b = _b[_start:] v = nn.functional.linear(value, _w, _b) - if attn_mask is not None: assert ( attn_mask.dtype == torch.float32 diff --git a/egs/aishell/ASR/local/prepare_char.py b/egs/aishell/ASR/local/prepare_char.py index 5b4ec323d4..d9e47d17a3 100755 --- a/egs/aishell/ASR/local/prepare_char.py +++ b/egs/aishell/ASR/local/prepare_char.py @@ -33,10 +33,9 @@ - tokens.txt """ -import argparse import re from pathlib import Path -from typing import Dict, List, Tuple +from typing import Dict, List import k2 import torch @@ -87,7 +86,9 @@ def lexicon_to_fst_no_sil( cur_state = loop_state word = word2id[word] - pieces = [token2id[i] if i in token2id else token2id[''] for i in pieces] + pieces = [ + token2id[i] if i in token2id else token2id[""] for i in pieces + ] for i in range(len(pieces) - 1): w = word if i == 0 else eps @@ -136,7 +137,7 @@ def contain_oov(token_sym_table: Dict[str, int], tokens: List[str]) -> bool: otherwise False. """ for tok in tokens: - if not tok in token_sym_table: + if tok not in token_sym_table: return True return False @@ -178,18 +179,18 @@ def generate_tokens(text_file: str) -> Dict[str, int]: from 0 to len(keys) - 1. """ tokens: Dict[str, int] = dict() - tokens[''] = 0 - tokens[''] = 1 - tokens[''] = 2 + tokens[""] = 0 + tokens[""] = 1 + tokens[""] = 2 whitespace = re.compile(r"([ \t\r\n]+)") with open(text_file, "r", encoding="utf-8") as f: for line in f: line = re.sub(whitespace, "", line) chars = list(line) for char in chars: - if not char in tokens: + if char not in tokens: tokens[char] = len(tokens) - return tokens + return tokens def main(): diff --git a/icefall/char_graph_compiler.py b/icefall/char_graph_compiler.py index 9ce948f7c6..4a79a300a4 100644 --- a/icefall/char_graph_compiler.py +++ b/icefall/char_graph_compiler.py @@ -54,7 +54,6 @@ def __init__( self.sos_id = self.token_table[sos_token] self.eos_id = self.token_table[eos_token] - def texts_to_ids(self, texts: List[str]) -> List[List[int]]: """Convert a list of texts to a list-of-list of token IDs. @@ -71,12 +70,15 @@ def texts_to_ids(self, texts: List[str]) -> List[List[int]]: whitespace = re.compile(r"([ \t])") for text in texts: text = re.sub(whitespace, "", text) - sub_ids = [self.token_table[txt] if txt in self.token_table \ - else self.oov_id for txt in text] + sub_ids = [ + self.token_table[txt] + if txt in self.token_table + else self.oov_id + for txt in text + ] ids.append(sub_ids) return ids - def compile( self, token_ids: List[List[int]], @@ -95,4 +97,3 @@ def compile( piece IDs. """ return k2.ctc_graph(token_ids, modified=modified, device=self.device) - From f7a26400ab5c559b526b9bd13a6f5f8bbbc35c7f Mon Sep 17 00:00:00 2001 From: pkufool Date: Wed, 17 Nov 2021 19:09:36 +0800 Subject: [PATCH 07/12] Fix code style --- egs/aishell/ASR/tdnn_lstm_ctc/decode.py | 9 ++------- icefall/decode.py | 1 - 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/decode.py b/egs/aishell/ASR/tdnn_lstm_ctc/decode.py index 568da38112..851264be71 100755 --- a/egs/aishell/ASR/tdnn_lstm_ctc/decode.py +++ b/egs/aishell/ASR/tdnn_lstm_ctc/decode.py @@ -20,7 +20,7 @@ import logging from collections import defaultdict from pathlib import Path -from typing import Dict, List, Optional, Tuple +from typing import Dict, List, Tuple import k2 import torch @@ -29,12 +29,7 @@ from model import TdnnLstm from icefall.checkpoint import average_checkpoints, load_checkpoint -from icefall.decode import ( - get_lattice, - nbest_decoding, - one_best_decoding, - rescore_with_attention_decoder, -) +from icefall.decode import get_lattice, nbest_decoding, one_best_decoding from icefall.lexicon import Lexicon from icefall.utils import ( AttributeDict, diff --git a/icefall/decode.py b/icefall/decode.py index 8bf4460d44..4c2a8e01bb 100644 --- a/icefall/decode.py +++ b/icefall/decode.py @@ -903,4 +903,3 @@ def rescore_with_attention_decoder( key = f"ngram_lm_scale_{n_scale}_attention_scale_{a_scale}" ans[key] = best_path return ans - From 73ad3e31017dd1211c9e469e9f50c679cb28dec0 Mon Sep 17 00:00:00 2001 From: pkufool Date: Wed, 17 Nov 2021 19:16:39 +0800 Subject: [PATCH 08/12] Fix code style --- egs/aishell/ASR/conformer_ctc/test_transformer.py | 15 +++++---------- egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py | 8 ++------ egs/aishell/ASR/tdnn_lstm_ctc/pretrained.py | 7 ++----- 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/egs/aishell/ASR/conformer_ctc/test_transformer.py b/egs/aishell/ASR/conformer_ctc/test_transformer.py index b90215274b..7c06956833 100644 --- a/egs/aishell/ASR/conformer_ctc/test_transformer.py +++ b/egs/aishell/ASR/conformer_ctc/test_transformer.py @@ -17,17 +17,16 @@ import torch +from torch.nn.utils.rnn import pad_sequence from transformer import ( Transformer, + add_eos, + add_sos, + decoder_padding_mask, encoder_padding_mask, generate_square_subsequent_mask, - decoder_padding_mask, - add_sos, - add_eos, ) -from torch.nn.utils.rnn import pad_sequence - def test_encoder_padding_mask(): supervisions = { @@ -82,11 +81,7 @@ def test_decoder_padding_mask(): y = pad_sequence(x, batch_first=True, padding_value=-1) mask = decoder_padding_mask(y, ignore_id=-1) expected_mask = torch.tensor( - [ - [False, False, True], - [False, True, True], - [False, False, False], - ] + [[False, False, True], [False, True, True], [False, False, False]] ) assert torch.all(torch.eq(mask, expected_mask)) diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py b/egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py index 9dede62880..9075ecb7e3 100644 --- a/egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py +++ b/egs/aishell/ASR/tdnn_lstm_ctc/asr_datamodule.py @@ -308,17 +308,13 @@ def test_dataloaders(self) -> Union[DataLoader, List[DataLoader]]: @lru_cache() def train_cuts(self) -> CutSet: logging.info("About to get train cuts") - cuts_train = load_manifest( - self.args.feature_dir / "cuts_train.json.gz" - ) + cuts_train = load_manifest(self.args.feature_dir / "cuts_train.json.gz") return cuts_train @lru_cache() def valid_cuts(self) -> CutSet: logging.info("About to get dev cuts") - cuts_valid = load_manifest( - self.args.feature_dir / "cuts_dev.json.gz" - ) + cuts_valid = load_manifest(self.args.feature_dir / "cuts_dev.json.gz") return cuts_valid @lru_cache() diff --git a/egs/aishell/ASR/tdnn_lstm_ctc/pretrained.py b/egs/aishell/ASR/tdnn_lstm_ctc/pretrained.py index 8421dd3eaf..b68221d081 100644 --- a/egs/aishell/ASR/tdnn_lstm_ctc/pretrained.py +++ b/egs/aishell/ASR/tdnn_lstm_ctc/pretrained.py @@ -29,10 +29,7 @@ from model import TdnnLstm from torch.nn.utils.rnn import pad_sequence -from icefall.decode import ( - get_lattice, - one_best_decoding, -) +from icefall.decode import get_lattice, one_best_decoding from icefall.utils import AttributeDict, get_texts @@ -203,7 +200,7 @@ def main(): subsampling_factor=params.subsampling_factor, ) - assert(params.method == "1best") + assert params.method == "1best" logging.info("Use HLG decoding") best_path = one_best_decoding( lattice=lattice, use_double_scores=params.use_double_scores From b97ab746494766af4cb479ede754fac1dc1458e0 Mon Sep 17 00:00:00 2001 From: pkufool Date: Wed, 17 Nov 2021 19:44:02 +0800 Subject: [PATCH 09/12] Minor fix --- egs/aishell/ASR/RESULTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/egs/aishell/ASR/RESULTS.md b/egs/aishell/ASR/RESULTS.md index 7b9650ae11..b989a06372 100644 --- a/egs/aishell/ASR/RESULTS.md +++ b/egs/aishell/ASR/RESULTS.md @@ -6,7 +6,7 @@ Pretrained model is available at https://huggingface.co/pkufool/icefall_asr_aishell_conformer_ctc -The best decoding results (CER) are listed below, we got this results by averaging models from epoch 25 to 84, and using `attention-decoder` decoder with num_paths equals to 100. +The best decoding results (CER) are listed below, we got this results by averaging models from epoch 59 to 84, and using `attention-decoder` decoder with num_paths equals to 100. ||test| |--|--| From a5cb6f78387cd4de9ceb22665c6180158970650b Mon Sep 17 00:00:00 2001 From: pkufool Date: Wed, 17 Nov 2021 19:46:48 +0800 Subject: [PATCH 10/12] Minor fix --- egs/aishell/ASR/RESULTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/egs/aishell/ASR/RESULTS.md b/egs/aishell/ASR/RESULTS.md index b989a06372..589d9ee7b8 100644 --- a/egs/aishell/ASR/RESULTS.md +++ b/egs/aishell/ASR/RESULTS.md @@ -6,7 +6,7 @@ Pretrained model is available at https://huggingface.co/pkufool/icefall_asr_aishell_conformer_ctc -The best decoding results (CER) are listed below, we got this results by averaging models from epoch 59 to 84, and using `attention-decoder` decoder with num_paths equals to 100. +The best decoding results (CER) are listed below, we got this results by averaging models from epoch 60 to 84, and using `attention-decoder` decoder with num_paths equals to 100. ||test| |--|--| From d57a8737b6f7e8b796be689d30f475975878f648 Mon Sep 17 00:00:00 2001 From: pkufool Date: Wed, 17 Nov 2021 19:53:25 +0800 Subject: [PATCH 11/12] Fix pretrained.py --- egs/aishell/ASR/conformer_ctc/pretrained.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/egs/aishell/ASR/conformer_ctc/pretrained.py b/egs/aishell/ASR/conformer_ctc/pretrained.py index 4459c10c68..e62300f943 100755 --- a/egs/aishell/ASR/conformer_ctc/pretrained.py +++ b/egs/aishell/ASR/conformer_ctc/pretrained.py @@ -327,7 +327,7 @@ def main(): lattice = get_lattice( nnet_output=nnet_output, - HLG=HLG, + decoding_graph=HLG, supervision_segments=supervision_segments, search_beam=params.search_beam, output_beam=params.output_beam, From 856bb7f2858cb4df239df18fe437e86e4ed14491 Mon Sep 17 00:00:00 2001 From: pkufool Date: Thu, 18 Nov 2021 07:57:25 +0800 Subject: [PATCH 12/12] Update pretrained model & corresponding docs --- docs/source/recipes/aishell/conformer_ctc.rst | 88 ++++++++++++++----- egs/aishell/ASR/conformer_ctc/pretrained.py | 5 +- 2 files changed, 70 insertions(+), 23 deletions(-) diff --git a/docs/source/recipes/aishell/conformer_ctc.rst b/docs/source/recipes/aishell/conformer_ctc.rst index 59741833ca..20967780a0 100644 --- a/docs/source/recipes/aishell/conformer_ctc.rst +++ b/docs/source/recipes/aishell/conformer_ctc.rst @@ -465,11 +465,55 @@ Usage displays the help information. -It supports two decoding methods: +It supports three decoding methods: + - CTC decoding - HLG decoding - HLG + attention decoder rescoring +CTC decoding +^^^^^^^^^^^^ + +CTC decoding only uses the ctc topology for decoding without a lexicon and language model + +The command to run CTC decoding is: + +.. code-block:: bash + + $ cd egs/aishell/ASR + $ ./conformer_ctc/pretrained.py \ + --checkpoint ./tmp/icefall_asr_aishell_conformer_ctc/exp/pretrained.pt \ + --tokens-file ./tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/tokens.txt \ + --method ctc-decoding \ + ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0121.wav \ + ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0122.wav \ + ./tmp/icefall_asr_aishell_conformer_ctc/test_wavs/BAC009S0764W0123.wav + +The output is given below: + +.. code-block:: + + 2021-11-18 07:53:41,707 INFO [pretrained.py:229] {'sample_rate': 16000, 'subsampling_factor': 4, 'feature_dim': 80, 'nhead': 4, 'attention_dim': 512, 'num_decoder_layers': 6, 'vgg_frontend': False, 'use_feat_batchnorm': True, 'search_beam': 20, 'output_beam': 8, 'min_active_states': 30, 'max_active_states': 10000, 'use_double_scores': True, 'env_info': {'k2-version': '1.9', 'k2-build-type': 'Release', 'k2-with-cuda': True, 'k2-git-sha1': 'f2fd997f752ed11bbef4c306652c433e83f9cf12', 'k2-git-date': 'Sun Sep 19 09:41:46 2021', 'lhotse-version': '0.11.0.dev+git.33cfe45.clean', 'torch-cuda-available': True, 'torch-cuda-version': '10.1', 'python-version': '3.8', 'icefall-git-branch': 'aishell', 'icefall-git-sha1': 'd57a873-dirty', 'icefall-git-date': 'Wed Nov 17 19:53:25 2021', 'icefall-path': '/ceph-hw/kangwei/code/icefall_aishell3', 'k2-path': '/ceph-hw/kangwei/code/k2_release/k2/k2/python/k2/__init__.py', 'lhotse-path': '/ceph-hw/kangwei/code/lhotse/lhotse/__init__.py'}, 'checkpoint': './tmp/icefall_asr_aishell_conformer_ctc/exp/pretrained.pt', 'tokens_file': './tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/tokens.txt', 'words_file': None, 'HLG': None, 'method': 'ctc-decoding', 'num_paths': 100, 'ngram_lm_scale': 0.3, 'attention_decoder_scale': 0.9, 'nbest_scale': 0.5, 'sos_id': 1, 'eos_id': 1, 'num_classes': 4336, 'sound_files': ['./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav']} + 2021-11-18 07:53:41,708 INFO [pretrained.py:240] device: cuda:0 + 2021-11-18 07:53:41,708 INFO [pretrained.py:242] Creating model + 2021-11-18 07:53:51,131 INFO [pretrained.py:259] Constructing Fbank computer + 2021-11-18 07:53:51,134 INFO [pretrained.py:269] Reading sound files: ['./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav'] + 2021-11-18 07:53:51,138 INFO [pretrained.py:275] Decoding started + 2021-11-18 07:53:51,241 INFO [pretrained.py:293] Use CTC decoding + 2021-11-18 07:53:51,704 INFO [pretrained.py:369] + ./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav: + 甚 至 出 现 交 易 几 乎 停 止 的 情 况 + + ./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav: + 一 二 线 城 市 虽 然 也 处 于 调 整 中 + + ./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav: + 但 因 为 聚 集 了 过 多 公 共 资 源 + + + 2021-11-18 07:53:51,704 INFO [pretrained.py:371] Decoding Done + + HLG decoding ^^^^^^^^^^^^ @@ -493,14 +537,15 @@ The output is given below: .. code-block:: - 2021-09-13 10:46:59,842 INFO [pretrained.py:219] device: cuda:0 - 2021-09-13 10:46:59,842 INFO [pretrained.py:221] Creating model - 2021-09-13 10:47:54,682 INFO [pretrained.py:238] Loading HLG from ./tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/HLG.pt - 2021-09-13 10:48:46,111 INFO [pretrained.py:245] Constructing Fbank computer - 2021-09-13 10:48:46,113 INFO [pretrained.py:255] Reading sound files: ['./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav'] - 2021-09-13 10:48:46,368 INFO [pretrained.py:262] Decoding started - 2021-09-13 10:48:46,847 INFO [pretrained.py:291] Use HLG decoding - 2021-09-13 10:48:47,176 INFO [pretrained.py:322] + 2021-11-18 07:37:38,683 INFO [pretrained.py:229] {'sample_rate': 16000, 'subsampling_factor': 4, 'feature_dim': 80, 'nhead': 4, 'attention_dim': 512, 'num_decoder_layers': 6, 'vgg_frontend': False, 'use_feat_batchnorm': True, 'search_beam': 20, 'output_beam': 8, 'min_active_states': 30, 'max_active_states': 10000, 'use_double_scores': True, 'env_info': {'k2-version': '1.9', 'k2-build-type': 'Release', 'k2-with-cuda': True, 'k2-git-sha1': 'f2fd997f752ed11bbef4c306652c433e83f9cf12', 'k2-git-date': 'Sun Sep 19 09:41:46 2021', 'lhotse-version': '0.11.0.dev+git.33cfe45.clean', 'torch-cuda-available': True, 'torch-cuda-version': '10.1', 'python-version': '3.8', 'icefall-git-branch': 'aishell', 'icefall-git-sha1': 'd57a873-clean', 'icefall-git-date': 'Wed Nov 17 19:53:25 2021', 'icefall-path': '/ceph-hw/kangwei/code/icefall_aishell3', 'k2-path': '/ceph-hw/kangwei/code/k2_release/k2/k2/python/k2/__init__.py', 'lhotse-path': '/ceph-hw/kangwei/code/lhotse/lhotse/__init__.py'}, 'checkpoint': './tmp/icefall_asr_aishell_conformer_ctc/exp/pretrained.pt', 'tokens_file': None, 'words_file': './tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/words.txt', 'HLG': './tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/HLG.pt', 'method': '1best', 'num_paths': 100, 'ngram_lm_scale': 0.3, 'attention_decoder_scale': 0.9, 'nbest_scale': 0.5, 'sos_id': 1, 'eos_id': 1, 'num_classes': 4336, 'sound_files': ['./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav']} + 2021-11-18 07:37:38,684 INFO [pretrained.py:240] device: cuda:0 + 2021-11-18 07:37:38,684 INFO [pretrained.py:242] Creating model + 2021-11-18 07:37:47,651 INFO [pretrained.py:259] Constructing Fbank computer + 2021-11-18 07:37:47,654 INFO [pretrained.py:269] Reading sound files: ['./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav'] + 2021-11-18 07:37:47,659 INFO [pretrained.py:275] Decoding started + 2021-11-18 07:37:47,752 INFO [pretrained.py:321] Loading HLG from ./tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/HLG.pt + 2021-11-18 07:37:51,887 INFO [pretrained.py:340] Use HLG decoding + 2021-11-18 07:37:52,102 INFO [pretrained.py:370] ./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav: 甚至 出现 交易 几乎 停止 的 情况 @@ -511,10 +556,11 @@ The output is given below: 但 因为 聚集 了 过多 公共 资源 - 2021-09-13 10:48:47,177 INFO [pretrained.py:324] Decoding Done + 2021-11-18 07:37:52,102 INFO [pretrained.py:372] Decoding Done + HLG decoding + attention decoder rescoring -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ It extracts n paths from the lattice, recores the extracted paths with an attention decoder. The path with the highest score is the decoding result. @@ -537,14 +583,15 @@ The output is below: .. code-block:: - 2021-09-13 11:02:15,852 INFO [pretrained.py:219] device: cuda:0 - 2021-09-13 11:02:15,852 INFO [pretrained.py:221] Creating model - 2021-09-13 11:02:22,292 INFO [pretrained.py:238] Loading HLG from ./tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/HLG.pt - 2021-09-13 11:02:27,060 INFO [pretrained.py:245] Constructing Fbank computer - 2021-09-13 11:02:27,062 INFO [pretrained.py:255] Reading sound files: ['./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav'] - 2021-09-13 11:02:27,129 INFO [pretrained.py:261] Decoding started - 2021-09-13 11:02:27,241 INFO [pretrained.py:295] Use HLG + attention decoder rescoring - 2021-09-13 11:02:27,823 INFO [pretrained.py:318] + 2021-11-18 07:42:05,965 INFO [pretrained.py:229] {'sample_rate': 16000, 'subsampling_factor': 4, 'feature_dim': 80, 'nhead': 4, 'attention_dim': 512, 'num_decoder_layers': 6, 'vgg_frontend': False, 'use_feat_batchnorm': True, 'search_beam': 20, 'output_beam': 8, 'min_active_states': 30, 'max_active_states': 10000, 'use_double_scores': True, 'env_info': {'k2-version': '1.9', 'k2-build-type': 'Release', 'k2-with-cuda': True, 'k2-git-sha1': 'f2fd997f752ed11bbef4c306652c433e83f9cf12', 'k2-git-date': 'Sun Sep 19 09:41:46 2021', 'lhotse-version': '0.11.0.dev+git.33cfe45.clean', 'torch-cuda-available': True, 'torch-cuda-version': '10.1', 'python-version': '3.8', 'icefall-git-branch': 'aishell', 'icefall-git-sha1': 'd57a873-dirty', 'icefall-git-date': 'Wed Nov 17 19:53:25 2021', 'icefall-path': '/ceph-hw/kangwei/code/icefall_aishell3', 'k2-path': '/ceph-hw/kangwei/code/k2_release/k2/k2/python/k2/__init__.py', 'lhotse-path': '/ceph-hw/kangwei/code/lhotse/lhotse/__init__.py'}, 'checkpoint': './tmp/icefall_asr_aishell_conformer_ctc/exp/pretrained.pt', 'tokens_file': None, 'words_file': './tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/words.txt', 'HLG': './tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/HLG.pt', 'method': 'attention-decoder', 'num_paths': 100, 'ngram_lm_scale': 0.3, 'attention_decoder_scale': 0.9, 'nbest_scale': 0.5, 'sos_id': 1, 'eos_id': 1, 'num_classes': 4336, 'sound_files': ['./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav']} + 2021-11-18 07:42:05,966 INFO [pretrained.py:240] device: cuda:0 + 2021-11-18 07:42:05,966 INFO [pretrained.py:242] Creating model + 2021-11-18 07:42:16,821 INFO [pretrained.py:259] Constructing Fbank computer + 2021-11-18 07:42:16,822 INFO [pretrained.py:269] Reading sound files: ['./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0122.wav', './tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0123.wav'] + 2021-11-18 07:42:16,826 INFO [pretrained.py:275] Decoding started + 2021-11-18 07:42:16,916 INFO [pretrained.py:321] Loading HLG from ./tmp/icefall_asr_aishell_conformer_ctc/data/lang_char/HLG.pt + 2021-11-18 07:42:21,115 INFO [pretrained.py:345] Use HLG + attention decoder rescoring + 2021-11-18 07:42:21,888 INFO [pretrained.py:370] ./tmp/icefall_asr_aishell_conformer_ctc/test_waves/BAC009S0764W0121.wav: 甚至 出现 交易 几乎 停止 的 情况 @@ -555,7 +602,8 @@ The output is below: 但 因为 聚集 了 过多 公共 资源 - 2021-09-13 11:02:27,823 INFO [pretrained.py:320] Decoding Done + 2021-11-18 07:42:21,889 INFO [pretrained.py:372] Decoding Done + Colab notebook -------------- diff --git a/egs/aishell/ASR/conformer_ctc/pretrained.py b/egs/aishell/ASR/conformer_ctc/pretrained.py index e62300f943..8657968ec3 100755 --- a/egs/aishell/ASR/conformer_ctc/pretrained.py +++ b/egs/aishell/ASR/conformer_ctc/pretrained.py @@ -296,7 +296,7 @@ def main(): H = k2.ctc_topo( max_token=max_token_id, - modified=False, + modified=True, device=device, ) @@ -316,7 +316,6 @@ def main(): ) token_ids = get_texts(best_path) hyps = [[token_sym_table[i] for i in ids] for ids in token_ids] - hyps = [s.split() for s in hyps] elif params.method in ["1best", "attention-decoder"]: logging.info(f"Loading HLG from {params.HLG}") HLG = k2.Fsa.from_dict(torch.load(params.HLG, map_location="cpu")) @@ -351,7 +350,7 @@ def main(): memory_key_padding_mask=memory_key_padding_mask, sos_id=params.sos_id, eos_id=params.eos_id, - scale=params.lattice_score_scale, + nbest_scale=params.nbest_scale, ngram_lm_scale=params.ngram_lm_scale, attention_scale=params.attention_decoder_scale, )