SingleSpike surrogate gradient.

plot singlespike
Text(42.722222222222214, 0.5, 'Spike activation')

import torch
import sinabs.activation as sina
import matplotlib.pyplot as plt

v_mem = torch.linspace(0, 5.5, 500)

spike_threshold = 1.0
activations = sina.SingleSpike.apply(v_mem, spike_threshold, sina.MultiGaussian())
plt.plot(v_mem, activations)
plt.xlabel("Neuron membrane potential")
plt.ylabel("Spike activation")

Total running time of the script: ( 0 minutes 0.116 seconds)

Gallery generated by Sphinx-Gallery