CLI Workflows¶
The CLI/config interface is the stable path for reproducible runs, HPO, benchmark campaigns, artifact-backed evaluation, visualization workflows, and paper-style outputs.
Use the Python API when you want a normal programmatic workflow for one model. See Python API.
The public CLI is the module entrypoint:
It exposes five modes: fit, tune, bench, evaluate, campaign. Use --help
on each for exact arguments supported by the installed version.
fit: Train One Reproducible Run¶
python -m seahorse fit \
--preset poisson_gmm \
--train data/my_dataset/train.jsonl \
--val data/my_dataset/val.jsonl \
--test data/my_dataset/test.jsonl \
--out runs/fit \
--override training.n_epochs=10 training.batch_size=64
Show CLI command — use a YAML config instead of a preset
Key options:
--presetor--config: required config source.--dataset: named, local, or Hugging Face dataset source.--dataset-revision: optional Hugging Face revision.--train,--val,--test: explicit local JSONL paths.--out: output directory for logs and run artifacts.--save: directory for saving the runner.--override: dotted config overrides such astraining.lr=1e-4.
tune: Search Hyperparameters¶
Requires HPO dependencies: pip install "seahorse-stpp[hpo]"
Show CLI command
Key options:
--presetor--config: required config source.--datasetor--train --val: data source.--n_trials: maximum HPO trials.--search-alg:randomorbayesian.--scheduler:ashaornone.--seed: HPO seed.--max-concurrent-trials: concurrency cap.--out: best-config YAML path.
bench: Run Benchmark Campaigns¶
python -m seahorse bench \
--presets poisson_gmm hawkes_gmm \
--splits_dir splits \
--seeds 1 2 3 \
--out runs/bench \
--n_workers 1
Show CLI command — single dataset or HuggingFace source
Key options:
--presetor--presets: required model preset selection.--datasetor--splits_dir: required benchmark data source.--datasets: filter dataset names from a split collection.--dataset-revision: optional Hugging Face revision.--seeds: one or more seeds.--out: benchmark output directory.--n_workers: worker count.--tune: run HPO before evaluation.--tune-dataset: dataset used for benchmark HPO.--hpo_configs_dir: directory containing{preset}_best.yamlfiles.--normalizeor--no-normalize: benchmark normalization policy.
evaluate: Metrics And Visualizations¶
evaluate is for post-fit analysis on saved runs:
python -m seahorse evaluate metrics \
--run path/to/run_dir \
--data data/my_dataset/test.jsonl \
--split test \
--metric-profile core \
--out runs/evaluate/core_test
Supported modes: metrics, predictive-compare, surface, merge-artifacts.
Continue with Evaluation And Visualization.
campaign: Frozen Multi-Seed Campaigns¶
campaign is the path behind the paper's tables: a JSON spec is compiled into an
immutable manifest, verified, executed cell by cell, and reported.
python -m seahorse campaign prepare --spec experiments/campaign_2026/spec_v1.json --out campaigns/v1
python -m seahorse campaign verify --manifest campaigns/v1/manifest.json
python -m seahorse campaign run --manifest campaigns/v1/manifest.json --job <job_id>
python -m seahorse campaign report --manifest campaigns/v1/manifest.json --out campaigns/v1/report
Subcommands: prepare, verify, preflight, run, evaluate, calibrate
(temporal PIT/CRPS and spatial HPD-PIT from the NLL compensator), report, queue,
rehearse, and slurm (dispatch and reconcile cluster tasks). Prepared-data and
campaign roots come from SEAHORSE_* environment variables. The specs used for the
paper are in experiments/campaign_2026/; see
Reproduce Paper Results.