$29
Demonstrate image classification using a spiking neural network
• Objective – Show as high a test accuracy as possible
• Dataset – EMNIST
o This dataset is an extended version of MNIST that contains handwritten letters in addition to digits. There are 6 splits possible for this dataset. Use the ‘balanced’
split.
o More info at http://pytorch.org/vision/main/generated/torchvision.datasets.EMNIST.html
• Guidelines
o Project to be done in teams of two
o Create a separate function for performing inference on test dataset. You may be asked to demonstrate during viva.
o The learning will be done using ‘Backprop through Time using Surrogate Gradients’ algorithms.
o Since test dataset will be used to check final test accuracy, it cannot be used for training. You may do a train: validation split of your original training dataset.
o Show training loss vs epoch and accuracy vs epoch graphs
o You are free to choose the model, encoding method, loss functions and surrogate functions to meet the objective
o You are expected to utilize a gpu as the runs would take long
o Recommended way is to use the snnTorch library. There are many tutorials available for reference on training SNNs.
Look at https://snntorch.readthedocs.io/en/latest/tutorials/index.html
• Grading Scheme
Score
Total
30
Code
12
Implementation of dataset prep, model, optimization
Viva
8
and final test inference
Communicate understanding of problem statement and
Performance
4 + 6
explain approach
- 4 marks awarded if test accuracy > 60% ( i.e.
model is better than coin toss)
- Groups will be ranked according to test accuracy
and awarded remaining 6 marks relatively. Top
group gets full 6 marks