spark.nn.components.delays.n2n_delays#

Classes#

N2NDelaysConfig

N2NDelays configuration class.

N2NDelays

Data structure for spike storage and retrival for efficient neuron to neuron spike delay implementation.

Module Contents#

class spark.nn.components.delays.n2n_delays.N2NDelaysConfig(__skip_validation__=False, **kwargs)[source]#

Bases: spark.nn.components.delays.n_delays.NDelaysConfig

N2NDelays configuration class.

Parameters:

__skip_validation__ (bool)

units: tuple[int, Ellipsis][source]#
class spark.nn.components.delays.n2n_delays.N2NDelays(config=None, **kwargs)[source]#

Bases: spark.nn.components.delays.base.Delays

Data structure for spike storage and retrival for efficient neuron to neuron spike delay implementation. This synaptic delay model implements specific conduction delays between specific neruons. Example: Neuron A fires and neuron B, C, and D listens to A; neuron B recieves A’s spikes I timesteps later,

neuron C recieves A’s spikes J timesteps later and neuron D recieves A’s spikes K timesteps later.

Init:

units: tuple[int, …] max_delay: float delays: jnp.ndarray | Initializer

Input:

in_spikes: SpikeArray

Output:

out_spikes: SpikeArray

Parameters:

config (N2NDelaysConfig)

config: N2NDelaysConfig[source]#
build(input_specs)[source]#

Build method.

Parameters:

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

reset()[source]#

Resets component state.

Return type:

None

get_dense()[source]#

Convert bitmask to dense vector (aligned with MSB-first packing).

Return type:

jax.Array

__call__(in_spikes)[source]#

Execution method.

Parameters:

in_spikes (spark.core.payloads.SpikeArray)

Return type:

spark.nn.components.delays.base.DelaysOutput