xnn.common.config.schema.Config#

class xnn.common.config.schema.Config(model=<factory>, data=<factory>, optim=<factory>, trainer=<factory>, device='auto', seed=1234, output_dir='runs/exp', subtracted_dispersion=None)[source]#

Bases: object

Top-level experiment configuration.

This nested dataclass tree is the single internal representation that every frontend loader (YAML, argparse, Hydra) produces; see loaders.py.

Variables:
  • model (ModelConfig) – Model architecture and hyperparameters. Defaults to a fresh ModelConfig.

  • data (DataConfig) – Dataset paths and data-loading options. Defaults to a fresh DataConfig.

  • optim (OptimConfig) – Optimizer and loss settings. Defaults to a fresh OptimConfig.

  • device (str) – Compute device (auto / cpu / cuda / cuda:0 …). Defaults to "auto".

  • seed (int) – Random seed for reproducibility. MACE seed. Defaults to 1234.

  • output_dir (str) – Directory for run outputs (checkpoints, logs). Defaults to "runs/exp".

  • trainer (TrainerConfig) – Logging, error metrics, checkpointing and stopping. Defaults to a fresh TrainerConfig.

  • subtracted_dispersion (dict, optional) – What was subtracted from the training labels before fitting, so that a deployment adds it back: {"name": "d4", "s6": ..., "s8": ..., "a1": ..., "a2": ..., "s9": ..., "alp": ...} with the exact functional parameters used for the labels, plus the settings the term should run with when added back (cutoff_pair, switch_width_pair, cutoff_triple, switch_width_triple, cutoff_eeq, regime, …), and optionally a dataset tag or a note. The record travels in the checkpoint, and xnn mdi / xnn export add the term automatically. None (the default) records nothing. See normalize_subtracted_dispersion() for the validation.

Parameters: