From Python graph to spikes

#exp074 · SNNLANG ·

Abstract

We asked whether a Python-authored graph can be compiled into an executable excitatory–inhibitory spiking network. We supplied explicit input spikes to the compiled graph and retained aligned topology, input and population-activity evidence.

The compiled description produced the expected excitatory and inhibitory simulation outputs from the supplied input. This demonstrates the graph-to-simulation integration path on a bounded example, not a neuroscientific mechanism.

Results

Compiled PING classifier topology

Figure 1: Compiled topology with 256 excitatory neurons, 64 inhibitory neurons and a ten-class mean-voltage readout. The complete graph contains 3 populations and 4 projections.

Aligned input and population rasters

Figure 2: (A) Input, (B) excitatory and (C) inhibitory spikes in trial 0, with zero-based trial numbering. The displayed trial contained 15632 input, 1012 excitatory and 768 inhibitory events. Rates in the abstract aggregate all 4 trials, not only this illustrative raster.

Methods

We tested whether a compiled network description reproduced the requested spiking computation in a PyTorch-based simulator[1].

  1. Define the network. We authored a pyramidal–interneuron gamma circuit with 256 excitatory and 64 inhibitory neurons, driven by 784 input channels. A ten-class mean-voltage readout received excitatory spikes; no weights were trained in this experiment.
  2. Generate and simulate input. We generated independent Bernoulli spike events with probability equal to input rate times timestep in seconds, approximating a 100 Hz Poisson drive. We used seed 74, 4 trials, a 0.1 ms integration step and a 200 ms duration, and supplied the exact generated tensor to the simulator.
  1. Measure the response. We counted input events and divided by channel count, trial count and duration to obtain the realised input rate. Excitatory and inhibitory rates used their respective population sizes; we recorded aligned event times and cell indices for the specified illustrative trial. These measurements establish execution and activity, not oscillatory synchronisation or classification performance.
  1. Display graph and activity evidence. We displayed the compiled topology, realised input rate and recorded population response, keeping the illustrative event selection distinct from population measurements.

References

  1. Adam Paszke et al.: PyTorch: An Imperative Style, High-Performance Deep Learning Library. NeurIPS, 2019. doi:10.48550/arXiv.1912.01703