-
Notifications
You must be signed in to change notification settings - Fork 341
Description
- Changing the order of computing in Izhikevich neuron to match other neurons.
- Changing the network run tasks order to inject Vmem before executing forward method on layer.
Discussed in #528
Originally posted by peschn December 21, 2021
Hi,
first of all, thanks a lot for this fantastic project.
I got a question around the implementation of the different Nodes (neuron models). In most Nodes (except Izhikevich), state variables like voltage are first updated before spiking is checked. In Izhikevich, it is the other way around, i.e. it is first checked, whether the neurons spikes or not, before state variables are updated. What is the reason for this? To my understanding, it always requires two timesteps in network.run to identify spiking for Izhikevich nodes, i.e. first timestep updates state variables, second timestep checks spiking behavior.
Secondly, when looking at Network.run() it seems like that layers are first updated via layer.forward(...), before voltage is injected to the neurons via layer.v += inject_v. This implies that it requires two timesteps to detect spiking behavior. What is the reason for this behavior?
Thanks a lot and best,
Peter