Papers
Topics
Authors
Recent
Assistant
AI Research Assistant
Well-researched responses based on relevant abstracts and paper content.
Custom Instructions Pro
Preferences or requirements that you'd like Emergent Mind to consider when generating responses.
Gemini 2.5 Flash
Gemini 2.5 Flash 67 tok/s
Gemini 2.5 Pro 48 tok/s Pro
GPT-5 Medium 25 tok/s Pro
GPT-5 High 18 tok/s Pro
GPT-4o 94 tok/s Pro
Kimi K2 173 tok/s Pro
GPT OSS 120B 444 tok/s Pro
Claude Sonnet 4.5 34 tok/s Pro
2000 character limit reached

TerraTorch: The Geospatial Foundation Models Toolkit (2503.20563v1)

Published 26 Mar 2025 in cs.CV and cs.LG

Abstract: TerraTorch is a fine-tuning and benchmarking toolkit for Geospatial Foundation Models built on PyTorch Lightning and tailored for satellite, weather, and climate data. It integrates domain-specific data modules, pre-defined tasks, and a modular model factory that pairs any backbone with diverse decoder heads. These components allow researchers and practitioners to fine-tune supported models in a no-code fashion by simply editing a training configuration. By consolidating best practices for model development and incorporating the automated hyperparameter optimization extension Iterate, TerraTorch reduces the expertise and time required to fine-tune or benchmark models on new Earth Observation use cases. Furthermore, TerraTorch directly integrates with GEO-Bench, allowing for systematic and reproducible benchmarking of Geospatial Foundation Models. TerraTorch is open sourced under Apache 2.0, available at https://github.com/IBM/terratorch, and can be installed via pip install terratorch.

Summary

  • The paper introduces TerraTorch, a PyTorch Lightning-based toolkit specifically designed to simplify the fine-tuning and rigorous benchmarking of Geospatial Foundation Models (GFMs) using satellite, weather, and climate data.
  • TerraTorch features a modular architecture with data modules, predefined tasks, and a model factory, enabling flexible combination of GFM backbones with task-specific decoder heads via a configuration-driven workflow.
  • The toolkit integrates with GEO-Bench for standardized evaluation and includes automated hyperparameter optimization, promoting reproducible research and efficient application development for Earth Observation tasks.

TerraTorch is a software toolkit designed to facilitate the fine-tuning and benchmarking of Geospatial Foundation Models (GFMs), specifically targeting applications involving satellite, weather, and climate data (2503.20563). Built upon the PyTorch Lightning framework, it provides a structured environment for adapting pre-trained GFMs to specific downstream tasks within the Earth Observation (EO) domain. The toolkit aims to streamline the MLOps cycle for GFMs by encapsulating best practices for model development, data handling, and evaluation.

Architecture and Core Components

TerraTorch employs a modular architecture centered around several key components, enabling flexibility and ease of use. It leverages PyTorch Lightning for standardized training loops, hardware abstraction (CPU, GPU, multi-GPU), logging, and checkpointing.

  • Data Modules: These are specialized PyTorch Lightning DataModule implementations tailored for geospatial data types. They handle the complexities of loading, preprocessing, augmenting, and batching satellite imagery, weather model outputs, and climate simulations. TerraTorch likely includes modules compatible with common geospatial data formats (e.g., GeoTIFF, NetCDF) and structures, potentially integrating with libraries like rasterio, xarray, and satpy. The design aims to abstract data handling specifics away from the model training logic. Integration with benchmarking datasets, notably GEO-Bench, is explicitly supported, ensuring standardized data access for evaluation.
  • Pre-defined Tasks: TerraTorch incorporates implementations of common EO tasks, such as semantic segmentation, scene classification, object detection, and potentially regression or forecasting tasks relevant to weather/climate. These tasks are typically implemented as PyTorch Lightning LightningModule wrappers or components within a larger module. They define the task-specific loss functions, evaluation metrics (e.g., mIoU for segmentation, accuracy/F1 for classification), and inference logic. Users can leverage these pre-defined tasks or extend the framework with custom task definitions.
  • Modular Model Factory: A central feature is the model factory, which allows users to dynamically combine different GFM backbones (the pre-trained feature extractors) with various decoder heads suited for specific tasks. For instance, a Vision Transformer (ViT) or ConvNeXt backbone pre-trained on satellite imagery could be paired with a U-Net-style decoder for segmentation or a simple linear layer for classification. This modularity facilitates experimentation with different model architectures without requiring extensive code changes. The factory pattern likely relies on configuration inputs to instantiate the desired model components.
  • Configuration-driven Workflow: The toolkit emphasizes a configuration-driven approach, primarily using YAML files. This allows users to define entire experiments—including dataset selection, model architecture (backbone + head), hyperparameters (learning rate, batch size, optimizer), training duration, and task specifics—without writing explicit Python code for the training loop. This "no-code" fine-tuning capability significantly lowers the barrier to entry for applying GFMs to new use cases and enhances reproducibility.

Key Features and Capabilities

