AI-for-Good-Tutorial-2026
February 25, 2026 · View on GitHub
Hands-on material for the AI for Good workshop “Embedding Workflows for Earth Observation Tasks”, organized by Embed2Scale (February 2026).
This tutorial introduces embedding workflows for Earth Observation (EO) using TerraTorch and NeuCo-Bench. It is structured into three self-contained parts:
- Parts 1 & 2: lightweight, designed to follow live during the workshop.
- Part 3: full end-to-end workflow with additional data and (ideally) GPU access.
Before starting, complete the setup in setup.md.
Overview
Part 1 — TerraTorch: Embeddings + Lightweight Decoders
You will:
- Generate embeddings from EO data with TerraTorch
- Train and evaluate lightweight decoder‑only models
- Inspect embeddings and compare results
Part 2 — NeuCo‑Bench: No‑Code Evaluations
You will:
- Learn the NeuCo‑Bench benchmarking workflow
- Evaluate pre-computed embeddings fully no‑code
Part 3 — End‑to‑End Workflow
You will:
- Download raw NeuCo‑Bench data
- Compute and store embeddings to run your own NeuCo‑Bench evaluations
Repository Structure
AI-for-Good-Tutorial-2026/
│
├── setup.md # Setup instructions (env, dependencies, downloads)
├── data/ # Provided data + location for additional downloads
│
├── notebooks/ # Hands-on notebooks for Parts 1 & 3
│ ├── 01_terratorch_embedding_generation.ipynb
│ ├── 01_terratorch_embedding_downstream.ipynb
│ └── 03_terratorch_neuco_embeddings.ipynb
│
├── scripts/ # Helper scripts (e.g. data download)
├── workflows/ # TerraTorch CLI YAMLs + NeuCo-Bench scripts
└── results/ # Outputs produced during the tutorial
Getting Started
Part 1 — Embedding Generation + Downstream Tasks (TerraTorch)
Run:
notebooks/01_terratorch_embedding_generation.ipynb→ writes embeddings toresults/01_embeddings/notebooks/01_terratorch_embedding_downstream.ipynb→ writes decoder logs + weights toresults/01_decoders/
Part 2 — No‑Code Benchmarking (NeuCo‑Bench)
In terminal:
chmod +x workflows/02_neuco_benchmark.sh
./workflows/02_neuco_benchmark.sh
This produces results under results/neuco_bench/.
Part 3 — Full End‑to‑End Workflow (optional)
For this part you need the optional ~50 GB SSL4EO‑S12 L1C download.
- Complete the optional data download section in
setup.md→ downloads todata/neuco_ssl4eo_downstream/. - Continue with:
notebooks/03_terratorch_neuco_embeddings.ipynb
- To generate full TerraMind tiny max pooling embeddings via CLI:
terratorch predict -c workflows/03_terratorch_neuco_embeddings.yaml
Make sure to change in the NeuCo‑Bench config: update_leaderboard = true.
Then:
chmod +x workflows/03_neuco_benchmark.sh
./workflows/03_neuco_benchmark.sh
Finally inspect the NeuCo‑Bench results folder.
Final Links
- TerraTorch: https://github.com/terrastackai/terratorch
- NeuCo-Bench: https://github.com/embed2scale/NeuCo-Bench
- NeuCo-Bench Dataset: https://huggingface.co/datasets/embed2scale/SSL4EO-S12-downstream
- Embed2Scale Project: https://embed2scale.eu
If you have questions, feel free to reach out: isabelle.wittmann1@ibm.com or open issues in TerraTorch, NeuCo‑Bench, or this tutorial repository.