Skip to main content

"mlGeNN tutorial", James Knight, Thomas Nowotny & Balázs Mészáros

Introduction

mlGeNN is a new library for machine learning with Spiking Neural Networks (SNNs), built on the efficient foundation provided by our GeNN simulator. mlGeNN expose the constructs required to build SNNs using an API, inspired by modern ML libraries like Keras, which aims to reduce cognitive load by automatically calculating layer sizes, default hyperparameter values etc to enable rapid prototyping of SNN models.

If you wish to install mlGeNN on your own machine, please follow the instructions at https://github.com/genn-team/ml_genn/. Documentation is also available at https://ml-genn.readthedocs.io/en/latest/.

Tutorial 1

In this tutorial, we are going to build an SNN capable of classifying MNIST by copying the weights obtained by training the following simple ANN using TensorFlow:

Collab

Tutorial 2

In this tutorial, we are going to directly train the weights and delays of a simple SNN with a single hidden layer using EventProp on the Yin-Yang dataset.

Collab

Tasks

  • In our paper, we actually used a RelativeMeanSquareError loss to improve the accuracy. See if you can do the same!