transformer_encoder
transformer_encoder
¶
TransformerEncoderLayer
¶
TransformerEncoderLayer(embedding_dimension, number_of_heads, feedforward_dimension=2048, dropout=0.1, activation=value, normalize_before=False)
Bases: Module
Transformer encoder layer with pre- and post- normalization support.
Source code in src/versatil/models/layers/detr_transformer/transformer_encoder.py
forward
¶
Forward pass.
Pre-normalization: Normalization -> Operation -> Add Post-normalization: Operation -> Add -> Normalization
Source code in src/versatil/models/layers/detr_transformer/transformer_encoder.py
TransformerEncoder
¶
Bases: Module
Stack of transformer encoder layers.
Initialize transformer encoder.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
encoder_layer
|
TransformerEncoderLayer
|
Single encoder layer to be stacked. |
required |
number_of_layers
|
int
|
Number of encoder layers. |
required |
normalization
|
Module | None
|
Optional final normalization layer. |
None
|
Source code in src/versatil/models/layers/detr_transformer/transformer_encoder.py
forward
¶
Forward pass through all encoder layers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source
|
Tensor
|
Input tensor of shape (batch size, sequence_length, embedding_dimension). |
required |
mask
|
Tensor | None
|
Attention mask of shape (sequence_length, sequence_length) where True indicates padding tokens. |
None
|
source_key_padding_mask
|
Tensor | None
|
Padding mask of shape (batch size, sequence_length), where True indicates padding tokens. |
None
|
positional_encoding
|
Tensor | None
|
Positional encoding of shape (batch size, sequence_length, embedding_dimension). |
None
|
Returns:
| Type | Description |
|---|---|
Tensor
|
Output tensor of shape (batch size, sequence_length, embedding_dimension). |