spynnaker.pyNN.models.neuron.synapse_types package

Module contents

class spynnaker.pyNN.models.neuron.synapse_types.AbstractSynapseType(structs: List[Struct], units: Dict[str, str])

Bases: AbstractStandardNeuronComponent

Represents the synapse types supported.

Parameters:
  • structs – The structures of the component

  • units – The units to use for each parameter

abstractmethod get_n_synapse_types() int[source]

Get the number of synapse types supported.

Returns:

The number of synapse types supported

abstractmethod get_synapse_id_by_target(target: str) int | None[source]

Get the ID of a synapse given the name.

Returns:

The ID of the synapse

abstractmethod get_synapse_targets() Sequence[str][source]

Get the target names of the synapse type.

Returns:

an array of strings (usually a list or tuple)

class spynnaker.pyNN.models.neuron.synapse_types.SynapseTypeAlpha(exc_response: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], exc_exp_response: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], tau_syn_E: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], inh_response: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], inh_exp_response: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], tau_syn_I: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]])

Bases: AbstractSynapseType

Alpha Type Synapse

Parameters:
  • exc_response\(response^\mathrm{linear}_e\)

  • exc_exp_response\(response^\mathrm{exponential}_e\)

  • tau_syn_E\(\tau^{syn}_e\)

  • inh_response\(response^\mathrm{linear}_i\)

  • inh_exp_response\(response^\mathrm{exponential}_i\)

  • tau_syn_I\(\tau^{syn}_i\)

add_parameters(parameters: RangeDictionary[float]) None[source]

Add the initial values of the parameters to the parameter holder.

Parameters:

parameters – A holder of the parameters

add_state_variables(state_variables: RangeDictionary[float]) None[source]

Add the initial values of the state variables to the state variables holder.

Parameters:

state_variables – A holder of the state variables

property exc_response: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

get_n_synapse_types() int[source]

Get the number of synapse types supported.

Returns:

The number of synapse types supported

get_synapse_id_by_target(target: str) int | None[source]

Get the ID of a synapse given the name.

Returns:

The ID of the synapse

get_synapse_targets() Tuple[str, ...][source]

Get the target names of the synapse type.

Returns:

an array of strings (usually a list or tuple)

property inh_response: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property tau_syn_E: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property tau_syn_I: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

class spynnaker.pyNN.models.neuron.synapse_types.SynapseTypeDelta(isyn_exc: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], isyn_inh: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]])

Bases: AbstractSynapseType

This represents a synapse type with two delta synapses.

Parameters:
  • isyn_exc\(I^{syn}_e\)

  • isyn_inh\(I^{syn}_i\)

add_parameters(parameters: RangeDictionary[float]) None[source]

Add the initial values of the parameters to the parameter holder.

Parameters:

parameters – A holder of the parameters

add_state_variables(state_variables: RangeDictionary[float]) None[source]

Add the initial values of the state variables to the state variables holder.

Parameters:

state_variables – A holder of the state variables

get_n_synapse_types() int[source]

Get the number of synapse types supported.

Returns:

The number of synapse types supported

get_synapse_id_by_target(target: str) int | None[source]

Get the ID of a synapse given the name.

Returns:

The ID of the synapse

get_synapse_targets() Tuple[str, ...][source]

Get the target names of the synapse type.

Returns:

an array of strings (usually a list or tuple)

property isyn_exc: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property isyn_inh: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

class spynnaker.pyNN.models.neuron.synapse_types.SynapseTypeDualExponential(tau_syn_E: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], tau_syn_E2: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], tau_syn_I: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], isyn_exc: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], isyn_exc2: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], isyn_inh: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]])

Bases: AbstractSynapseType

A synapse with 2 excitatory values.

Parameters:
  • tau_syn_E\(\tau^{syn}_{e_1}\)

  • tau_syn_E2\(\tau^{syn}_{e_2}\)

  • tau_syn_I\(\tau^{syn}_i\)

  • isyn_exc\(I^{syn}_{e_1}\)

  • isyn_exc2\(I^{syn}_{e_2}\)

  • isyn_inh\(I^{syn}_i\)

add_parameters(parameters: RangeDictionary[float]) None[source]

