Skip to main content

olmoearth_inferenceX is a tool for auditing Earth-observation prediction maps without labels. It ranks the windows of a map by the model's own confidence, so a reviewer knows where to look first, says why each window is flagged, and measures how two inferences of the same scene differ.

  1. Ranking. Pool the map to windows (4 px). Suspicion s = −(p₍₁₎ − p₍₂₎), the negative top-1-minus-top-2 margin of the model's own scores; boundary windows first, then by s. A ranking is scored by excess AURC, AURC(s) − AURC(oracle), beside two controls that never see the model (class rarity, embedding distance).
  2. Comparing. Two inferences A, B on one window grid: P(A ≠ B), its enrichment among the errors, and P(confidence picks the right side | A ≠ B), each against the reseed floor.
  3. Estimating. Label n windows, stratified by margin with n_h ∝ N_h √(q_h(1−q_h)) from the model's own confidence; θ̂ = Σ W_h p_h, 95% interval from Σ W_h²(1−f_h) p_h(1−p_h)/(n_h−1); cluster-corrected when labels come tile by tile. A review set is refused as a sample: its rate is capture(b)·θ/b, not θ.
One scene through the audit: Sentinel-2 bands, the frozen OlmoEarth encoder and the task head, the prediction, confidence and boundary layers, the review set at a 5% budget drawn on the scene, and the reasons per flagged window

On the 24 tasks of Ai2's published embedding suite where a confidence margin is defined, the model's own confidence ranks its errors better than any control that sees no model, on every one.

Full documentation is available at https://olmoearth-inferencex.readthedocs.io/: the findings, the usage, the recipe and the evidence experiment by experiment.

Demo

pip install olmoearth-inferencex
oe-inferencex demo

It audits a real map, one tile of Dynamic World land cover, chosen by a rule fixed in advance (the median tile of 18, not the best one), and draws this:

Three panels of a real land-cover map in southern Peru. Left: the 5% of windows to check first, outlined in black along the class boundaries. Middle: the same windows over the map's real errors in red. Right: a random 5% of windows over the same errors

Left: the 5% of windows to check first, found without labels. Middle: the same windows over the real errors, in red: 67% of them are wrong, against 19% of windows picked at random. Right: a random 5%. Most of the red lies outside the flagged windows because the map is 19% wrong and the review is 5%: no 5% could hold more than 26% of the errors, and these hold 17%; a 20% review finds 55%.

Your own map: oe-inferencex assess your_map.tif --out audit.

Setup

pip install olmoearth-inferencex        # add [geo] to read and write GeoTIFFs

To work on the repository, clone it, then uv sync and uv run pytest; the experiments also need uv sync --extra encoder --extra geo.

Apache License 2.0, see LICENSE; to cite, see CITATION.cff. For questions and suggestions, please open an issue on GitHub.

Release files for olmoearth-inferencex 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for olmoearth-inferencex 1.2.0
File Size Uploaded
olmoearth_inferencex-1.2.0.tar.gz 334.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for olmoearth-inferencex 1.2.0
File Interpreter ABI Platform
olmoearth_inferencex-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 671.8 kB

Release files / olmoearth_inferencex-1.2.0.tar.gz

Download URL olmoearth_inferencex-1.2.0.tar.gz
Size 334.5 kB
Tags Source
SHA-256 checksum
How to use checksums
59eec192e06533465dc6c0168b5f9629e49a3bfc3ad9b64f0f06fc1a2284c97e
BLAKE2b-256 checksum
How to use checksums
f930709151da24cba9fb270c85f0a58ea5c04ed79c1a6309f5112f390c019f80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / olmoearth_inferencex-1.2.0-py3-none-any.whl

Download URL olmoearth_inferencex-1.2.0-py3-none-any.whl
Size 337.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
50a7d6b33fd2a59971273f2b19b063436cbd3c55fea6477ee073790767791509
BLAKE2b-256 checksum
How to use checksums
e0cdd3b1a6f47219d7fc5ae2d911bf02d7891d61b4df920fdaf1768e4e12dc95
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.17 {"installer":{"name":"uv","version":"0.12.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

1.3.1

2 release files

1.3.0

2 release files

This release

1.2.0 This release

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page