Skip to main content

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

This version

0.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tension-0.2.tar.gz (20.7 kB view details)

Uploaded Source

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

Hashes for tension-0.2.tar.gz
Algorithm Hash digest
SHA256 f4e7cf5a98b92fea885a741d2f496d4d40d7f3730cb19d41f3057b60265042ef
MD5 edc2e7660cf5e902a9a72a3de84168fd
BLAKE2b-256 e64ebae9d6aae0562e08699965783a9683a1a5815951355af8bba663994d7c2d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page