Add the initial values of the parameters to the parameter holder.

Parameters:

parameters – A holder of the parameters

add_state_variables(state_variables: RangeDictionary[float]) None[source]

Add the initial values of the state variables to the state variables holder.

Parameters:

state_variables – A holder of the state variables

get_n_synapse_types() int[source]

Get the number of synapse types supported.

Returns:

The number of synapse types supported

get_synapse_id_by_target(target: str) int | None[source]

Get the ID of a synapse given the name.

Returns:

The ID of the synapse

get_synapse_targets() Tuple[str, ...][source]

Get the target names of the synapse type.

Returns:

an array of strings (usually a list or tuple)

property isyn_exc: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property isyn_exc2: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property isyn_inh: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property tau_syn_E: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property tau_syn_E2: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property tau_syn_I: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

class spynnaker.pyNN.models.neuron.synapse_types.SynapseTypeExponential(tau_syn_E: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], tau_syn_I: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], isyn_exc: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], isyn_inh: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]])

Bases: AbstractSynapseType

A simple exponential synapse.

Parameters:
  • tau_syn_E\(\tau^{syn}_e\)

  • tau_syn_I\(\tau^{syn}_i\)

  • isyn_exc\(I^{syn}_e\)

  • isyn_inh\(I^{syn}_i\)

add_parameters(parameters: RangeDictionary[float]) None[source]

Add the initial values of the parameters to the parameter holder.

Parameters:

parameters – A holder of the parameters

add_state_variables(state_variables: RangeDictionary[float]) None[source]

Add the initial values of the state variables to the state variables holder.

Parameters:

state_variables – A holder of the state variables

get_n_synapse_types() int[source]

Get the number of synapse types supported.

Returns:

The number of synapse types supported

get_synapse_id_by_target(target: str) int | None[source]

Get the ID of a synapse given the name.

Returns:

The ID of the synapse

get_synapse_targets() Tuple[str, ...][source]

Get the target names of the synapse type.

Returns:

an array of strings (usually a list or tuple)

property isyn_exc: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property isyn_inh: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property tau_syn_E: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property tau_syn_I: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

class spynnaker.pyNN.models.neuron.synapse_types.SynapseTypeSEMD(tau_syn_E: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], tau_syn_E2: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], tau_syn_I: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], isyn_exc: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], isyn_exc2: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], isyn_inh: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], multiplicator: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], exc2_old: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]], scaling_factor: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]])

Bases: AbstractSynapseType

Synapse for a Leaky integrate and fire neuron with an exponentially decaying current input, where the excitatory input depends upon the inhibitory input (see https://www.cit-ec.de/en/nbs/spiking-insect-vision)

Parameters:
  • tau_syn_E\(\tau^{syn}_{e_1}\)

  • tau_syn_E2\(\tau^{syn}_{e_2}\)

  • tau_syn_I\(\tau^{syn}_i\)

  • isyn_exc\(I^{syn}_{e_1}\)

  • isyn_exc2\(I^{syn}_{e_2}\)

  • isyn_inh\(I^{syn}_i\)

  • multiplicator

  • exc2_old

  • scaling_factor

add_parameters(parameters: RangeDictionary[float]) None[source]

Add the initial values of the parameters to the parameter holder.

Parameters:

parameters – A holder of the parameters

add_state_variables(state_variables: RangeDictionary[float]) None[source]

Add the initial values of the state variables to the state variables holder.

Parameters:

state_variables – A holder of the state variables

property exc2_old: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

get_n_synapse_types() int[source]

Get the number of synapse types supported.

Returns:

The number of synapse types supported

get_synapse_id_by_target(target: str) int | None[source]

Get the ID of a synapse given the name.

Returns:

The ID of the synapse

get_synapse_targets() Tuple[str, ...][source]

Get the target names of the synapse type.

Returns:

an array of strings (usually a list or tuple)

property isyn_exc: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property isyn_exc2: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property isyn_inh: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property multiplicator: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property scaling_factor: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property tau_syn_E: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property tau_syn_E2: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.

property tau_syn_I: float | Iterable[float] | RandomDistribution | ndarray[tuple[Any, ...], dtype[floating]]

Value as passed into the init.