Train the atlas-free CNN autoencoder

Train the atlas-free CNN autoencoder#

The retained mixed-source autoencoder is the default. Domain fine-tuning is an explicit opt-in; the run writes reproducible configuration, provenance, checkpoints, metrics, plots, generated maps, and logs.

from neurovlm.training import AutoencoderTrainConfig, train_autoencoder

VARIANT = "mixed_baseline"  # change explicitly to "finetuned"
DOMAIN = None                 # finetuned: pubmed, nilearn, or neurovault

config = AutoencoderTrainConfig(
    output_root="runs",
    variant=VARIANT,
    domain=DOMAIN,
    epochs=100,
)
result = train_autoencoder(config)
print("run:", result.run_dir)
print("best checkpoint:", result.best_checkpoint)
print("epoch metrics:", result.run_dir / "metrics/history.csv")
print("summary metrics:", result.run_dir / "metrics/summary.csv")

Resume or initialize from a local run#

Published Hugging Face resources are used automatically. For intentional local chaining, pass from_run="runs/..."; to continue an interrupted run, retain its run_id and pass resume="runs/...".

# Example only; uncomment after setting your own run directory.
# chained = AutoencoderTrainConfig(from_run="runs/<run-id>")
# resumed = AutoencoderTrainConfig(run_id="my-run", resume="runs/my-run")