espnet.nets.pytorch_backend.transducer.custom_encoder.CustomEncoder
espnet.nets.pytorch_backend.transducer.custom_encoder.CustomEncoder
class espnet.nets.pytorch_backend.transducer.custom_encoder.CustomEncoder(idim: int, enc_arch: List, input_layer: str = 'linear', repeat_block: int = 1, self_attn_type: str = 'selfattn', positional_encoding_type: str = 'abs_pos', positionwise_layer_type: str = 'linear', positionwise_activation_type: str = 'relu', conv_mod_activation_type: str = 'relu', aux_enc_output_layers: List = [], input_layer_dropout_rate: float = 0.0, input_layer_pos_enc_dropout_rate: float = 0.0, padding_idx: int = -1)
Bases: Module
Custom encoder module for transducer models.
- Parameters:
- idim – Input dimension.
- enc_arch – Encoder block architecture (type and parameters).
- input_layer – Input layer type.
- repeat_block – Number of times blocks_arch is repeated.
- self_attn_type – Self-attention type.
- positional_encoding_type – Positional encoding type.
- positionwise_layer_type – Positionwise layer type.
- positionwise_activation_type – Positionwise activation type.
- conv_mod_activation_type – Convolutional module activation type.
- aux_enc_output_layers – Layer IDs for auxiliary encoder output sequences.
- input_layer_dropout_rate – Dropout rate for input layer.
- input_layer_pos_enc_dropout_rate – Dropout rate for input layer pos. enc.
- padding_idx – Padding symbol ID for embedding layer.
Construct an CustomEncoder object.
forward(feats: Tensor, mask: Tensor) → Tuple[Tensor | Tuple[Tensor, Tensor]]
Encode feature sequences.
Parameters:
- feats – Feature sequences. (B, F, D_feats)
- feats_mask – Feature mask sequences. (B, 1, F)
Returns: Encoder output sequences. (B, T, D_enc) with/without : Auxiliary encoder output sequences. (B, T, D_enc_aux)
enc_out_mask: Mask for encoder output sequences. (B, 1, T) with/without : Mask for auxiliary encoder output sequences. (B, T, D_enc_aux)
Return type: enc_out