jaxsnn.discrete.functional

Modules

jaxsnn.discrete.functional.li

jaxsnn.discrete.functional.lif

jaxsnn.discrete.functional.linear(inputs, …)

jaxsnn.discrete.functional.threshold

Classes

LIFParameters(tau_syn, tau_mem, v_th, …)

LIFState(V, I)

LIParameters(tau_syn, tau_mem, v_leak)

LIState(V, I)

Functions

jaxsnn.discrete.functional.li_step(inputs: Dict[str, jax.Array], state: jaxsnn.discrete.functional.li.LIState, parameters: Optional[jax.Array, None], v_leak: float, tau_mem: float, tau_syn: float, dt: float)Tuple[jaxsnn.discrete.functional.li.LIState, jax.Array]

Euler step of a leaky integrate neuron.

Parameters
  • inputs – Dictionary of input currents

  • state – Current neuron state

  • parameters – Optional learnable parameters

  • v_leak – Leak potential

  • tau_mem – Membrane time constant

  • tau_syn – Synaptic time constant

  • dt – Time step size

Returns

Tuple of updated neuron state and membrane potential

jaxsnn.discrete.functional.lif_step(inputs: Dict[str, jax.Array], state: jaxsnn.discrete.functional.lif.LIFState, parameters: Optional[jax.Array, None], method: Callable, v_leak: float, v_th: float, v_reset: float, tau_mem: float, tau_syn: float, dt: float = 0.001)Tuple[jaxsnn.discrete.functional.lif.LIFState, jax.Array]

Euler step of a leaky-integrate-and-fire neuron.

Parameters
  • inputs – Dictionary of input currents

  • state – Current neuron state

  • parameters – Optional learnable parameters

  • method – Surrogate gradient method for the threshold function

  • v_leak – Leak potential

  • v_th – Threshold potential

  • v_reset – Reset potential

  • tau_mem – Membrane time constant

  • tau_syn – Synaptic time constant

  • dt – Time step size

Returns

Tuple of updated neuron state and membrane potential

jaxsnn.discrete.functional.linear(inputs: Dict[str, jax.Array], state: None, weight: jax.Array)Tuple[None, jax.Array]