animap-gpu / space /FIXTURES.md
bluman1's picture
Publish services/inference
4b98524 verified
|
Raw
History Blame Contribute Delete
2.36 kB

A newer version of the Gradio SDK is available: 6.26.0

Upgrade

The two captures the Space serves

LocalMediaStore resolves a media id to <root>/<media_id><suffix>, so a fixture's filename is its media id. Both ids are uuid5 of the slug under the Space's own namespace, which means they are reproducible from the manifest and stable across rebuilds — a caller can hard-code one and it will still be there next month.

NAMESPACE = uuid5(NAMESPACE_URL,
                  "https://huggingface.co/spaces/bluman1/animap-inference/fixtures")
media_id  = uuid5(NAMESPACE, slug)

Neither image is stored in the Animap repository, for the reason .gitignore gives for the other 59: the Commons frames are not Animap's work to redistribute in git, and evaluation/fetch.py rebuilds them from their manifest. space/publish.py holds two slugs, resolves each to a file in evaluation/images/, checks its sha256 against evaluation/dataset.json, and writes it into the Space under the media id above. A frame that has drifted, or that carries a licence with an obligation attached, stops the publish.

Media id Slug Species Human count Licence Attribution
aa5e8481-8be6-509d-b1fa-f1a178c7cda0 cattle_ng_gombe_farm cattle 7 CC0 Abdsomod, Commons
89f41a99-e419-5777-8009-f8a7ca8c4cfb poultry_chickens_in_line poultry 5 Public domain GaylaLin, Commons

Public-domain terms on both, and that is the selection rule rather than a coincidence. The Space is public, so shipping a frame is redistributing it; CC0 and public domain are the two rows in the evaluation manifest that carry no attribution obligation to discharge on a surface nobody has built yet. Twenty other cattle frames score better as demonstrations and every one of them is CC BY-SA.

The counts are one non-expert annotator's, checked by a tiled second pass — the same ground truth the model cards call the weakest part of their measurement. They are here so a reader can tell a plausible answer from a wrong one, not as a target the service is graded against.

These are demonstration captures, not test data. Nothing asserts against them; evaluation/run.py is what measures the detector, over all 61 frames.