Skip to content

timothyas/xesn

Repository files navigation

xesn

codecov Documentation Status Conda Version PyPI version

DOI

Echo State Networks powered by xarray and dask.

Description

xesn is a python package for implementing Echo State Networks (ESNs), a particular form of Recurrent Neural Network originally introduced by Jaeger (2001). The main purpose of the package is to enable ESNs for relatively large scale weather and climate applications, for example as by Smith et al., (2023) and Arcomano et al., (2020). The package is designed to strike the balance between simplicity and flexibility, with a focus on implementing features that were shown to matter most by Platt et al., (2022).

xesn uses xarray to handle multi-dimensional data, relying on dask for parallelization and to handle datasets/networks that are too large for a single compute node. At its core, xesn uses numpy and cupy for efficient CPU and GPU deployment.

Installation

Installation from conda-forge

conda install -c conda-forge xesn

Installation from pip

pip install xesn

Installation from source

git clone https://github.com/timothyas/xesn.git
cd xesn
pip install -e .

Note that additional dependencies can be installed to run the unit test suite::

pip install -e .[test]
pytest xesn/test/*.py

Getting Started

To learn how to use xesn, check out the documentation here

Get in touch

Report bugs, suggest features, or view the source code on GitHub.

License and Copyright

xesn is licensed under the Apache-2.0 License.

Development occurs on GitHub at https://github.com/timothyas/xesn.

Citation

If you find xesn useful, we would appreciate it if you cite the package as follows:

Smith et al., (2024). xesn: Echo state networks powered by Xarray and Dask. Journal of Open Source Software, 9(103), 7286, https://doi.org/10.21105/joss.07286

Here's a sample bibtex entry:

@article{
    Smith2024,
    doi = {10.21105/joss.07286},
    url = {https://doi.org/10.21105/joss.07286},
    year = {2024}, publisher = {The Open Journal},
    volume = {9},
    number = {103},
    pages = {7286},
    author = {Timothy A. Smith and Stephen G. Penny and Jason A. Platt and Tse-Chun Chen},
    title = {xesn: Echo state networks powered by Xarray and Dask},
    journal = {Journal of Open Source Software}
}