base
base
¶
PositionSource
¶
Bases: Enum
Where positional encodings read positions from.
DenominatorMode
¶
Bases: Enum
Frequency denominator convention for sinusoidal encodings.
OrderingMode
¶
Bases: Enum
Sine/cosine channel ordering convention.
PositionalEncoding
¶
PositionalEncoding(embedding_dimension, precompute_encodings=True, maximum_sequence_length=5000, mlp_hidden_dimensions=None, mlp_activation=SiLU)
Bases: ABC, Module
Base class for positional encoding with optional precomputing and MLP learnable layer.
Source code in src/versatil/models/layers/positional_encoding/base.py
forward
abstractmethod
¶
Compute positional encodings for the input tensor.
PositionalEncoding1D
¶
PositionalEncoding1D(embedding_dimension, position_source=TENSOR_INDICES.value, precompute_encodings=True, maximum_sequence_length=5000, mlp_hidden_dimensions=None, mlp_activation=SiLU)
Bases: PositionalEncoding, ABC
Base class for 1D positional encodings.
Source code in src/versatil/models/layers/positional_encoding/base.py
forward
¶
Compute positional encodings for input tensor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
input_tensor
|
Tensor
|
Input tensor with batch-first convention. - For TENSOR_INDICES: shape (batch_size, seq_len, ...) or (batch_size, seq_len) - For SCALAR: shape (batch_size,) containing scalar values to encode |
required |
offset
|
int
|
Position offset for TENSOR_INDICES mode. Shifts indices from [0..seq_len-1] to [offset..offset+seq_len-1]. Used during cached autoregressive inference. |
0
|
Returns:
| Type | Description |
|---|---|
Tensor
|
Positional encodings with shape: - For TENSOR_INDICES: (batch_size, seq_len, embedding_dimension) - For SCALAR: (batch_size, embedding_dimension) |
Source code in src/versatil/models/layers/positional_encoding/base.py
PositionalEncoding2D
¶
Bases: PositionalEncoding, ABC
Base class for 2D positional encodings.
Source code in src/versatil/models/layers/positional_encoding/base.py
forward
¶
Compute 2D positional encodings for (B, C, H, W) feature maps.
Source code in src/versatil/models/layers/positional_encoding/base.py
add_positional_encoding
¶
Adds positional encoding to the tensor if provided.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
source
|
Tensor
|
Input tensor. |
required |
positional_encoding
|
Tensor | None
|
Positional encoding tensor to add (optional). |
None
|
Returns:
| Type | Description |
|---|---|
Tensor
|
Tensor with positional encoding added if provided, otherwise the original tensor. |