Coder Social home page Coder Social logo

huangzq681 / dlacs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from geek-yang/dlacs

0.0 0.0 0.0 46.02 MB

A library designed to implement deep learning algorisms to climate data for weather and climate prediction.

License: Apache License 2.0

Python 7.51% Jupyter Notebook 92.49%

dlacs's Introduction

DOI

DLACs ๐Ÿ”ฎ

Deep Learning Architecture for Climate science, in short as DLACs, is a python library designed to implement deep learning algorisms to climate data for weather and climate prediction. Deep learning techniques to deal with spatial-temporal sequences, namely the Convolutional Long Short Term Memory neural netwroks (ConvLSTM), are implemented in this package. A probabilistic version of the structure is also employed, with an easy shift from ConvLSTM to Bayesian ConvLSTM (BayesConvLSTM) through Bayes by Backprop or Bernoulli approximation.

Two types BayesConvLSTM are addressed here, which are BayesConvLSTM with variational inference (Blundell et. al. 2015; Shridhar et. al. 2019) and BayesConvLSTM by Bernoulli approximation with dropout (Gal and Ghahramani 2016).

The module is designed to perform convolutional and recurrent operatiaons on structured climate data. It is built on pytorch.

Function ๐Ÿ’ป

Two kinds of deep neural networks structures are included by the package:

  • Convolutional Long Short Term Memory neural netwroks
  • Bayesian Convolutional Long Short Term Memory neural netwroks

Two types of BayesConvLSTM are implemented here: BayesConvLSTM with variational inference and BayesConvLSTM approximated by Bernoulli distribution. The major differences are their functionality and the ways of training. BayesConvLSTM with variational inference is train by Bayes by Backprop (Blundell et. al. 2015; Shridhar et. al. 2019). BayesConvLSTM approximated by Bernoulli distribution is trained directly by back-propagation.

Structure ๐Ÿ“

Folder structure of the repositary:

  • dlacs Main components of DLACs
  • examples Including python scripts showing the whole workflow of training and forecasting with BayesConvLSTM in DLACs
  • init Sample ConvLSTM neural network used to initialize BayesConvLSTM
  • models Examples of trained BayesConvLSTM neural networks
  • tests Unit testing, functional testing and integration testing shown in jupyter notebooks
  • data Forecast data with BayesLSTM and Variational Auto-Regressive Model

Modules ๐Ÿ’พ

Directory structure:

  • ConvLSTM Contains ConvLSTM layer and the forward module.
  • BayesConvLSTM Contains BayesConvLSTM layer and the forward module of BayesConvLSTM with variational inference.
  • BayesConvLSTMBinary Contains BayesConvLSTM layer and the forward module of BayesConvLSTM approximated by Bernoulli distribution.
  • function Includes loss functions and distributions used by BayesConvLSTM.
  • metric Scoring systems (RMSE, CRPS, etc.) to evaluate the performance of training.
  • preprocess Functions to preprocess the input fields, like filtering, normalization, etc.
  • regrid Moduels for geoscience / climate data regridding.
  • saveNetCDF Modules to save the output in netCDF format.
  • visual Visualization components for postprocessing and plotting.

Dependency ๐Ÿ“š

DLACs is tested on python 3.6 and has the following dependencies:

  • numpy
  • matplotlib
  • netCDF4
  • scipy
  • iris
  • cartopy
  • torch

Configuration

Clone the repositary and add the repositary folder to your python system path, or just go to the repositary folder and run the following command after downloading:
python setup.py install
For testing, please run:
python setup.py develop
Note that this repository is still under construction. In case you find any bug or want to contact the author, please raise an issue and leave your comments.

Cite our work ๐Ÿ’

DOI:10.5281/zenodo.3722946

dlacs's People

Contributors

geek-yang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.