espnet2.asr_transducer.encoder.modules.multi_blocks.MultiBlocks
espnet2.asr_transducer.encoder.modules.multi_blocks.MultiBlocks
class espnet2.asr_transducer.encoder.modules.multi_blocks.MultiBlocks(block_list: ~typing.List[~torch.nn.modules.module.Module], output_size: int, norm_class: ~torch.nn.modules.module.Module = <class 'torch.nn.modules.normalization.LayerNorm'>, norm_args: ~typing.Dict | None = None, blockdrop_rate: int = 0.0)
Bases: Module
MultiBlocks definition.
- Parameters:
- block_list β Individual blocks of the encoder architecture.
- output_size β Architecture output size.
- norm_class β Normalization module class.
- norm_args β Normalization module arguments.
- blockdrop_rate β Probability threshold of dropping out each block.
Construct a MultiBlocks object.
chunk_forward(x: Tensor, pos_enc: Tensor, mask: Tensor, left_context: int = 0) β Tensor
Forward each block of the encoder architecture.
- Parameters:
- x β MultiBlocks input sequences. (B, T, D_block_1)
- pos_enc β Positional embedding sequences. (B, 2 * (T - 1), D_att)
- mask β Source mask. (B, T_2)
- left_context β Number of previous frames the attention module can see in current chunk (used by Conformer and Branchformer block).
- Returns: MultiBlocks output sequences. (B, T, D_block_N)
- Return type: x
forward(x: Tensor, pos_enc: Tensor, mask: Tensor, chunk_mask: Tensor | None = None) β Tensor
Forward each block of the encoder architecture.
- Parameters:
- x β MultiBlocks input sequences. (B, T, D_block_1)
- pos_enc β Positional embedding sequences.
- mask β Source mask. (B, T)
- chunk_mask β Chunk mask. (T_2, T_2)
- Returns: Output sequences. (B, T, D_block_N)
- Return type: x
reset_streaming_cache(left_context: int, device: device) β None
Initialize/Reset encoder streaming cache.
- Parameters:
- left_context β Number of previous frames the attention module can see in current chunk (used by Conformer and Branchformer block).
- device β Device to use for cache tensor.
