axon_sdk.networks.memory package

Submodules

axon_sdk.networks.memory.constant module

class axon_sdk.networks.memory.constant.ConstantNetwork(encoder: DataEncoder, value: float, module_name: str | None = None)[source]

Bases: SpikingNetworkModule

add_neuron(Vt: float, tm: float, tf: float, Vreset: float = 0.0, neuron_name: str | None = None) ExplicitNeuron

Create and add a neuron to this module.

Parameters:
  • Vt (float) – Threshold voltage.

  • tm (float) – Membrane time constant.

  • tf (float) – Synaptic decay time constant.

  • Vreset (float, optional) – Reset voltage after spike. Defaults to 0.0.

  • neuron_name (str, optional) – Optional name for this neuron.

Returns:

The newly created neuron.

Return type:

ExplicitNeuron

add_subnetwork(subnet: SpikingNetworkModule) None

Add a nested spiking network module.

Parameters:

subnet (SpikingNetworkModule) – The submodule to add.

connect_neurons(pre_neuron: ExplicitNeuron, post_neuron: ExplicitNeuron, synapse_type: str, weight: float, delay: float)

Connect two neurons via a synapse.

Parameters:
  • pre_neuron (ExplicitNeuron) – Presynaptic neuron.

  • post_neuron (ExplicitNeuron) – Postsynaptic neuron.

  • synapse_type (str) – Type of synapse (‘V’, ‘ge’, ‘gf’, ‘gate’, etc.).

  • weight (float) – Synaptic weight.

  • delay (float) – Synaptic delay in seconds.

property instance_count: int

Returns: int: Instance index assigned at construction.

property neurons: list[ExplicitNeuron]

Recursively collect all neurons from this module and its submodules.

Returns:

List of all neurons in the hierarchy.

Return type:

list[ExplicitNeuron]

property neurons_with_module_uid: dict[ExplicitNeuron, str]

Get a mapping from all neurons in the hierarchy to their parent module UID.

Returns:

Mapping from neuron to module UID.

Return type:

dict[ExplicitNeuron, str]

recurse_neurons_with_module_uid() list[dict[ExplicitNeuron, str]]

Recursively build a list of dictionaries mapping each neuron to its module UID.

Returns:

One dictionary per neuron/module pair.

Return type:

list[dict[ExplicitNeuron, str]]

property subnetworks: list[Self]

Returns: list[SpikingNetworkModule]: Submodules contained in this module.

property top_module_neurons: list[ExplicitNeuron]

Returns neurons belonging to current module, without taking submodules into account

property uid: str

Returns: str: Unique identifier of this module.

axon_sdk.networks.memory.inverting_memory module

class axon_sdk.networks.memory.inverting_memory.InvertingMemoryNetwork(encoder: DataEncoder, module_name: str | None = None)[source]

Bases: SpikingNetworkModule

add_neuron(Vt: float, tm: float, tf: float, Vreset: float = 0.0, neuron_name: str | None = None) ExplicitNeuron

Create and add a neuron to this module.

Parameters:
  • Vt (float) – Threshold voltage.

  • tm (float) – Membrane time constant.

  • tf (float) – Synaptic decay time constant.

  • Vreset (float, optional) – Reset voltage after spike. Defaults to 0.0.

  • neuron_name (str, optional) – Optional name for this neuron.

Returns:

The newly created neuron.

Return type:

ExplicitNeuron

add_subnetwork(subnet: SpikingNetworkModule) None

Add a nested spiking network module.

Parameters:

subnet (SpikingNetworkModule) – The submodule to add.

connect_neurons(pre_neuron: ExplicitNeuron, post_neuron: ExplicitNeuron, synapse_type: str, weight: float, delay: float)

Connect two neurons via a synapse.

Parameters:
  • pre_neuron (ExplicitNeuron) – Presynaptic neuron.

  • post_neuron (ExplicitNeuron) – Postsynaptic neuron.

  • synapse_type (str) – Type of synapse (‘V’, ‘ge’, ‘gf’, ‘gate’, etc.).

  • weight (float) – Synaptic weight.

  • delay (float) – Synaptic delay in seconds.

property instance_count: int

Returns: int: Instance index assigned at construction.

property neurons: list[ExplicitNeuron]

Recursively collect all neurons from this module and its submodules.

