Data Format¶
The public data contract is JSONL split files. Each line is one event sequence. The same format is used by the Python API and the CLI.
Minimal Record¶
times[i] and locations[i] describe the same event. locations is a list of
coordinate pairs. Optional per-event arrays (marks, event_covariates,
field_covariates) must have the same length as times.
Local Data For One Run¶
Use this layout for Python API experiments, fit, tune, or one-dataset bench runs:
train.jsonl and val.jsonl are required for fitting. test.jsonl is normally
needed for evaluation.
Show Python example
Show CLI command
Local Data For Benchmarks¶
Use a split collection when benchmarking multiple datasets:
Show benchmark layout
Run all datasets found under the root:
python -m seahorse bench \
--presets poisson_gmm hawkes_gmm \
--splits_dir splits_root \
--seeds 1 2 3 \
--out runs/bench
Show CLI command — filter to specific datasets
Hugging Face Data¶
python -m seahorse fit \
--preset poisson_gmm \
--dataset owner/repo[/subdir] \
--dataset-revision main \
--out runs/hf_fit
Use --dataset-revision to pin the source for reproducible runs. The resolved
dataset must expose train.jsonl and val.jsonl; test.jsonl is used when
present.
Show CLI command — HuggingFace benchmark source
Command Support Matrix¶
| Command | Local split paths | Local dataset directory | Split collection | Hugging Face source |
|---|---|---|---|---|
| Python API | yes, via load_jsonl |
yes, by reading files | manual loop | not directly |
fit |
--train --val --test |
--dataset |
no | --dataset |
tune |
--train --val |
--dataset |
no | --dataset |
bench |
no | --dataset |
--splits_dir |
--dataset |
evaluate metrics |
--data |
no | no | no |
Practical Checks¶
- Keep train, validation, and test splits separate.
- Use the same coordinate system across all splits for a dataset.
- Use one JSON object per line, not a single JSON array file.
- Keep optional per-event arrays aligned with
times. - Pin Hugging Face revisions for benchmark or paper results.