sinusoidal
sinusoidal
¶
Sinusoidal positional encoding implementations.
SinusoidalPositionalEncoding1D
¶
SinusoidalPositionalEncoding1D(embedding_dimension, denominator_mode=HALF.value, ordering_mode=INTERLEAVE_SIN_COS.value, learnable_frequencies=False, temperature=10000.0, position_source=TENSOR_INDICES.value, precompute_encodings=True, maximum_sequence_length=5000, mlp_hidden_dimensions=None, mlp_activation=SiLU)
Bases: PositionalEncoding1D
Sinusoidal positional encoding for 1D.
Initialize a 1D sinusoidal positional encoding module.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
embedding_dimension
|
int
|
Output embedding dimension. |
required |
denominator_mode
|
str
|
Frequency denominator convention. |
HALF.value
|
ordering_mode
|
str
|
Sine/cosine channel ordering convention. |
INTERLEAVE_SIN_COS.value
|
learnable_frequencies
|
bool
|
Whether frequency bands are trainable. |
False
|
temperature
|
float
|
Base temperature for geometric frequency spacing. |
10000.0
|
position_source
|
str
|
Source used to derive positions. |
TENSOR_INDICES.value
|
precompute_encodings
|
bool
|
Whether to cache tensor-index encodings. |
True
|
maximum_sequence_length
|
int | None
|
Maximum length for cached tensor-index encodings. |
5000
|
mlp_hidden_dimensions
|
list[int] | None
|
Optional post-encoding MLP dimensions. |
None
|
mlp_activation
|
Callable | None
|
Optional post-encoding MLP activation. |
SiLU
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If dimensions or frequency settings are invalid. |
Source code in src/versatil/models/layers/positional_encoding/sinusoidal.py
create_encoding_table
classmethod
¶
Create a sinusoidal encoding table for transformer inputs.
This is a convenience method that generates a standard positional encoding table from a number of positions and embedding dimension.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
number_of_positions
|
int
|
Number of positions to encode. |
required |
embedding_dimension
|
int
|
Dimension of positional encodings. |
required |
temperature
|
float
|
Temperature parameter (default 10000 from "Attention Is All You Need"). |
10000.0
|
Returns:
| Type | Description |
|---|---|
Tensor
|
Encoding table of shape (1, number_of_positions, embedding_dimension). |
Source code in src/versatil/models/layers/positional_encoding/sinusoidal.py
PeriodInterpolationPositionalEncoding1D
¶
PeriodInterpolationPositionalEncoding1D(embedding_dimension, min_period=0.004, max_period=4.0, position_source=SCALAR.value, mlp_hidden_dimensions=None, mlp_activation=SiLU)
Bases: PositionalEncoding1D
Sinusoidal encoding with geometric period interpolation.
Computes frequencies by logarithmically interpolating between a minimum and maximum period, giving direct control over the sensitivity range. Suited for encoding continuous scalar values like normalized timesteps.
Frequency formula::
fraction = linspace(0, 1, dim // 2)
period = min_period * (max_period / min_period) ^ fraction
freq = 2π / period
Initialize scalar sinusoidal encoding with interpolated periods.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
embedding_dimension
|
int
|
Output embedding dimension. |
required |
min_period
|
float
|
Smallest encoded period. |
0.004
|
max_period
|
float
|
Largest encoded period. |
4.0
|
position_source
|
str
|
Source used to derive positions. |
SCALAR.value
|
mlp_hidden_dimensions
|
list[int] | None
|
Optional post-encoding MLP dimensions. |
None
|
mlp_activation
|
Callable | None
|
Optional post-encoding MLP activation. |
SiLU
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If dimensions or periods are invalid. |
Source code in src/versatil/models/layers/positional_encoding/sinusoidal.py
SinusoidalPositionalEncoding2D
¶
SinusoidalPositionalEncoding2D(embedding_dimension, temperature=10000.0, normalize=False, scale=None, mlp_hidden_dimensions=None, mlp_activation=SiLU)
Bases: PositionalEncoding2D
Sinusoidal positional encoding for 2D.
Initialize a 2D sinusoidal positional encoding module.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
embedding_dimension
|
int
|
Output channel dimension. |
required |
temperature
|
float
|
Base temperature for frequency spacing. |
10000.0
|
normalize
|
bool
|
Whether to normalize coordinates to |
False
|
scale
|
float | None
|
Coordinate scale used when |
None
|
mlp_hidden_dimensions
|
list[int] | None
|
Optional post-encoding MLP dimensions. |
None
|
mlp_activation
|
Callable | None
|
Optional post-encoding MLP activation. |
SiLU
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If dimensions or frequency settings are invalid. |