Returns:

List of all neurons in the hierarchy.

Return type:

list[ExplicitNeuron]

property neurons_with_module_uid: dict[ExplicitNeuron, str]

Get a mapping from all neurons in the hierarchy to their parent module UID.

Returns:

Mapping from neuron to module UID.

Return type:

dict[ExplicitNeuron, str]

recurse_neurons_with_module_uid() list[dict[ExplicitNeuron, str]]

Recursively build a list of dictionaries mapping each neuron to its module UID.

Returns:

One dictionary per neuron/module pair.

Return type:

list[dict[ExplicitNeuron, str]]

property subnetworks: list[Self]

Returns: list[SpikingNetworkModule]: Submodules contained in this module.

property top_module_neurons: list[ExplicitNeuron]

Returns neurons belonging to current module, without taking submodules into account

property uid: str

Returns: str: Unique identifier of this module.

axon_sdk.networks.memory.memory module

class axon_sdk.networks.memory.memory.MemoryNetwork(encoder: DataEncoder, module_name: str | None = None)[source]

Bases: SpikingNetworkModule

add_neuron(Vt: float, tm: float, tf: float, Vreset: float = 0.0, neuron_name: str | None = None) ExplicitNeuron

Create and add a neuron to this module.

Parameters:
  • Vt (float) – Threshold voltage.

  • tm (float) – Membrane time constant.

  • tf (float) – Synaptic decay time constant.

  • Vreset (float, optional) – Reset voltage after spike. Defaults to 0.0.

  • neuron_name (str, optional) – Optional name for this neuron.

Returns:

The newly created neuron.

Return type:

ExplicitNeuron

add_subnetwork(subnet: SpikingNetworkModule) None

Add a nested spiking network module.

Parameters:

subnet (SpikingNetworkModule) – The submodule to add.

connect_neurons(pre_neuron: ExplicitNeuron, post_neuron: ExplicitNeuron, synapse_type: str, weight: float, delay: float)

Connect two neurons via a synapse.

Parameters:
  • pre_neuron (ExplicitNeuron) – Presynaptic neuron.

  • post_neuron (ExplicitNeuron) – Postsynaptic neuron.

  • synapse_type (str) – Type of synapse (‘V’, ‘ge’, ‘gf’, ‘gate’, etc.).

  • weight (float) – Synaptic weight.

  • delay (float) – Synaptic delay in seconds.

property instance_count: int

Returns: int: Instance index assigned at construction.

property neurons: list[ExplicitNeuron]

Recursively collect all neurons from this module and its submodules.

Returns:

List of all neurons in the hierarchy.

Return type:

list[ExplicitNeuron]

property neurons_with_module_uid: dict[ExplicitNeuron, str]

Get a mapping from all neurons in the hierarchy to their parent module UID.

Returns:

Mapping from neuron to module UID.

Return type:

dict[ExplicitNeuron, str]

recurse_neurons_with_module_uid() list[dict[ExplicitNeuron, str]]

Recursively build a list of dictionaries mapping each neuron to its module UID.

Returns:

One dictionary per neuron/module pair.

Return type:

list[dict[ExplicitNeuron, str]]

property subnetworks: list[Self]

Returns: list[SpikingNetworkModule]: Submodules contained in this module.

property top_module_neurons: list[ExplicitNeuron]

Returns neurons belonging to current module, without taking submodules into account

property uid: str

Returns: str: Unique identifier of this module.

axon_sdk.networks.memory.signed_constant module

class axon_sdk.networks.memory.signed_constant.SignedConstantNetwork(encoder: DataEncoder, value: float, module_name: str | None = None)[source]

Bases: SpikingNetworkModule

add_neuron(Vt: float, tm: float, tf: float, Vreset: float = 0.0, neuron_name: str | None = None) ExplicitNeuron

Create and add a neuron to this module.

Parameters:
  • Vt (float) – Threshold voltage.

  • tm (float) – Membrane time constant.

  • tf (float) – Synaptic decay time constant.

  • Vreset (float, optional) – Reset voltage after spike. Defaults to 0.0.

  • neuron_name (str, optional) – Optional name for this neuron.

Returns:

The newly created neuron.

Return type:

ExplicitNeuron

add_subnetwork(subnet: SpikingNetworkModule) None

