spark.nn.neurons#

Submodules#

Classes#

Neuron

Abstract Neuron model.

NeuronConfig

Abstract Neuron model configuration class.

NeuronOutput

Generic Neuron model output spec.

LIFNeuron

Leaky Integrate and Fire neuronal model.

LIFNeuronConfig

LIFNeuron configuration class.

ALIFNeuron

Leaky integrate and fire neuronal model.

ALIFNeuronConfig

ALIFNeuron configuration class.

Package Contents#

class spark.nn.neurons.Neuron(config=None, **kwargs)[source]#

Bases: spark.core.module.SparkModule, abc.ABC, Generic[ConfigT]

Abstract Neuron model.

This is a convenience class used to synchronize data more easily. Can be thought as the equivalent of Sequential in standard ML frameworks.

Parameters:

config (ConfigT | None)

config: ConfigT[source]#
units[source]#
reset()[source]#

Resets neuron states to their initial values.

abstractmethod __call__(in_spikes)[source]#

Execution method.

Parameters:

in_spikes (spark.core.payloads.SpikeArray)

Return type:

NeuronOutput

class spark.nn.neurons.NeuronConfig(**kwargs)[source]#

Bases: spark.core.config.SparkConfig

Abstract Neuron model configuration class.

units: tuple[int, Ellipsis][source]#
class spark.nn.neurons.NeuronOutput[source]#

Bases: TypedDict

Generic Neuron model output spec.

Initialize self. See help(type(self)) for accurate signature.

out_spikes: spark.core.payloads.SpikeArray[source]#
class spark.nn.neurons.LIFNeuron(config=None, **kwargs)[source]#

Bases: spark.nn.neurons.Neuron

Leaky Integrate and Fire neuronal model.

Parameters:

config (LIFNeuronConfig | None)

config: LIFNeuronConfig[source]#
soma: spark.nn.components.somas.leaky.LeakySoma[source]#
delays: spark.nn.components.delays.base.Delays[source]#
synapses: spark.nn.components.synapses.base.Synanpses[source]#
learning_rule: spark.nn.components.learning_rules.base.LearningRule[source]#
max_delay[source]#
inhibitory_rate[source]#
async_spikes[source]#
build(input_specs)[source]#

Build method.

Parameters:

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

__call__(in_spikes)[source]#

Update neuron’s states and compute spikes.

Parameters:

in_spikes (spark.core.payloads.SpikeArray)

Return type:

spark.nn.neurons.NeuronOutput

class spark.nn.neurons.LIFNeuronConfig(**kwargs)[source]#

Bases: spark.nn.neurons.NeuronConfig

LIFNeuron configuration class.

max_delay: float[source]#
inhibitory_rate: float[source]#
async_spikes: bool[source]#
soma_config: spark.nn.components.somas.leaky.LeakySomaConfig[source]#
synapses_config: spark.nn.components.synapses.base.SynanpsesConfig[source]#
delays_config: spark.nn.components.delays.base.DelaysConfig[source]#
learning_rule_config: spark.nn.components.learning_rules.base.LearningRuleConfig[source]#
class spark.nn.neurons.ALIFNeuron(config=None, **kwargs)[source]#

Bases: spark.nn.neurons.Neuron

Leaky integrate and fire neuronal model.

Parameters:

config (ALIFNeuronConfig | None)

config: ALIFNeuronConfig[source]#
soma: spark.nn.components.somas.leaky.AdaptiveLeakySoma[source]#
delays: spark.nn.components.delays.base.Delays[source]#
synapses: spark.nn.components.synapses.base.Synanpses[source]#
learning_rule: spark.nn.components.learning_rules.base.LearningRule[source]#
max_delay[source]#
inhibitory_rate[source]#
async_spikes[source]#
build(input_specs)[source]#

Build method.

Parameters:

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

__call__(in_spikes)[source]#

Update neuron’s states and compute spikes.

Parameters:

in_spikes (spark.core.payloads.SpikeArray)

Return type:

spark.nn.neurons.NeuronOutput

class spark.nn.neurons.ALIFNeuronConfig(**kwargs)[source]#

Bases: spark.nn.neurons.NeuronConfig

ALIFNeuron configuration class.

max_delay: float[source]#
inhibitory_rate: float[source]#
async_spikes: bool[source]#
soma_config: spark.nn.components.somas.leaky.AdaptiveLeakySomaConfig[source]#
synapses_config: spark.nn.components.synapses.base.SynanpsesConfig[source]#
delays_config: spark.nn.components.delays.base.DelaysConfig[source]#
learning_rule_config: spark.nn.components.learning_rules.base.LearningRuleConfig[source]#