Metadata-Version: 2.1
Name: terratorch
Version: 0.99.1
Summary: TerraTorch - A model training toolkit for geospatial tasks
Author-email: Carlos Gomes <carlos.gomes@ibm.com>, Joao Lucas de Sousa Almeida <joao.lucas.sousa.almeida@ibm.com>
License: Apache License, Version 2.0
Project-URL: Documentation, https://github.com/IBM/terratorch#readme
Project-URL: Issues, https://github.com/IBM/terratorch/issues
Project-URL: Source, https://github.com/IBM/terratorch
Keywords: fine-tuning,geospatial foundation models,artificial inteligence
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: coverage
Requires-Dist: pytest
Requires-Dist: torch>=2.1.0
Requires-Dist: torchvision>=0.16.0
Requires-Dist: torchgeo>=0.5.1
Requires-Dist: rioxarray>=0.15.0
Requires-Dist: albumentations>=1.3.1
Requires-Dist: rasterio>=1.3.9
Requires-Dist: torchmetrics<=1.3.1
Requires-Dist: geopandas>=0.14.2
Requires-Dist: lightly>=1.4.25
Requires-Dist: h5py>=3.10.0
Requires-Dist: geobench>=1.0.0
Requires-Dist: mlflow>=2.12.1
Requires-Dist: lightning<=2.2.5
Provides-Extra: dev
Requires-Dist: black; extra == "dev"
Requires-Dist: mkdocs-material; extra == "dev"
Requires-Dist: mkdocstrings[python]; extra == "dev"

# TerraTorch

:book: [Documentation](https://IBM.github.io/terratorch/)

## Overview
TerraTorch is a library based on [PyTorch Lightning](https://lightning.ai/docs/pytorch/stable/) and the [TorchGeo](https://github.com/microsoft/torchgeo) domain library
for geospatial data. TerraTorch’s main purpose is to provide a flexible fine-tuning framework for Geospatial Foundation Models, which can be interacted with at different abstraction levels.

The library provides:

- Easy access to open source pre-trained Geospatial Foundation Model backbones (e.g., [Prithvi](https://huggingface.co/ibm-nasa-geospatial/Prithvi-100M), [SatMAE](https://sustainlab-group.github.io/SatMAE/) and [ScaleMAE](https://github.com/bair-climate-initiative/scale-mae) and other backbones available in the [timm](https://github.com/huggingface/pytorch-image-models) (Pytorch image models) or [SMP](https://github.com/qubvel/segmentation_models.pytorch) (Pytorch Segmentation models with pre-training backbones) packages.
- Flexible trainers for Image Segmentation, Classification and Pixel Wise Regression fine-tuning tasks
- Launching of fine-tuning tasks through flexible configuration files

## Install
### Pip
In order to use th file `pyproject.toml` it is necessary to guarantee `pip>=21.8`. If necessary upgrade `pip` using `python -m pip install --upgrade pip`. 

For a stable point-release, use `pip install terratorch`. 
If you prefer to get the most recent version of the main branch, install the library with `pip install git+https://github.com/IBM/terratorch.git`.

TerraTorch requires gdal to be installed, which can be quite a complex process. If you don't have GDAL set up on your system, we reccomend using a conda environment and installing it with `conda install -c conda-forge gdal`.

To install as a developer (e.g. to extend the library) clone this repo, install dependencies using `pip install -r requirements.txt` and run `pip install -e .`

## Quick start

To get started, check out the [quick start guide](https://ibm.github.io/terratorch/quick_start)

## For developers

Check out the [architecture overview](https://ibm.github.io/terratorch/architecture)
