Skip to main content

A Python package for developing, simulating and training spiking neural networks, and deploying on neuromorphic hardware

Project description

Rockpool

PyPI - Package Conda Documentation Status PyPI - Python Version Black - formatterDOI

Noodle

Rockpool is a Python package for developing signal processing applications with spiking neural networks. Rockpool allows you to build networks, simulate, train and test them, deploy them either in simulation or on event-driven neuromorphic compute hardware. Rockpool provides layers with a number of simulation backends, including Brian2, NEST, Torch, JAX, Numba and raw numpy. Rockpool is designed to make machine learning based on SNNs easier. It is not designed for detailed simulation of biological networks.

Documentation and getting started

The best place to start with Rockpool is the documentation, which contains tutorials and getting started guides.

The documentation is hosted online: https://rockpool.ai/, or can be built and hosted locally with Sphinx. Much of the documentation is available as Jupyter notebooks, to be used interactively.

Installation instructions

Use pip to install Rockpool and required dependencies

$ pip install rockpool --user

The --user option installs the package only for the current user.

If you want to install all the extra dependencies required for Brian, PyTorch and Jax layers, use the command

$ pip install rockpool[all] --user

NEST-backed modules

The NEST simulator cannot be installed using pip. Please see the documentation for NEST at [https://nest-simulator.readthedocs.io/en/latest/] for instructions on how to get NEST running on your system.

License

Rockpool is released under a AGPL license. Commercial licenses are available on request.

Contributing

Fork the public repository at https://github.com/SynSense/rockpool, then clone your fork.

$ git clone https://github.com/your-fork-location/rockpool.git rockpool

Install the package in development mode using pip

$ cd rockpool
$ pip install -e . --user

or

$ pip install -e .[all] --user

The main branch is development. You should commit your modifications to a new feature branch.

$ git checkout -b feature/my-feature develop
...
$ git commit -m 'This is a verbose commit message.'

Then push your new branch to your repository

$ git push -u origin feature/my-feature

When you're finished with your modifications, make a merge request on github.com, from your branch in your fork to https://github.com/SynSense/rockpool.

Project details


Download files

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

Source Distribution

rockpool-2.5.tar.gz (385.7 kB view hashes)

Uploaded Source

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