spark.nn.neurons#

Submodules#

Classes#

Neuron

Abstract Neuron model.

NeuronConfig

Abstract Neuron model configuration class.

NeuronOutput

Generic Neuron model output spec.

ALIFNeuron

Leaky integrate and fire neuronal model.

ALIFNeuronConfig

ALIFNeuron configuration class.

AdExNeuron

Leaky Integrate and Fire neuronal model.

AdExNeuronConfig

AdExNeuron 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(__skip_validation__=False, **kwargs)[source]#

Bases: spark.core.config.SparkConfig

Abstract Neuron model configuration class.

Parameters:

__skip_validation__ (bool)

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.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]#
build(input_specs)[source]#

Build method.

Parameters:

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

__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(__skip_validation__=False, **kwargs)[source]#

Bases: spark.nn.neurons.NeuronConfig

ALIFNeuron configuration class.

Parameters:

__skip_validation__ (bool)

inhibitory_rate: float[source]#
soma: spark.nn.components.somas.leaky.AdaptiveLeakySomaConfig[source]#
synapses: spark.nn.components.synapses.base.SynanpsesConfig[source]#
delays: spark.nn.components.delays.base.DelaysConfig | None[source]#
learning_rule: spark.nn.components.learning_rules.base.LearningRuleConfig | None[source]#
class spark.nn.neurons.AdExNeuron(config=None, **kwargs)[source]#

Bases: spark.nn.neurons.Neuron

Leaky Integrate and Fire neuronal model.

Parameters:

config (AdExNeuronConfig | None)

config: AdExNeuronConfig[source]#
soma: spark.nn.components.somas.exponential.AdaptiveExponentialSoma[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]#
build(input_specs)[source]#

Build method.

Parameters:

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

__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.AdExNeuronConfig(__skip_validation__=False, **kwargs)[source]#

Bases: spark.nn.neurons.NeuronConfig

AdExNeuron configuration class.

Parameters:

__skip_validation__ (bool)

inhibitory_rate: float[source]#
soma: spark.nn.components.somas.exponential.AdaptiveExponentialSomaConfig[source]#
synapses: spark.nn.components.synapses.base.SynanpsesConfig[source]#
delays: spark.nn.components.delays.base.DelaysConfig | None[source]#
learning_rule: spark.nn.components.learning_rules.base.LearningRuleConfig | None[source]#