Spiking Neural Networks for Computer Vision


Bibliographical metadata


Root directory: EVS
Description of data:
1. Multiscale representation:
> INPUT FILES: The first digit of the MNIST dataset was converted using an EVS (pyDVS) emulator and stored as (neuron id, time stamps) pairs. These were stored as text and compressed using the bzip2 Python package, resulting in the file mnist_img_00000_class_5.txt.bz2 .
2. Motion sensing:
> INPUT FILES: Images representing a boucing ball are stored in the bouncing_ball_sequence_w_064_h_064_bw_05.zip archive file, these were processed with an EVS emulator and results in the input file for the experiment bouncing_ball_sequence_w_064_h_064_bw_05___spikes.txt.bz2 . The files correct_0_0_3.txt and incorrect_0_0_3.txt are to be processed to generate voltage curves shown in the paper, they contain membrane voltage and slow neurotransmitter levels through the steps of a simulation.
> OUTPUT FILES: Motion sensing results can be found in motion_outputs___2018-02-27-12-47.pickle.bz2 , this contains a dictionary of spike arrays for each population measured during the experiments. They were stored using the standard Python pickle format and later compressed using the bzip2 Python package.

MNIST Structural plasticity
Root directory: MNIST Structural plasticity
> INPUT FILES: the input MNIST Digits which are loaded into the mnist_topographic_map.py or mnist_topographic_map_rate_based.py scripts (as exemplified in open_rate_files.ipynb)
> RESULT FILES: contains the connectivity, spiking activity and parameters used for training and for testing

The results are contained within numpy .npz files and are contained within the RESULT FILES folder. If the files' names start with "testing" then the file contains results from the testing phase of the network, conversely, the ones with prefix (starting with mnist_case_*...) contain post-training network information. Case 1 refers to networks in which both synaptic plasticity and structural plasticity operate at the same time, while in case 3 synapses have static weight, but the connectivity changes in real time. Case 2 is case 3 without lateral connectivity.

The structure of the .npz data files can be interrogated in python. To this end, the iPython (Jupyter) notebooks (.ipynb) show how this connectivity/activity can be extracted and analysed.

The data which contains the description "rate_based" in the name is to be analysed with the notebook "Large-scale MNIST network - rate based.ipynb", while the ones with description "cs_on_off " is to be analysed with the notebook "Large-scale MNIST network 2 source inputs.ipynb".

Maximum entropy sampling
Root directory: Maximum entropy
> input: pre-processed image and label data from the MNIST training set required by the C code
Date made available9 Mar 2018
PublisherUniversity of Manchester