brainpy.dyn.neurons.LIF#

class brainpy.dyn.neurons.LIF(size, V_rest=0.0, V_reset=- 5.0, V_th=20.0, R=1.0, tau=10.0, tau_ref=1.0, V_initializer=ZeroInit, noise=None, noise_type='value', keep_size=False, method='exp_auto', name=None)[source]#

Leaky integrate-and-fire neuron model.

Model Descriptions

The formal equations of a LIF model 1 is given by:

\[\begin{split}\tau \frac{dV}{dt} = - (V(t) - V_{rest}) + RI(t) \\ \text{after} \quad V(t) \gt V_{th}, V(t) = V_{reset} \quad \text{last} \quad \tau_{ref} \quad \text{ms}\end{split}\]

where \(V\) is the membrane potential, \(V_{rest}\) is the resting membrane potential, \(V_{reset}\) is the reset membrane potential, \(V_{th}\) is the spike threshold, \(\tau\) is the time constant, \(\tau_{ref}\) is the refractory time period, and \(I\) is the time-variant synaptic inputs.

Model Examples

Parameters

References

1

Abbott, Larry F. “Lapicque’s introduction of the integrate-and-fire model neuron (1907).” Brain research bulletin 50, no. 5-6 (1999): 303-304.

__init__(size, V_rest=0.0, V_reset=- 5.0, V_th=20.0, R=1.0, tau=10.0, tau_ref=1.0, V_initializer=ZeroInit, noise=None, noise_type='value', keep_size=False, method='exp_auto', name=None)[source]#

Methods

__init__(size[, V_rest, V_reset, V_th, R, ...])

get_delay_data(name, delay_step, *indices)

Get delay data according to the provided delay steps.

ints([method])

Collect all integrators in this node and the children nodes.

load_states(filename[, verbose])

Load the model states.

nodes([method, level, include_self])

Collect all children nodes.

register_delay(name, delay_step, delay_target)

Register delay variable.

register_implicit_nodes(nodes)

register_implicit_vars(variables)

reset()

Reset function which reset the whole variables in the model.

save_states(filename[, variables])

Save the model states.

train_vars([method, level, include_self])

The shortcut for retrieving all trainable variables.

unique_name([name, type_])

Get the unique name for this object.

update(t, dt)

The function to specify the updating rule.

vars([method, level, include_self])

Collect all variables in this node and the children nodes.

Attributes

global_delay_targets

global_delay_vars

name

steps