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.
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.
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
Rockpool is released under a AGPL license. Commercial licenses are available on request.
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.