CLI¶
Warning
Pre-implementation. This page describes proposed contracts. Class signatures, parameter types, schema fields, and behavior are subject to change before code lands. Once implementation exists, content here will be regenerated from docstrings or sourced from running tests.
Command surface for the emma evaluation harness. The CLI is a Typer application with Hydra-style composition for configuration. The worked examples live in CLI reference; this page is the per-command contract. Every command writes structured output (JSON or columnar text) so it can be piped into scripts.
emma list-tasks¶
List available tasks, their pillars, metrics, OOD (out-of-distribution) axis, and release version.
Signature¶
emma list-tasks [--version V0_1] [--format table|json]
Arguments¶
Argument |
Type |
Default |
Purpose |
|---|---|---|---|
|
ReleaseVersion value |
|
Filter tasks by release |
|
|
|
Output format |
Example¶
$ emma list-tasks --version v0.1
ID PILLAR METRIC OOD STATUS
E-LOC-AOA localization mean angular error (deg) unseen environment v0.1
E-LOC-LOS localization balanced accuracy / AUC unseen environment v0.1
E-ID-DRONE identity AUC unseen drone model v0.1
E-ID-FP identity top-1 / EER leave-one-unit-out v0.1
E-ID-AMC identity accuracy (continuity) unseen SNR regime v0.1
emma download¶
Regenerate a split locally from a frozen rfgen commit and seed range. The generator is the dataset; nothing large is downloaded as a blob. EMMA calls rfgen under the hood using the pinned RfgenRecipe; it never generates I/Q (in-phase and quadrature) itself.
Signature¶
emma download --split SPLIT [--tasks TASKS] [--out PATH] [--release RELEASE]
Arguments¶
Argument |
Type |
Default |
Purpose |
|---|---|---|---|
|
Split value |
required |
Which split to regenerate ( |
|
comma-separated TaskID values |
all v0.1 tasks |
Tasks whose recipes to regenerate |
|
|
|
Output directory for regenerated scenes |
|
ReleaseVersion value |
|
Release to resolve recipes from |
Example¶
emma download --split dev --tasks E-LOC-AOA,E-ID-DRONE --out ./scenes
emma eval¶
Evaluate a backbone on one or more tasks under the OOD protocol, writing predictions and a metrics report. Runs the full protocol by default (all non-training environments as held-out).
Signature¶
emma eval --task TASK --model PATH --scenes PATH [--protocol PROTOCOL] [--out PATH]
Arguments¶
Argument |
Type |
Default |
Purpose |
|---|---|---|---|
|
TaskID value |
required |
Task to evaluate |
|
|
required |
Backbone checkpoint or identifier |
|
|
required |
Directory of regenerated scenes |
|
OODProtocol name |
task default |
Protocol to apply ( |
|
|
|
Output directory for predictions and metrics |
Example¶
emma eval \
--task E-LOC-AOA \
--model ./checkpoints/emma-seed-v0.1 \
--scenes ./scenes \
--protocol leave_one_environment_out \
--out ./runs/aoa
E-LOC-AOA (leave-one-environment-out)
train envs : E-URBAN
eval envs : E-RURAL
mean angular error : 6.41 deg (target: lower is better)
E-RURAL MAE : 7.02 deg
sim-to-real gap : +4.1 pp (vs EMMA-REAL-OOD)
emma submit¶
Validate a prediction bundle and submit it to the leaderboard for holdout scoring.
Signature¶
emma submit --leaderboard VERSION --predictions PATH --model NAME [--pre-registration ID]
Arguments¶
Argument |
Type |
Default |
Purpose |
|---|---|---|---|
|
ReleaseVersion value |
required |
Leaderboard track |
|
|
required |
Directory of prediction bundles |
|
|
required |
Model display name |
|
|
|
Pre-registration id; required for operator submissions |
Example¶
emma submit --leaderboard v0.1 --predictions ./runs/all --model "my-fm@v1"
The holdout labels never leave the scoring server. See Prediction file format for the per-task Parquet schema.
emma score¶
Score a prediction bundle against a local dev split, producing a metrics report without contacting the leaderboard. Used for local validation before submission.
Signature¶
emma score --task TASK --predictions PATH --scenes PATH [--out PATH]
Arguments¶
Argument |
Type |
Default |
Purpose |
|---|---|---|---|
|
TaskID value |
required |
Task to score |
|
|
required |
Path to the prediction Parquet |
|
|
required |
Directory of scenes with labels |
|
|
stdout |
Output path for the metrics report |
Example¶
emma score --task E-LOC-AOA --predictions ./runs/aoa/E-LOC-AOA.parquet --scenes ./scenes
emma release¶
Materialize a data release from one or more recipes, producing a DataReleaseManifest and content-hashing the output. Operator-only; used by the release co-steward.
Signature¶
emma release --recipes PATH [--release-id ID] [--out PATH]
Arguments¶
Argument |
Type |
Default |
Purpose |
|---|---|---|---|
|
|
required |
Recipe files to bundle |
|
|
auto-generated |
Canonical release identifier |
|
|
|
Output directory for the release manifest and scenes |
Example¶
emma release --recipes recipes/v0.1/ --release-id EMMA-v0.1-rc1 --out ./releases
See Also¶
CLI reference: worked examples and the install path.
Schemas: the prediction bundle and submission contracts the CLI reads and writes.
Harness: the evaluator and protocol runner the
evalcommand drives.Tasks: the task and protocol contracts the
evalandlist-taskscommands operate on.Regenerate a dataset: the step-by-step procedure behind
emma download.