TerraTorch offers several features designed to accelerate GFM research and application development.

  • Streamlined Fine-tuning: Leveraging PyTorch Lightning and the configuration system, fine-tuning a GFM involves selecting a pre-trained backbone, choosing an appropriate decoder head for the target task, specifying the dataset via a data module, and defining hyperparameters in the configuration file. The toolkit handles the underlying training orchestration.
  • Integrated Benchmarking: Direct integration with GEO-Bench provides a standardized framework for evaluating GFM performance across diverse EO tasks and datasets. By running models through the GEO-Bench suite using TerraTorch, researchers can obtain comparable and reproducible performance metrics, facilitating rigorous model assessment and comparison.
  • Automated Hyperparameter Optimization (HPO): The toolkit incorporates an extension named Iterate for automated HPO. This feature allows users to define search spaces for hyperparameters within the configuration file. Iterate then systematically explores these spaces using algorithms like grid search, random search, or potentially more advanced methods (e.g., Bayesian optimization), automating the process of finding optimal configurations for specific model-data-task combinations. This reduces manual effort and potentially leads to better model performance.
  • Extensibility: The modular design allows users to contribute custom components. Researchers can add new data modules for unsupported datasets or formats, implement novel GFM backbones or decoder architectures within the model factory, or define new tasks with specific loss functions and metrics. This extensibility ensures the toolkit can adapt to evolving research needs.

Implementation and Usage

TerraTorch is distributed as a Python package installable via pip.

1
pip install terratorch

A typical workflow involves the following steps:

  1. Configuration: Prepare a YAML configuration file specifying the experiment details. This includes paths to data, choices for the data module, GFM backbone, decoder head, task type, training parameters (epochs, learning rate, optimizer, batch size), and any specific augmentations or evaluation settings.
  2. Execution: Run the TerraTorch training script, pointing it to the configuration file.

1
terratorch_train --config path/to/experiment_config.yaml

  1. Output: The toolkit outputs trained model checkpoints, logs (e.g., TensorBoard), and evaluation metrics based on the configuration.

A conceptual configuration file might look like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
experiment_name: sentinel2_lulc_segmentation

data:
  module: Sentinel2LULCDataModule # Specific data module
  data_dir: /path/to/lulc/dataset
  batch_size: 16
  num_workers: 8
  # ... other data parameters (e.g., bands, patch size)

model:
  backbone:
    name: Prithvi-100M # Example GFM backbone
    pretrained: True
  decoder:
    name: UNetDecoder # Task-specific decoder
    num_classes: 10 # Number of LULC classes
  task:
    type: SemanticSegmentationTask
    loss: CrossEntropyLoss
    metrics: [IoU, Accuracy]

trainer:
  accelerator: gpu
  devices: [0, 1] # Use 2 GPUs
  max_epochs: 50
  precision: 16 # Mixed-precision training
  logger: TensorBoardLogger
  # ... other trainer args (e.g., callbacks)

optimizer:
  name: AdamW
  lr: 1e-4
  weight_decay: 1e-5

scheduler:
  name: CosineAnnealingLR
  T_max: 50

hpo:
  params:
    optimizer.lr: [1e-5, 1e-4, 1e-3]
    model.backbone.freeze: [True, False]
  # ... HPO strategy details

This configuration-centric approach simplifies experiment management and reproducibility.

Integration with Existing Ecosystems

TerraTorch builds upon and integrates with established tools in the ML and geospatial domains:

  • PyTorch Lightning: Serves as the core engine, providing structure, boilerplate reduction, and best practices for training deep learning models. This includes seamless multi-GPU/TPU training, mixed-precision support, logging integrations, and fault-tolerant training.
  • GEO-Bench: Provides the datasets and evaluation protocols for standardized GFM benchmarking, ensuring that results generated using TerraTorch are comparable across different studies and models.
  • Python Geospatial Ecosystem: Likely utilizes libraries like rasterio, xarray, geopandas, and shapely within its data modules for efficient handling of geospatial data formats and operations.

Practical Considerations

  • Computational Requirements: Fine-tuning large GFMs, especially transformer-based models like Prithvi, requires significant computational resources, typically high-end GPUs with substantial VRAM. Multi-GPU setups are often necessary for reasonable training times. Mixed-precision training (precision: 16) can help reduce memory footprint and speed up computations.
  • Data Handling: EO datasets can be extremely large. Efficient data loading and preprocessing are critical. TerraTorch's data modules aim to address this, but users may need to consider factors like data storage, I/O bandwidth, and appropriate data chunking or tiling strategies.
  • Reproducibility: The emphasis on configuration files and integration with standardized benchmarks like GEO-Bench strongly promotes reproducibility, allowing others to easily replicate fine-tuning experiments and benchmark results.

Conclusion

TerraTorch provides a valuable toolkit for researchers and practitioners working with Geospatial Foundation Models in Earth Observation (2503.20563). By combining a modular architecture, configuration-driven workflows, integration with PyTorch Lightning and GEO-Bench, and features like automated HPO, it significantly simplifies the process of fine-tuning GFMs for specific tasks and facilitates rigorous, reproducible benchmarking. Its open-source nature further encourages community contribution and extension.

List To Do Tasks Checklist Streamline Icon: https://streamlinehq.com

Collections

Sign up for free to add this paper to one or more collections.

Github Logo Streamline Icon: https://streamlinehq.com