Home

Awesome

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, 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

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.