|
|
--- |
|
|
language: en |
|
|
license: mit |
|
|
tags: |
|
|
- precipitation |
|
|
- convlstm |
|
|
- multitask-learning |
|
|
- climate |
|
|
- vegetation |
|
|
- amazon |
|
|
model-index: |
|
|
- name: MultiTask ConvLSTM w/veg inputs |
|
|
results: |
|
|
- task: |
|
|
type: time-series-forecasting |
|
|
name: Precipitation Prediction |
|
|
dataset: |
|
|
name: ERA5-Land Amazon Basin (2021–2023) |
|
|
type: reanalysis |
|
|
metrics: |
|
|
- type: mean_squared_error |
|
|
value: 0.28 |
|
|
- type: spearman_correlation |
|
|
value: 0.87 |
|
|
- type: pearson_correlation |
|
|
value: 0.79 |
|
|
- type: kendall_tau |
|
|
value: 0.70 |
|
|
- type: nash_sutcliffe_efficiency |
|
|
value: 0.62 |
|
|
- type: f1 |
|
|
value: 0.82 |
|
|
- type: accuracy |
|
|
value: 0.90 |
|
|
- type: precision |
|
|
value: 0.90 |
|
|
- type: ROC-AUC |
|
|
value: 0.97 |
|
|
- type: recall |
|
|
value: 0.75 |
|
|
--- |
|
|
|
|
|
# MultiTask ConvLSTM for Precipitation Prediction |
|
|
|
|
|
This repository contains two MultiTask ConvLSTM models: |
|
|
- **veg/**: Model trained with vegetation input variables |
|
|
- **noveg/**: Model trained without vegetation input variables |
|
|
|
|
|
Both directories include: |
|
|
- `convlstm.py`: base ConvLSTM layers |
|
|
- `model.py`: MultiTask ConvLSTM model definition |
|
|
- `example_inference.py`: inference script |
|
|
- `data/`: example `.pth` files (test) |
|
|
|
|
|
These scripts are provided for reproducibility of the model architecture and workflow. |
|
|
Exact runtime and performance may vary depending on hardware. |
|
|
|
|
|
## Example Data |
|
|
|
|
|
We provide a large test `.pth` files |
|
|
so you can immediately run the inference script without preprocessing. |
|
|
These files are already preprocessed and normalized from the ECWMF REA5 reanalysis data. |
|
|
|
|
|
Each `.pth` file loads as a list of batches: |
|
|
|
|
|
- `X_batch`: shape `(B, T_in, C_in, H*W)` |
|
|
- `y_batch`: shape `(B, T_out, C_out, H*W)` |
|
|
- `y_zero_batch`: shape `(B, T_out, C_out, H*W)` |
|
|
|
|
|
with `H=81`, `W=97`. Inside `evaluate(...)`, these are reshaped to `(B, T, C, H, W)`. |
|
|
|
|
|
--- |
|
|
|
|
|
## How to Use |
|
|
|
|
|
Ensure all files are in the correct directory then run the example_inference.py file. |
|
|
|
|
|
# 1 Get the repo |
|
|
git clone https://huggingface.co/<your-username>/MultiTaskConvLSTM |
|
|
cd MultiTaskConvLSTM |
|
|
|
|
|
# 2 Install minimal deps |
|
|
pip install -r requirements.txt |
|
|
|
|
|
# 3 Run inference (choose one variant) |
|
|
python veg/example_inference.py |
|
|
# or |
|
|
python noveg/example_inference.py |
|
|
|
|
|
|
|
|
## Citation If you use this model, please cite: > Lilly Horvath-Makkos (2025). [title] [journal] BibTeX: |
|
|
bibtex |
|
|
@article{horvathmakkos2025, |
|
|
title={Title}, |
|
|
author={Horvath-Makkos, Lilly}, |
|
|
journal={Journal}, |
|
|
year={2025} |
|
|
} |