spark.nn.interfaces.output.exponential#

Classes#

ExponentialIntegratorConfig

ExponentialIntegrator configuration class.

ExponentialIntegrator

Transforms a discrete spike signal to a continuous signal.

Module Contents#

class spark.nn.interfaces.output.exponential.ExponentialIntegratorConfig(__skip_validation__=False, **kwargs)[source]#

Bases: spark.nn.interfaces.output.base.OutputInterfaceConfig

ExponentialIntegrator configuration class.

Parameters:

__skip_validation__ (bool)

num_outputs: int[source]#
saturation_freq: float[source]#
tau: float[source]#
output_map: jax.Array | None[source]#
shuffle: bool[source]#
smooth_trace: bool[source]#
class spark.nn.interfaces.output.exponential.ExponentialIntegrator(config=None, **kwargs)[source]#

Bases: spark.nn.interfaces.output.base.OutputInterface

Transforms a discrete spike signal to a continuous signal. This transformation assumes a very simple integration model model without any type of adaptation or plasticity. Spikes are grouped into k non-overlaping clusters and every neuron contributes the same amount to the ouput.

Init:

num_outputs: int saturation_freq: float [Hz] tau: float [ms] shuffle: bool smooth_trace: bool

Input:

spikes: SpikeArray

Output:

signal: FloatArray

Parameters:

config (ExponentialIntegratorConfig)

config: ExponentialIntegratorConfig[source]#
num_outputs[source]#
saturation_freq[source]#
tau[source]#
shuffle[source]#
smooth_trace[source]#
build(input_specs)[source]#

Build method.

Parameters:

input_specs (dict[str, spark.core.specs.PortSpecs])

Return type:

None

reset()[source]#

Reset module to its default state.

__call__(spikes)[source]#

Transform incomming spikes into a output signal.

Parameters:

spikes (spark.core.payloads.SpikeArray)

Return type:

spark.nn.interfaces.output.base.OutputInterfaceOutput