transformer
transformer
¶
Transformer
¶
Transformer(embedding_dimension=512, number_of_heads=8, number_of_encoder_layers=6, number_of_decoder_layers=6, feedforward_dimension=2048, dropout=0.1, activation=value, normalize_before=False, return_intermediate_decoder=False)
Bases: Module
Transformer with encoder-decoder architecture and DETR-style positional encodings.
Initialize transformer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
embedding_dimension
|
int
|
Model embedding dimension. |
512
|
number_of_heads
|
int
|
Number of attention heads. |
8
|
number_of_encoder_layers
|
int
|
Number of encoder layers. |
6
|
number_of_decoder_layers
|
int
|
Number of decoder layers. |
6
|
feedforward_dimension
|
int
|
Dimension of feedforward network. |
2048
|
dropout
|
float
|
Dropout rate. |
0.1
|
activation
|
str
|
Activation function name from ActivationFunction enum. |
value
|
normalize_before
|
bool
|
If True, use pre-normalization. If False, use post-normalization. |
False
|
return_intermediate_decoder
|
bool
|
If True, return outputs from all decoder layers. |
False
|
Source code in src/versatil/models/layers/detr_transformer/transformer.py
forward
¶
forward(source, target, source_mask=None, target_mask=None, source_key_padding_mask=None, target_key_padding_mask=None, source_positional_encoding=None, target_positional_encoding=None)
Forward pass through transformer.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source
|
Tensor
|
Input tensor of shape (batch size, source_length, embedding_dimension). |
required |
target
|
Tensor
|
Target tensor of shape (batch size, target_length, embedding_dimension). |
required |
source_mask
|
Tensor | None
|
Source attention mask of shape (source_length, source_length). |
None
|
target_mask
|
Tensor | None
|
Target attention mask of shape (target_length, target_length). |
None
|
source_key_padding_mask
|
Tensor | None
|
Source padding mask of shape (batch, source_length). |
None
|
target_key_padding_mask
|
Tensor | None
|
Target padding mask of shape (batch, target_length). |
None
|
source_positional_encoding
|
Tensor | None
|
Source PE of shape (batch size, source_length, embedding_dimension). |
None
|
target_positional_encoding
|
Tensor | None
|
Target PE of shape (batch size, target_length, embedding_dimension). |
None
|
Returns:
| Type | Description |
|---|---|
Tensor
|
If return_intermediate is True, a tensor with shape (number_of_layers, batch_size, target_length, embedding_dimension). Otherwise, with shape (1, batch_size, target_length, embedding_dimension). |