Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/carlos-gg/dl4ds
Deep Learning for empirical DownScaling. Python package with state-of-the-art and novel deep learning algorithms for empirical/statistical downscaling of gridded data
https://github.com/carlos-gg/dl4ds
deep-learning downscaling earth-observation earth-science python super-resolution tensorflow
Last synced: 9 days ago
JSON representation
Deep Learning for empirical DownScaling. Python package with state-of-the-art and novel deep learning algorithms for empirical/statistical downscaling of gridded data
- Host: GitHub
- URL: https://github.com/carlos-gg/dl4ds
- Owner: carlos-gg
- License: apache-2.0
- Created: 2021-03-15T12:10:47.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-07-30T09:48:34.000Z (6 months ago)
- Last Synced: 2025-01-20T22:09:13.611Z (17 days ago)
- Topics: deep-learning, downscaling, earth-observation, earth-science, python, super-resolution, tensorflow
- Language: Jupyter Notebook
- Homepage: https://carlos-gg.github.io/dl4ds/
- Size: 4.29 MB
- Stars: 87
- Watchers: 3
- Forks: 29
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Tensorflow - Version](https://img.shields.io/badge/Tensorflow%2FKeras-2.6+-blue&logo=tensorflow)](https://github.com/carlgogo/dl4ds)
[![Python - Version](https://img.shields.io/badge/PYTHON-3.6+-red?style=flat&logo=python&logoColor=white)](https://github.com/carlgogo/dl4ds)
[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/carlos-gg/dl4ds/blob/master/notebooks/DL4DS_tutorial.ipynb)# Deep Learning for empirical DownScaling
`DL4DS` (Deep Learning for empirical DownScaling) is a Python package that implements state-of-the-art and novel deep learning algorithms for empirical downscaling of gridded Earth science data.
The general architecture of `DL4DS` is shown on the image below. A low-resolution gridded dataset can be downscaled, with the help of (an arbitrary number of) auxiliary predictor and static variables, and a high-resolution reference dataset. The mapping between the low- and high-resolution data is learned with either a supervised or a conditional generative adversarial DL model.
The training can be done from explicit pairs of high- and low-resolution samples (MOS-style, e.g., high-res observations and low-res numerical weather prediction model output) or only with a HR dataset (PerfectProg-style, e.g., high-res observations or high-res model output).
A wide variety of network architectures have been implemented in `DL4DS`. The main modelling approaches can be combined into many different architectures:
|Downscaling type |Training (loss type) |Sample type |Backbone section |Upsampling method |
|--- |--- |--- |--- |---|
|MOS (explicit pairs of HR and LR data) |Supervised (non-adversarial) |Spatial |Plain convolutional |Pre-upsampling via interpolation |
|PerfectProg (implicit pairs, only HR data) |Conditional Adversarial |Spatio-temporal |Residual |Post-upsampling via sub-pixel convolution |
| | | |Dense |Post-upsampling via resize convolution |
| | | |Unet (PIN, Spatial samples) |Post-upsampling via deconvolution |
| | | |Convnext (Spatial samples) | |In `DL4DS`, we implement a channel attention mechanism to exploit inter-channel relationship of features by providing a weight for each channel in order to enhance those that contribute the most to the optimizaiton and learning process. Aditionally, a Localized Convolutional Block (LCB) is located in the output module of the networks in `DL4DS`. With the LCB we learn location-specific information via a locally connected layer with biases.
`DL4DS` is built on top of Tensorflow/Keras and supports distributed GPU training (data parallelism) thanks to Horovod.
# API documentation
Check out the API documentation [here](https://carlos-gg.github.io/dl4ds/).
# Installation
```
pip install dl4ds
```# Example notebooks
A first Colab notebook can be found in the notebooks folder. Click the badge at the top to open the notebook on Google Colab.