Neuromorphic Research Sub-track
Introduction
In this sub-track we are looking for creative projects that solve a neuromorphic computing problem. For the purposes of this hackathon, will we define this to be any machine learning/ AI projects that work with Event-based data and/or work in an event-based approach.
Below we have listed some example event-based datasets that could be used and some details on the GeNN/mlGeNN toolchain for event-based (spiking) neural networks developed within Sussex AI.
Event-based datasets
There are several event-based datasets available online. For the purposes of the Hackathon, the most convenient datasets are those provided by tonic. See this example how you can use a tonic dataset in Python (the specific example is for using the SHD dataset in mlGeNN).
We find the following datasets really interesting:
-
DVSLip: Event-based camera recordings of the lip movements of people speaking. The challenge is to recognise spoken words from the event stream.
-
CIFAR10DVS: Event-based version of the famous CIFAR10 object recognition challenge.
-
SMNIST: Fiendishly difficult event-based version of the classic MNIST pattern recognition benchmark
See the whole list of tonic datsets.
You can work on these challenges in any approach of your liking. If you want to use the University of Sussex GeNN/mlGeNN toolchain, follow the instructions below.
mlGeNN
mlGeNN is a software package for machine learning with event-based (spiking) neural networks. The software is described in this paper.
Getting started with mlGeNN
The documentation lists all important basics. There are many tutorials available and examples, too. If you work on your own computer (needs an NVIDIA GPU!) please follow the GeNN Installation Instructions and mlGeNN Installation Instructions. On the lab computers, follow the intructions below.
mlGeNN Installation on lab computers
Follow these instructions to work with PyGeNN and mlGeNN in the University of Sussex computer labs: This is a two stage process. First you need to install PyGeNN (which is the software for simulating spiking neural networks) and then mlGeNN (which is the machine learning library on top).
PyGeNN
Install CUDA called “2025 test” from the software hub
Install Miniconda from the software hub (Icon on Desktop)
Open a miniconda prompt from the start menu. Important: Install CUDA first, then open the prompt.
You will want to install this into a persistent location so you can use it at any computer. Find out whether you have a persistent home at N: by trying to navigate there at the prompt: >> N:
If that seems to work1, create a conda environment with Python 3.12: >> conda create -p N:\pygenn_env python=3.12
(answer "yes" to prompts; this might take a while, be patient)
Activate the conda environment: >> conda activate N:\pygenn_env
Download GeNN wheel file Download GeNN wheel file and install it with >> pip install pygenn-5.3.0-cp312-cp312-win_amd64.whl
(after downloading you will likely find it in C:\Users\XXXX\Downloads, where 'XXX' is your user name)
Also install matplotlib - you will likely use this for plotting things: >> pip install matplotlib
This completes the installation of PyGeNN.
mlGeNN
Download the latest mlGeNN release from github and unzip it (Extract All).
Navigate into the inner ml_genn directory >> cd ml_genn_2_4_0\ml_genn_2_4_0\ml_genn
and in your activated pyGeNN conda environment install with >> pip install .
Jupyter Notebooks
In order to work with jupyter notebooks, install jupyter via >> pip install jupyter
and launch with >> jupyter notebook
Full Python Scripts In order to work with full python scripts (more serious work), install VS Code from the software hub, open your python script and choose miniconda as your interpreter (button on bottom right). Or use your favourite editor and the miniconda command prompt.
Back to Sussex AI Track main page
-
If you do not have an N: drive but have Onedrive, the following should work instead:
>> conda create -p "C:\Users\XXX\OneDrive - University of Sussex\pygenn_env" python=3.12>>conda activate "C:\Users\XXX\OneDrive - University of Sussex\pygenn_env
where "XXX" is your user name. ↩