A Python package for training chaotic Echo State and Spiking RNNs
Project description
tension
The tension
package is a Python package for building and FORCE training chaotic recurrent neural networks. tension
is built to integrate seamlessly with TensorFlow/Keras, a widely used software package for training artificial neural networks.
Code and documentation
Installation guide, contributing guide, and API reference are available on the documentation website
Example notebooks for reproducing the experiments in the associated software report can also be found on the documentation website and in the examples
folder. These notebooks can be run either in Google Colab or in a local jupyter notebook.
Documentation for TensorFlow/Keras, on which tension
is based and interoperable with, can be found at the TensorFlow guide.
Dependencies
tension
depends on Python >= 3.7, tensorflow>=2.5
, numpy
and matplotlib
.
Installation
Local installation
We recommend installing tension
into a conda environment
conda create -n tension python=3.7
followed by
conda activate tension
From GitHub
Clone this repo using
git clone https://github.com/zhenruiliao/tension.git
Change into the tension
directory and install using pip
cd tension/
pip install -e .
From PyPI
pip install tension
Google Colab
To quickly get started with tension
, the package can also be installed in Google Colab using the following commands
!git clone https://github.com/zhenruiliao/tension.git tension
!pip install -e tension
The runtime must be restarted for the package to become importable
Contributing
Bug reports, feature requests, and pull requests are welcome and encouraged! Use the Issues and Pull requests tabs to open new issues or pull requests. Always be kind and respectful.
License
tension
is provided under the MIT License. TensorFlow is provided under the Apache 2.0 license.
Acknowledgments
Based on work by David Sussillo and Larry Abbott https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2756108/
With thanks to James Priestley for the package name.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file tension-0.2.tar.gz
.
File metadata
- Download URL: tension-0.2.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.11.1 pkginfo/1.8.3 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.1 CPython/3.8.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4e7cf5a98b92fea885a741d2f496d4d40d7f3730cb19d41f3057b60265042ef |
|
MD5 | edc2e7660cf5e902a9a72a3de84168fd |
|
BLAKE2b-256 | e64ebae9d6aae0562e08699965783a9683a1a5815951355af8bba663994d7c2d |