You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
The PyLifRefractoryModelFloat model does not update the voltage correctly in its sub-threshold dynamics. The current equation is:
instead of:
. Therefore, the voltage of the neurons is updated incorrectly.
To reproduce current behavior
Steps to reproduce the behavior:
If you create a RefractoryLIF Process like so:
# Create LIF1 processlif1=LIFRefractory(shape=(2,), # There are 2 neuronsvth=1.0,
v=0,
dv=0.1, # Inverse of decay time-constant for voltage decaydu=0.2, # Inverse of decay time-constant for current decaybias_mant=0,
bias_exp=0,
refractory_period=10,
name="lif1")
and you try to stimulate this Refractory LIF layer with an input, the voltage will always remain at 0 since the initial voltage is 0 and the equation representing the sub-threshold dynamics is wrong (it multiplies the voltage of the previous timestep by the inverse of the decay time-constant + current). So it's always multiplying by 0.
Expected behavior
As it stands, it is expected that the LIFRefractory model does not update the voltage dynamics correctly for the reasons mentioned above. By looking at the screenshot below, we can see that the current dynamics are correct, but the voltage dynamics are not.
Screenshots
Environment:
Device: Laptop
OS: Linux
Lava version: Latest commit (19/03/2024)
Additional context
This is observed in the PyLifRefractoryModelFloat class that implements the refractory period behavior in a LIF model neuron running on a CPU.
The text was updated successfully, but these errors were encountered:
Describe the bug
The
PyLifRefractoryModelFloat
model does not update the voltage correctly in its sub-threshold dynamics. The current equation is:instead of:
. Therefore, the voltage of the neurons is updated incorrectly.
To reproduce current behavior
Steps to reproduce the behavior:
and you try to stimulate this Refractory LIF layer with an input, the voltage will always remain at 0 since the initial voltage is 0 and the equation representing the sub-threshold dynamics is wrong (it multiplies the voltage of the previous timestep by the inverse of the decay time-constant + current). So it's always multiplying by 0.
Expected behavior
As it stands, it is expected that the LIFRefractory model does not update the voltage dynamics correctly for the reasons mentioned above. By looking at the screenshot below, we can see that the current dynamics are correct, but the voltage dynamics are not.
Screenshots
Environment:
Additional context
This is observed in the
PyLifRefractoryModelFloat
class that implements the refractory period behavior in a LIF model neuron running on a CPU.The text was updated successfully, but these errors were encountered: