# 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