norse.torch.functional.lsnn_feed_forward_step

norse.torch.functional.lsnn_feed_forward_step(input_tensor: torch.Tensor, state: norse.torch.functional.lsnn.LSNNFeedForwardState, p: norse.torch.functional.lsnn.LSNNParameters = LSNNParameters(tau_syn_inv=tensor(200.), tau_mem_inv=tensor(100.), tau_adapt_inv=tensor(0.0012), v_leak=tensor(0.), v_th=tensor(1.), v_reset=tensor(0.), beta=tensor(1.8000), method='super', alpha=100.0), dt: float = 0.001)Tuple[torch.Tensor, norse.torch.functional.lsnn.LSNNFeedForwardState][source]

Euler integration step for LIF Neuron with threshold adaptation. More specifically it implements one integration step of the following ODE

\[\begin{split}\\begin{align*} \dot{v} &= 1/\tau_{\text{mem}} (v_{\text{leak}} - v + i) \\ \dot{i} &= -1/\tau_{\text{syn}} i \\ \dot{b} &= -1/\tau_{b} b \end{align*}\end{split}\]

together with the jump condition

\[z = \Theta(v - v_{\text{th}} + b)\]

and transition equations

\[\begin{split}\begin{align*} v &= (1-z) v + z v_{\text{reset}} \\ i &= i + \text{input} \\ b &= b + \beta z \end{align*}\end{split}\]
Parameters:

input_tensor (torch.Tensor): the input spikes at the current time step s (LSNNFeedForwardState): current state of the lsnn unit p (LSNNParameters): parameters of the lsnn unit dt (float): Integration timestep to use