Add a nested spiking network module.

Parameters:

subnet (SpikingNetworkModule) – The submodule to add.

connect_neurons(pre_neuron: ExplicitNeuron, post_neuron: ExplicitNeuron, synapse_type: str, weight: float, delay: float)

Connect two neurons via a synapse.

Parameters:
  • pre_neuron (ExplicitNeuron) – Presynaptic neuron.

  • post_neuron (ExplicitNeuron) – Postsynaptic neuron.

  • synapse_type (str) – Type of synapse (‘V’, ‘ge’, ‘gf’, ‘gate’, etc.).

  • weight (float) – Synaptic weight.

  • delay (float) – Synaptic delay in seconds.

property instance_count: int

Returns: int: Instance index assigned at construction.

property neurons: list[ExplicitNeuron]

Recursively collect all neurons from this module and its submodules.

Returns:

List of all neurons in the hierarchy.

Return type:

list[ExplicitNeuron]

property neurons_with_module_uid: dict[ExplicitNeuron, str]

Get a mapping from all neurons in the hierarchy to their parent module UID.

Returns:

Mapping from neuron to module UID.

Return type:

dict[ExplicitNeuron, str]

recurse_neurons_with_module_uid() list[dict[ExplicitNeuron, str]]

Recursively build a list of dictionaries mapping each neuron to its module UID.

Returns:

One dictionary per neuron/module pair.

Return type:

list[dict[ExplicitNeuron, str]]

property subnetworks: list[Self]

Returns: list[SpikingNetworkModule]: Submodules contained in this module.

property top_module_neurons: list[ExplicitNeuron]

Returns neurons belonging to current module, without taking submodules into account

property uid: str

Returns: str: Unique identifier of this module.

axon_sdk.networks.memory.signed_memory module

class axon_sdk.networks.memory.signed_memory.SignedMemoryNetwork(encoder: DataEncoder, module_name: str | None = None)[source]

Bases: SpikingNetworkModule

add_neuron(Vt: float, tm: float, tf: float, Vreset: float = 0.0, neuron_name: str | None = None) ExplicitNeuron

Create and add a neuron to this module.

Parameters:
  • Vt (float) – Threshold voltage.

  • tm (float) – Membrane time constant.

  • tf (float) – Synaptic decay time constant.

  • Vreset (float, optional) – Reset voltage after spike. Defaults to 0.0.

  • neuron_name (str, optional) – Optional name for this neuron.

Returns:

The newly created neuron.

Return type:

ExplicitNeuron

add_subnetwork(subnet: SpikingNetworkModule) None

Add a nested spiking network module.

Parameters:

subnet (SpikingNetworkModule) – The submodule to add.

connect_neurons(pre_neuron: ExplicitNeuron, post_neuron: ExplicitNeuron, synapse_type: str, weight: float, delay: float)

Connect two neurons via a synapse.

Parameters:
  • pre_neuron (ExplicitNeuron) – Presynaptic neuron.

  • post_neuron (ExplicitNeuron) – Postsynaptic neuron.

  • synapse_type (str) – Type of synapse (‘V’, ‘ge’, ‘gf’, ‘gate’, etc.).

  • weight (float) – Synaptic weight.

  • delay (float) – Synaptic delay in seconds.

property instance_count: int

Returns: int: Instance index assigned at construction.

property neurons: list[ExplicitNeuron]

Recursively collect all neurons from this module and its submodules.

Returns:

List of all neurons in the hierarchy.

Return type:

list[ExplicitNeuron]

property neurons_with_module_uid: dict[ExplicitNeuron, str]

Get a mapping from all neurons in the hierarchy to their parent module UID.

Returns:

Mapping from neuron to module UID.

Return type:

dict[ExplicitNeuron, str]

recurse_neurons_with_module_uid() list[dict[ExplicitNeuron, str]]

Recursively build a list of dictionaries mapping each neuron to its module UID.

Returns:

One dictionary per neuron/module pair.

Return type:

list[dict[ExplicitNeuron, str]]

property subnetworks: list[Self]

Returns: list[SpikingNetworkModule]: Submodules contained in this module.

property top_module_neurons: list[ExplicitNeuron]

Returns neurons belonging to current module, without taking submodules into account

property uid: str

Returns: str: Unique identifier of this module.

Module contents