espnet2.asr.encoder.e_branchformer_encoder.EBranchformerEncoderLayer
Less than 1 minute
espnet2.asr.encoder.e_branchformer_encoder.EBranchformerEncoderLayer
class espnet2.asr.encoder.e_branchformer_encoder.EBranchformerEncoderLayer(size: int, attn: Module, cgmlp: Module, feed_forward: Module | None, feed_forward_macaron: Module | None, dropout_rate: float, merge_conv_kernel: int = 3)
Bases: Module
E-Branchformer encoder layer module.
- Parameters:
- size (int) β model dimension
- attn β standard self-attention or efficient attention
- cgmlp β ConvolutionalGatingMLP
- feed_forward β feed-forward module, optional
- feed_forward β macaron-style feed-forward module, optional
- dropout_rate (float) β dropout probability
- merge_conv_kernel (int) β kernel size of the depth-wise conv in merge module
Initialize internal Module state, shared by both nn.Module and ScriptModule.
forward(x_input, mask, cache=None)
Compute encoded features.
- Parameters:
- x_input (Union *[*Tuple , torch.Tensor ]) β Input tensor w/ or w/o pos emb.
- w/ pos emb: Tuple of tensors [(#batch, time, size), (1, time, size)].
- w/o pos emb: Tensor (#batch, time, size).
- mask (torch.Tensor) β Mask tensor for the input (#batch, 1, time).
- cache (torch.Tensor) β Cache tensor of the input (#batch, time - 1, size).
- x_input (Union *[*Tuple , torch.Tensor ]) β Input tensor w/ or w/o pos emb.
- Returns: Output tensor (#batch, time, size). torch.Tensor: Mask tensor (#batch, time).
- Return type: torch.Tensor
