Leaky Integrate and Fire (LIF)

Leaky Integrate and Fire (LIF)#

The :class:~sinabs.layers.LIF layer. This neuron integrates the input and decays its state at every time step.

import torch
from utils import plot_evolution

import sinabs.layers as sl

const_current = torch.ones((1, 100, 1)) * 0.03
single_current = torch.zeros((1, 100, 1))
single_current[:, 0] = 0.1

lif_neuron = sl.LIF(tau_mem=40.0, norm_input=False, record_states=True)
plot_evolution(lif_neuron, const_current)

# By default, no synaptic dynamics are used. We can enable that by setting tau_syn. Note that instead of a constant current, we now provide input only at the first time step.

lif_neuron = sl.LIF(tau_mem=40.0, tau_syn=30.0, norm_input=False, record_states=True)
plot_evolution(lif_neuron, single_current)
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 2
      1 import torch
----> 2 from utils import plot_evolution
      4 import sinabs.layers as sl
      6 const_current = torch.ones((1, 100, 1)) * 0.03

ModuleNotFoundError: No module named 'utils'