Skip to content

WUR-AI/aether

Repository files navigation

AETHER-xAI

python pytorch lightning hydra black isort
tests code-quality codecov
license PRs contributors

Python License Issues GitHub Tag

Description

Some code was adapted from github.com/vdplasthijs/PECL/.

Installation

To use Google Earth engine (GEE) utilities, you need a GEE API key. To use that key here, create the file content/api_keys.py that contains one line GEE_API = '<your_api_key>'.

Data paths are automatically retrieved from content/data_paths.json. You can add your profile (login name) here, or alternatively the 'default' profile will be used.

Getting started

Have a look at the Jupyter notebooks in notebooks/ to see how the functions in src/ are used.

Data:

The S2BMS coordinates and species occurrence probabilities are stored in content/. All satellite images of the full S2-BMS data set are available on Zenodo.

Project Structure

The directory structure of new project looks like this:

├── .github                   <- Github Actions workflows
│
├── configs                   <- Hydra configs
│   ├── callbacks                <- Callbacks configs
│   ├── data                     <- Data configs
│   ├── debug                    <- Debugging configs
│   ├── experiment               <- Experiment configs
│   ├── extras                   <- Extra utilities configs
│   ├── hparams_search           <- Hyperparameter search configs
│   ├── hydra                    <- Hydra configs
│   ├── local                    <- Local configs
│   ├── logger                   <- Logger configs
│   ├── model                    <- Model configs
│   ├── paths                    <- Project paths configs
│   ├── trainer                  <- Trainer configs
│   │
│   ├── eval.yaml             <- Main config for evaluation
│   └── train.yaml            <- Main config for training
│
├── data                   <- Project data
│
├── logs                   <- Logs generated by hydra and lightning loggers
│
├── notebooks              <- Jupyter notebooks. Naming convention is a number (for ordering),
│                             the creator's initials, and a short `-` delimited description,
│                             e.g. `1.0-jqp-initial-data-exploration.ipynb`.
│
├── scripts                <- Shell scripts
│
├── src                    <- Source code
│   ├── data                     <- Data scripts
│   ├── models                   <- Model scripts
│   ├── utils                    <- Utility scripts
│   │
│   ├── eval.py                  <- Run evaluation
│   └── train.py                 <- Run training
│
├── tests                  <- Tests of any kind
│
├── .env.example              <- Example of file for storing private environment variables
├── .gitignore                <- List of files ignored by git
├── .pre-commit-config.yaml   <- Configuration of pre-commit hooks for code formatting
├── .project-root             <- File for inferring the position of project root directory
├── environment.yaml          <- File for installing conda environment
├── Makefile                  <- Makefile with commands like `make train` or `make test`
├── pyproject.toml            <- Configuration options for testing and linting
├── requirements.txt          <- File for installing python dependencies
├── setup.py                  <- File for installing project as a package
└── README.md

Getting Started

First, install dependencies

# clone project   
git clone https://github.com/WUR-AI/aether
cd aether

# install conda environment  
conda create -n aether python=3.12
conda activate aether

# or venv 
python3 -m .venv
source .venv/bin/activate

# install uv manager
pip install uv

# install all Python dependencies
uv sync # reads pyproject.toml + uv.lock

# install project locally (editable)
uv pip install -e .

Citation

@article
{
    YourName,
    title = {Your Title},
    author = {Your team},
    journal = {Location},
    year = {Year}
}

About

Explainable AI for EO data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •