Skip to content

Core Configuration

spectrans.config.core

Base configuration models for spectrans components.

This module provides the foundational Pydantic models that define common configuration patterns used across spectrans components. These base classes are extended by specific component configuration models in submodules.

Classes:

Name Description
BaseLayerConfig

Base configuration for all neural network layers.

UnitaryLayerConfig

Configuration for layers that preserve energy/unitarity.

FilterLayerConfig

Configuration for layers using learnable spectral filters.

AttentionLayerConfig

Configuration for attention-based layers.

Notes

All configuration models use Pydantic v2 BaseModel for validation and type safety. The base classes here provide common parameter patterns that are inherited by specific component configurations.

Examples:

>>> from spectrans.config.core import BaseLayerConfig
>>> class MyLayerConfig(BaseLayerConfig):
...     special_param: int = 42
>>> config = MyLayerConfig(hidden_dim=768)
>>> print(config.hidden_dim)
768

Classes

BaseLayerConfig

Bases: BaseModel

Base configuration for all neural network layers.

Attributes:

Name Type Description
hidden_dim int

Hidden dimension size, must be positive.

dropout float

Dropout probability, must be between 0.0 and 1.0, defaults to 0.0.

UnitaryLayerConfig

Bases: BaseLayerConfig

Configuration for layers that preserve energy/unitarity.

Attributes:

Name Type Description
norm_eps float

Epsilon for numerical stability in normalization, defaults to 1e-5.

energy_tolerance float

Tolerance for energy preservation checks, defaults to 1e-4.

fft_norm FFTNorm

FFT normalization mode, defaults to "ortho".

FilterLayerConfig

Bases: BaseLayerConfig

Configuration for layers using learnable spectral filters.

Attributes:

Name Type Description
sequence_length int

Input sequence length, must be positive.

learnable_filters bool

Whether filters are learnable, defaults to True.

fft_norm FFTNorm

FFT normalization mode, defaults to "ortho".

filter_init_std float

Standard deviation for filter initialization, defaults to 0.02.

AttentionLayerConfig

Bases: BaseLayerConfig

Configuration for attention-based layers.

Attributes:

Name Type Description
num_heads int

Number of attention heads, must be positive, defaults to 8.

head_dim int | None

Dimension per head, defaults to None (auto-computed).