espnet.nets.pytorch_backend.transducer.rnn_encoder.Encoder
Less than 1 minute
espnet.nets.pytorch_backend.transducer.rnn_encoder.Encoder
class espnet.nets.pytorch_backend.transducer.rnn_encoder.Encoder(idim: int, etype: str, elayers: int, eunits: int, eprojs: int, subsample: ndarray, dropout_rate: float = 0.0, aux_enc_output_layers: List = [])
Bases: Module
Encoder module.
- Parameters:
- idim – Input dimension.
- etype – Encoder units type.
- elayers – Number of encoder layers.
- eunits – Number of encoder units per layer.
- eprojs – Number of projection units per layer.
- subsample – Subsampling rate per layer.
- dropout_rate – Dropout rate for encoder layers.
- intermediate_encoder_layers – Layer IDs for auxiliary encoder output sequences.
Initialize Encoder module.
forward(feats: Tensor, feats_len: Tensor, prev_states: List[Tensor] | None = None)
Forward encoder.
Parameters:
- feats – Feature sequences. (B, F, D_feats)
- feats_len – Feature sequences lengths. (B,)
- prev_states – Previous encoder hidden states. [N x (B, T, D_enc)]
Returns: Encoder output sequences. (B, T, D_enc) : with or without encoder intermediate output sequences. ((B, T, D_enc), [N x (B, T, D_enc)])
enc_out_len: Encoder output sequences lengths. (B,) current_states: Encoder hidden states. [N x (B, T, D_enc)]
Return type: enc_out