Welcome to Jeo¶
What is Jeo?¶
Jeo is an open source framework developed by Google DeepMind for machine learning on geospatial remote sensing and Earth observation (EO) data. It uses JAX and Flax for high-performance model training and inference on large-scale geospatial datasets.
Jeo is primarily intended for researchers and developers working in geospatial analysis, remote sensing, environmental science, and sustainability modelling.
Where to Start¶
| Your Goal | Go To |
|---|---|
| π New to Jeo? Complete end-to-end tutorial | Starter Tutorial |
| βοΈ Understand configs and how to write them | Configs |
| π Launch an experiment on XManager or locally | Launching |
| π¦ Start a new project from scratch | New Project Guide |
| π§ Troubleshooting common errors | FAQ |
Documentation¶
Getting Started¶
- Starter Tutorial β A hands-on, phase-by-phase walkthrough using a real dataset (GlobalGeoTree). Covers the full pipeline from data discovery through GeeFlow export, model training, and evaluation.
Core Concepts¶
- Configs β Config system, custom modules, duration specs, sweeps, Vizier integration, and loading pretrained models.
- Models β Model architectures, input/output conventions, weight loading, and module resolution.
- Tasks & Losses β TaskBase interface, loss functions, and available task types.
- Datasets β TFDS datasets, custom loaders, and GeeFlow integration.
- Preprocessing β The pipe-based preprocessing grammar and available operations.
- Evaluators β Evaluator interface, metrics, Lumascope visualization.
Guides¶
Reference¶
- Conventions & Style β Coding conventions, abbreviations, config style guide, and design principles.
- FAQ & Troubleshooting β Common errors, memory limits, GPU OOM, GeeFlow authentication, and debugging tips.
Design¶
Jeo's code structure is inspired by Big Vision and Scenic, and builds upon:
- JAX β High-performance computation engine.
- Flax β Neural network building tools.
tf.dataβ Data input pipelines.- GeeFlow β Connects to Google Earth Engine's satellite data resources for large-scale dataset generation.
By using JAX and Flax, Jeo benefits from automatic differentiation, XLA compilation, and seamless execution across CPUs, GPUs, and Google Cloud TPUs. This focus on performance is particularly relevant for Earth observation tasks, which often involve processing massive datasets derived from satellite imagery and other remote sensing platforms.
Cite Jeo¶
@software{jeo2025:github,
author = {Maxim Neumann and Anton Raichuk and Michelangelo Conserva and
Luis Miguel Pazos-OutΓ³n and Keith Anderson and Matt Overlan and MΓ©lanie Rey
and Yuchang Jiang and Petra Poklukar and Cristina Nader Vasconcelos},
title = {{JEO}: Model training and inference for geospatial remote sensing and
{E}arth {O}bservation in {JAX}},
url = {https://github.com/google-deepmind/jeo},
year = {2025}
}