anypinn.core.config
Configuration dataclasses for PINN models.
AdamConfig
dataclass
Configuration for the Adam optimizer.
Source code in src/anypinn/core/config.py
betas: tuple[float, float] = (0.9, 0.999)
class-attribute
instance-attribute
lr: float = 0.001
class-attribute
instance-attribute
weight_decay: float = 0.0
class-attribute
instance-attribute
__init__(*, lr: float = 0.001, betas: tuple[float, float] = (0.9, 0.999), weight_decay: float = 0.0) -> None
__post_init__() -> None
Source code in src/anypinn/core/config.py
CosineAnnealingConfig
dataclass
Configuration for Cosine Annealing LR Scheduler.
Source code in src/anypinn/core/config.py
T_max: int
instance-attribute
eta_min: float = 0.0
class-attribute
instance-attribute
__init__(*, T_max: int, eta_min: float = 0.0) -> None
EarlyStoppingConfig
dataclass
Configuration for Early Stopping callback.
Source code in src/anypinn/core/config.py
mode: Literal['min', 'max']
instance-attribute
patience: int
instance-attribute
__init__(*, patience: int, mode: Literal['min', 'max']) -> None
GenerationConfig
dataclass
Bases: TrainingDataConfig
Configuration for data generation.
Source code in src/anypinn/core/config.py
args_to_train: ArgsRegistry
instance-attribute
noise_level: float
instance-attribute
x: Tensor
instance-attribute
__init__(*, batch_size: int, data_ratio: int | float, collocations: int, collocation_sampler: CollocationStrategies = 'random', collocation_seed: int | None = None, x: Tensor, noise_level: float, args_to_train: ArgsRegistry) -> None
IngestionConfig
dataclass
Bases: TrainingDataConfig
Configuration for data ingestion from files. If x_column is None, the data is assumed to be evenly spaced.
Source code in src/anypinn/core/config.py
df_path: Path
instance-attribute
x_column: str | None = None
class-attribute
instance-attribute
x_transform: Callable[[Any], Any] | None = None
class-attribute
instance-attribute
y_columns: list[str]
instance-attribute
__init__(*, batch_size: int, data_ratio: int | float, collocations: int, collocation_sampler: CollocationStrategies = 'random', collocation_seed: int | None = None, df_path: Path, x_transform: Callable[[Any], Any] | None = None, x_column: str | None = None, y_columns: list[str]) -> None
LBFGSConfig
dataclass
Configuration for the L-BFGS optimizer.
Source code in src/anypinn/core/config.py
history_size: int = 100
class-attribute
instance-attribute
line_search_fn: str | None = 'strong_wolfe'
class-attribute
instance-attribute
lr: float = 1.0
class-attribute
instance-attribute
max_eval: int | None = None
class-attribute
instance-attribute
max_iter: int = 20
class-attribute
instance-attribute
__init__(*, lr: float = 1.0, max_iter: int = 20, max_eval: int | None = None, history_size: int = 100, line_search_fn: str | None = 'strong_wolfe') -> None
__post_init__() -> None
Source code in src/anypinn/core/config.py
MLPConfig
dataclass
Configuration for a Multi-Layer Perceptron (MLP).
Attributes:
| Name | Type | Description |
|---|---|---|
in_dim |
int
|
Dimension of input layer. |
out_dim |
int
|
Dimension of output layer. |
hidden_layers |
list[int]
|
List of dimensions for hidden layers. |
activation |
Activations
|
Activation function to use between layers. |
output_activation |
Activations | None
|
Optional activation function for the output layer. |
encode |
Callable[[Tensor], Tensor] | None
|
Optional function to encode inputs before passing to MLP. |
Source code in src/anypinn/core/config.py
activation: Activations
instance-attribute
encode: Callable[[Tensor], Tensor] | None = None
class-attribute
instance-attribute
hidden_layers: list[int]
instance-attribute
in_dim: int
instance-attribute
out_dim: int
instance-attribute
output_activation: Activations | None = None
class-attribute
instance-attribute
__init__(*, in_dim: int, out_dim: int, hidden_layers: list[int], activation: Activations, output_activation: Activations | None = None, encode: Callable[[Tensor], Tensor] | None = None) -> None
PINNHyperparameters
dataclass
Aggregated hyperparameters for the PINN model.
Source code in src/anypinn/core/config.py
criterion: Criteria = 'mse'
class-attribute
instance-attribute
early_stopping: EarlyStoppingConfig | None = None
class-attribute
instance-attribute
fields_config: MLPConfig
instance-attribute
gradient_clip_val: float | None = None
class-attribute
instance-attribute
lr: float
instance-attribute
max_epochs: int | None = None
class-attribute
instance-attribute
optimizer: AdamConfig | LBFGSConfig | None = None
class-attribute
instance-attribute
params_config: MLPConfig | ScalarConfig
instance-attribute
scheduler: ReduceLROnPlateauConfig | CosineAnnealingConfig | None = None
class-attribute
instance-attribute
smma_stopping: SMMAStoppingConfig | None = None
class-attribute
instance-attribute
training_data: IngestionConfig | GenerationConfig
instance-attribute
__init__(*, lr: float, training_data: IngestionConfig | GenerationConfig, fields_config: MLPConfig, params_config: MLPConfig | ScalarConfig, max_epochs: int | None = None, gradient_clip_val: float | None = None, criterion: Criteria = 'mse', optimizer: AdamConfig | LBFGSConfig | None = None, scheduler: ReduceLROnPlateauConfig | CosineAnnealingConfig | None = None, early_stopping: EarlyStoppingConfig | None = None, smma_stopping: SMMAStoppingConfig | None = None) -> None
ReduceLROnPlateauConfig
dataclass
Configuration for Learning Rate Scheduler (ReduceLROnPlateau).
Source code in src/anypinn/core/config.py
factor: float
instance-attribute
min_lr: float
instance-attribute
mode: Literal['min', 'max']
instance-attribute
patience: int
instance-attribute
threshold: float
instance-attribute
__init__(*, mode: Literal['min', 'max'], factor: float, patience: int, threshold: float, min_lr: float) -> None
__post_init__() -> None
SMMAStoppingConfig
dataclass
Configuration for Simple Moving Average Stopping callback.
Source code in src/anypinn/core/config.py
lookback: int
instance-attribute
threshold: float
instance-attribute
window: int
instance-attribute
__init__(*, window: int, threshold: float, lookback: int) -> None
__post_init__() -> None
Source code in src/anypinn/core/config.py
ScalarConfig
dataclass
Configuration for a scalar parameter.
Attributes:
| Name | Type | Description |
|---|---|---|
init_value |
float
|
Initial value for the parameter. |
Source code in src/anypinn/core/config.py
init_value: float
instance-attribute
__init__(*, init_value: float) -> None
TrainingDataConfig
dataclass
Configuration for data loading and batching.
Attributes:
| Name | Type | Description |
|---|---|---|
batch_size |
int
|
Number of points per training batch. |
data_ratio |
int | float
|
Ratio of data to collocation points per batch. |
collocations |
int
|
Total number of collocation points to generate. |
collocation_sampler |
CollocationStrategies
|
Sampling strategy for collocation points. |
collocation_seed |
int | None
|
Optional seed for reproducible collocation sampling. |