Compose the bounded experiment¶
Maturity: verified
The safest first interaction is to compose and validate the shipped
radioml2018_one_step_npp experiment. Configuration validation finishes before
dataset construction, model construction, file writes, or cloud operations.
Compose and inspect¶
Run from the repository root after preparing the source checkout:
PYTHONPATH=src:. uv run --project analysis/eda python - <<'PY'
from rffm.applications.pretrain import load_pretrain_config
config = load_pretrain_config(
"configs",
experiment="radioml2018_one_step_npp",
)
print(config.experiment_name)
print(config.dataset.name, config.dataset.split)
print(config.model.implementation)
print(config.objective.implementation)
print(config.optimizer.implementation)
print(config.training.max_steps, config.training.device)
PY
The committed YAML resolves to:
radioml2018_one_step_npp
radioml2018 train
tiny_causal_iq
next_patch_prediction
adamw
1 cuda
What the preset selects¶
the validated RadioML2018 canonical registry entry and
trainsplit;batches of eight samples with no worker processes;
per-sample joint max-absolute I/Q normalization;
base-10 logarithmic physical-metadata normalization;
fixed patches of 64 I/Q samples;
the tiny causal I/Q model, next-patch prediction, and AdamW;
one optimizer step on an NVIDIA CUDA GPU and checkpoint-at-every-step policy;
the
gs://rf-fm-runs-devapplication artifact root.
The preset does not select validation, a scheduler, best-checkpoint policy, distributed execution, or an evaluator.
Try a validated override¶
Hydra dot-list overrides are accepted by the same loader. This remains side-effect free:
PYTHONPATH=src:. uv run --project analysis/eda python - <<'PY'
from rffm.applications.pretrain import load_pretrain_config
config = load_pretrain_config(
"configs",
experiment="radioml2018_one_step_npp",
overrides=["dataloader.batch_size=4", "training.device=cpu"],
)
print(config.dataloader.batch_size, config.training.device)
PY
Expected output is 4 cpu. Pydantic rejects unknown outer fields after Hydra
composition.