# 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), 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, as well as fine-tuned models such as [granite-geospatial-biomass](https://huggingface.co/ibm-granite/granite-geospatial-biomass)
- 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`.
[comment]: <For a stable point-release, use `pip install terratorch`.>
[comment]: <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`.>
To get the most recent version of the main branch, install the library with `pip install git+https://github.com/IBM/terratorch.git`.
[comment]: <Another alternative is to install using [pipx](https://github.com/pypa/pipx) via `pipx install terratorch`, which creates an isolated environment and allows the user to run the application as a common CLI tool, with no need of installing dependencies or activating environments.>
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/required.txt -r requirements/dev.txt` and run `pip install -e .`
To install terratorch with partial (work in development) support for Weather Foundation Models, `pip install -e .[wxc]`, which currently works just for `Python >= 3.11`.
## 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).
A simple hint for any contributor. If you want to met the GitHub DCO checks, just do your commits as below:
```
git commit -s -m <message>
```
It will sign the commit with your ID and the check will be met.
Raw data
{
"_id": null,
"home_page": null,
"name": "terratorch",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "fine-tuning, geospatial foundation models, artificial intelligence",
"author": "Romeo Kienzler, Benedikt Blumenstiel",
"author_email": "Carlos Gomes <carlos.gomes@ibm.com>, Joao Lucas de Sousa Almeida <joao.lucas.sousa.almeida@ibm.com>",
"download_url": "https://files.pythonhosted.org/packages/aa/cd/2a80af6c4923ce5a1883ff36c2c42020273b637b168140b59c5f2ce3572a/terratorch-0.99.7.tar.gz",
"platform": null,
"description": "# TerraTorch\n\n:book: [Documentation](https://IBM.github.io/terratorch/)\n\n## Overview\nTerraTorch is a library based on [PyTorch Lightning](https://lightning.ai/docs/pytorch/stable/) and the [TorchGeo](https://github.com/microsoft/torchgeo) domain library\nfor geospatial data. \n\nTerraTorch\u2019s main purpose is to provide a flexible fine-tuning framework for Geospatial Foundation Models, which can be interacted with at different abstraction levels.\n\nThe library provides:\n\n- 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), other backbones available in the [timm](https://github.com/huggingface/pytorch-image-models)\u00a0(Pytorch image models) or\u00a0[SMP](https://github.com/qubvel/segmentation_models.pytorch) (Pytorch Segmentation models with pre-training backbones)\u00a0packages, as well as fine-tuned models such as [granite-geospatial-biomass](https://huggingface.co/ibm-granite/granite-geospatial-biomass)\n- Flexible trainers for Image Segmentation, Classification and Pixel Wise Regression fine-tuning tasks\n- Launching of fine-tuning tasks through flexible configuration files\n\n## Install\n### Pip\nIn 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`. \n\n[comment]: <For a stable point-release, use `pip install terratorch`.>\n[comment]: <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`.>\nTo get the most recent version of the main branch, install the library with `pip install git+https://github.com/IBM/terratorch.git`.\n\n[comment]: <Another alternative is to install using [pipx](https://github.com/pypa/pipx) via `pipx install terratorch`, which creates an isolated environment and allows the user to run the application as a common CLI tool, with no need of installing dependencies or activating environments.>\n\nTerraTorch 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`.\n\nTo install as a developer (e.g. to extend the library) clone this repo, install dependencies using `pip install -r requirements/required.txt -r requirements/dev.txt` and run `pip install -e .`\nTo install terratorch with partial (work in development) support for Weather Foundation Models, `pip install -e .[wxc]`, which currently works just for `Python >= 3.11`. \n\n## Quick start\n\nTo get started, check out the [quick start guide](https://ibm.github.io/terratorch/quick_start)\n\n## For developers\n\nCheck out the [architecture overview](https://ibm.github.io/terratorch/architecture).\n\nA simple hint for any contributor. If you want to met the GitHub DCO checks, just do your commits as below:\n```\ngit commit -s -m <message>\n```\nIt will sign the commit with your ID and the check will be met. \n",
"bugtrack_url": null,
"license": "Apache License, Version 2.0",
"summary": "TerraTorch - A model training toolkit for geospatial tasks",
"version": "0.99.7",
"project_urls": {
"Documentation": "https://github.com/IBM/terratorch#readme",
"Issues": "https://github.com/IBM/terratorch/issues",
"Source": "https://github.com/IBM/terratorch"
},
"split_keywords": [
"fine-tuning",
" geospatial foundation models",
" artificial intelligence"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2adddcc324192c4c88f6ff73774b9b5e09a53a7cd3765e9de011d4c4d3066527",
"md5": "04efadc51457ef60ebe3a6eecd15d7a5",
"sha256": "5f10541e2f6c714e7803f461fe11a86d8951d27be93cbc148fdbcc2c9c6221e9"
},
"downloads": -1,
"filename": "terratorch-0.99.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "04efadc51457ef60ebe3a6eecd15d7a5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 288987,
"upload_time": "2024-12-06T08:13:11",
"upload_time_iso_8601": "2024-12-06T08:13:11.049519Z",
"url": "https://files.pythonhosted.org/packages/2a/dd/dcc324192c4c88f6ff73774b9b5e09a53a7cd3765e9de011d4c4d3066527/terratorch-0.99.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "aacd2a80af6c4923ce5a1883ff36c2c42020273b637b168140b59c5f2ce3572a",
"md5": "1f0b6213e909b8ef17cf9d3bebc5dc66",
"sha256": "239443602c544b6da6347f1f6ed7b6851dbb790ee133ff9f82e34483d8e0ad8e"
},
"downloads": -1,
"filename": "terratorch-0.99.7.tar.gz",
"has_sig": false,
"md5_digest": "1f0b6213e909b8ef17cf9d3bebc5dc66",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 200765,
"upload_time": "2024-12-06T08:13:13",
"upload_time_iso_8601": "2024-12-06T08:13:13.613987Z",
"url": "https://files.pythonhosted.org/packages/aa/cd/2a80af6c4923ce5a1883ff36c2c42020273b637b168140b59c5f2ce3572a/terratorch-0.99.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-06 08:13:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "IBM",
"github_project": "terratorch#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "terratorch"
}