Dear Computational Neuroscience Community,
I would like to point you to a potentially useful Python Package
that might be of interest for your research, especially in the realms of "Biologically-inspired Neural Networks", "Shallow Learning" and "Recurrent Neural Networks" in general.
"echoes": Machine Learning with Echo State Networks, a scikit-learn compatible package.
Code Repository: https://github.com/fabridamicelli/echoes
A few interesting features:
- scikit-learn compatible, i.e. scikit-learn tools such as GridSearchCV should work out-of-the-box
- It is light-weight and fast (`numba` accelerated), i.e. many experiments can be simply run on a laptop
- Flexible and customizable, e.g. use arbitrary connectivity, add custom activations, visualize neurons activity, etc.
- Installation and getting started is easy: `pip install echoes`
- Example notebooks: https://github.com/fabridamicelli/echoes/tree/master/examples/notebooks
- Documentation: https://fabridamicelli.github.io/echoes/
As of today, a few people already trust it and the package registers >18K total downloads, ~500/month (pypi.org)
and has been used already in a few research projects:
- Hadaeghi et. al. (2021) Spatio-temporal feature learning with reservoir computing for T-cell segmentation in live-cell Ca2+ fluorescence
microscopy: www.nature.com/articles/s41598-021-87607-y#Sec4
- Damicelli et.al.
(2021) Brain Connectivity meets Reservoir Computing: www.biorxiv.org/content/10.1101/2021.01.22.427750v1.abstract
- Fakhar et. al. (2022) Causal Influences Decouple From Their Underlying Network Structure In Echo State Networks: arxiv.org/abs/2205.11947
Check it out and any feedback/suggestions/bug reports are more than welcome (simply open an issue: https://github.com/fabridamicelli/echoes/issues).
All the best,
Fabrizio