Skip to content

Configuration

DEQN-JAX uses a layered config with three sources merged in priority order:

--set overrides  >  CLI args  >  YAML file  >  defaults

Minimal YAML

model: brock_mirman
episodes: 1000
batch_size: 64

network:
  type: mlp
  hidden_sizes: [64, 64]

optimizer:
  name: adam
  learning_rate: 1e-3

Run with:

uv run deqn-jax train --config my_config.yaml

Dot-notation overrides

uv run deqn-jax train --config my_config.yaml \
    --set optimizer.learning_rate=0.01 \
    --set network.hidden_sizes=128,128

Per-run constants override

Override individual model constants without editing model code:

constants:
  p_disaster: 0.02
  theta_disaster: 0.05

Useful for calibration sweeps and disaster-risk experiments. See disaster model.

Validation

Configs are Pydantic v2 models. Unknown keys are rejected with did-you-mean suggestions. Type errors are reported with the offending field path.

For the full schema, see the Config API reference.