norse.torch.functional.lift module

A module for lifting neuron activation functions in time. Simlar to the :module:`.lift`_ module.

norse.torch.functional.lift.lift(activation, p=None)[source]

Creates a lifted version of the given activation function which applies the activation function in the temporal domain. The returned callable can be applied later as if it was a regular activation function, but the input is now assumed to be a tensor whose first dimension is time.

Parameters
  • activation (Callable[[torch.Tensor, Any, Any], Tuple[torch.Tensor, Any]]) – The activation function that takes an input tensor, an optional state, and an optional parameter object and returns a tuple of (spiking output, neuron state). The returned spiking output includes the time domain.

  • p (Any) – An optional parameter object to hand to the activation function.

Returns

A :class:`.Callable`_ that, when applied, evaluates the activation function N times, where N is the size of the outer (temporal) dimension. The application will provide a tensor of shape (time, …).