# Pytorch EO

Deep Learning for Earth Observation applications and research.

> 🚧 This project is in early development, so bugs and breaking changes are expected until we reach a stable version.

## Installation

Make sure that you have the dependencies installed.

```
pip install pytorch-eo
```

## Dependencies

Pytorch EO is built on top of:

- [Pytorch](https://pytorch.org/)
- [Torchvision](https://pytorch.org/vision/stable/index.html)
- [Pytorch-Lightning](https://www.pytorchlightning.ai/)
- [Rasterio](https://rasterio.readthedocs.io/en/latest/)

Do you need to learn these libraries first ? NO! You can just get started with our [examples](https://github.com/earthpulse/pytorch_eo/tree/main/examples) and [tutorials](https://github.com/earthpulse/pytorch_eo/tree/main/tutorials). However, if you plan to use Pytorch EO extensively and want to get the most out of it, you may have to become familiar with them.

## Examples

Learn by doing with our [examples](https://github.com/earthpulse/pytorch_eo/tree/main/examples).

### Ready to use Datasets

- [EuroSAT](https://github.com/phelber/EuroSAT)

<!-- ### Build your own Datasets

Using SCAN you can annotate your own data and access it directly through Pytorch EO. -->


## Research

Pytorch EO can be a useful tool for research:

- Flexibility to build new models
- Reproducibility: use same data splits and random seeds to compare with others

See the [examples](https://github.com/earthpulse/pytorch_eo/tree/main/examples).

## Production

Pytorch EO was built with production in mind from the beginning:

- Optimize model for production
- Export models to torchscript
<!-- - Upload models to our Models Universe
- Use models directly through SPAI -->

See the [examples](https://github.com/earthpulse/pytorch_eo/tree/main/examples).

<!-- ## Documentation

Read our [docs](https://earthpulse.github.io/pytorch_eo/). -->

## Contributing

Read the [CONTRIBUTING](https://github.com/earthpulse/pytorch_eo/blob/main/CONTRIBUTING.md) guide.
