hxtorch.spiking.functional.li

Leaky-integrate neurons

Classes

CUBALIParams(tau_mem_inv, tau_syn_inv, v_leak)

Parameters for CUBA LI integration and backward path

NamedTuple(typename[, fields])

Typed version of namedtuple.

Unterjubel(*args, **kwargs)

Unterjubel hardware observables to allow correct gradient flow

Functions

hxtorch.spiking.functional.li.cuba_li_integration(input: torch.Tensor, params: hxtorch.spiking.functional.li.CUBALIParams, hw_data: Optional[torch.Tensor] = None, dt: float = 1e-06)torch.Tensor

Leaky-integrate neuron integration for realization of readout neurons with exponential synapses. Integrates according to:

v^{t+1} = dt / au_{mem} * (v_l - v^t + i^t) + v^t i^{t+1} = i^t * (1 - dt / au_{syn}) + x^t

Assumes i^0, v^0 = 0. :note: One dt synaptic delay between input and output :param input: Input spikes in shape (batch, time, neurons). :param params: LIParams object holding neuron parameters. :param dt: Integration step width

Returns

Returns the membrane trace in shape (batch, time, neurons).