spynnaker.pyNN.models.neuron.plasticity.stdp.weight_dependence package

Module contents

class spynnaker.pyNN.models.neuron.plasticity.stdp.weight_dependence.AbstractHasAPlusAMinus

Bases: object

An object that has \(A^+\) and \(A^-\) properties.

property A_minus: float

Settable model parameter: \(A^-\)

property A_plus: float

Settable model parameter: \(A^+\)

set_a_plus_a_minus(a_plus: float, a_minus: float) None[source]

Set the values of \(A^+\) and \(A^-\).

Parameters:
  • a_plus\(A^+\)

  • a_minus\(A^-\)

class spynnaker.pyNN.models.neuron.plasticity.stdp.weight_dependence.AbstractWeightDependence

Bases: AbstractHasParameterNames

API with the weight dependency methods.

abstractmethod get_parameters_sdram_usage_in_bytes(n_synapse_types: int, n_weight_terms: int) int[source]
Parameters:
  • n_synapse_types

  • n_weight_terms

Returns:

the amount of SDRAM used by the parameters of this rule.

abstractmethod is_same_as(weight_dependence: AbstractWeightDependence) bool[source]

Determine if this weight dependence is the same as another.

Parameters:

weight_dependence

Returns:

True if the weight dependence is the same as another.

abstract property vertex_executable_suffix: str

The suffix to be appended to the vertex executable for this rule.

abstract property weight_maximum: float

The maximum weight that will ever be set in a synapse as a result of this rule.

abstractmethod write_parameters(spec: DataSpecificationBase, global_weight_scale: float, synapse_weight_scales: ndarray[tuple[Any, ...], dtype[floating]], n_weight_terms: int) None[source]

Write the parameters of the rule to the spec.

Parameters:
  • spec – The specification to write to

  • global_weight_scale – The weight scale applied globally

  • synapse_weight_scales – The total weight scale applied to each synapse including the global weight scale

  • n_weight_terms – The number of terms used by the synapse rule

class spynnaker.pyNN.models.neuron.plasticity.stdp.weight_dependence.WeightDependenceAdditive(w_min: float = 0.0, w_max: float = 1.0)

Bases: AbstractHasAPlusAMinus, AbstractWeightDependence

An additive weight dependence STDP rule.

Parameters:
  • w_min\(w^{min}\)

  • w_max\(w^{max}\)

get_parameter_names() Iterable[str][source]
Returns:

The parameter names available from the component.

get_parameters_sdram_usage_in_bytes(n_synapse_types: int, n_weight_terms: int) int[source]
Parameters:
  • n_synapse_types

  • n_weight_terms

Returns:

the amount of SDRAM used by the parameters of this rule.

is_same_as(weight_dependence: AbstractWeightDependence) bool[source]

Determine if this weight dependence is the same as another.

Parameters:

weight_dependence

Returns:

True if the weight dependence is the same as another.

property vertex_executable_suffix: str

The suffix to be appended to the vertex executable for this rule.

property w_max: float

\(w^{max}\)

property w_min: float

\(w^{min}\)

property weight_maximum: float

The maximum weight that will ever be set in a synapse as a result of this rule.

write_parameters(spec: DataSpecificationBase, global_weight_scale: float, synapse_weight_scales: ndarray[tuple[Any, ...], dtype[floating]], n_weight_terms: int) None[source]

Write the parameters of the rule to the spec.

Parameters:
  • spec – The specification to write to

  • global_weight_scale – The weight scale applied globally

  • synapse_weight_scales – The total weight scale applied to each synapse including the global weight scale

  • n_weight_terms – The number of terms used by the synapse rule

class spynnaker.pyNN.models.neuron.plasticity.stdp.weight_dependence.WeightDependenceAdditiveTriplet(w_min: float = 0.0, w_max: float = 1.0, A3_plus: float = 0.01, A3_minus: float = 0.01)

Bases: AbstractHasAPlusAMinus, AbstractWeightDependence

An triplet-based additive weight dependence STDP rule.

Parameters:
  • w_min\(w^{min}\)

  • w_max\(w^{max}\)

  • A3_plus\(A_3^+\)

  • A3_minus\(A_3^-\)

property A3_minus: float

\(A_3^-\)

property A3_plus: float

\(A_3^+\)

get_parameter_names() Iterable[str][source]
Returns:

The parameter names available from the component.

get_parameters_sdram_usage_in_bytes(n_synapse_types: int, n_weight_terms: int) int[source]
Parameters:
  • n_synapse_types

  • n_weight_terms

Returns:

the amount of SDRAM used by the parameters of this rule.

is_same_as(weight_dependence: AbstractWeightDependence) bool[source]

Determine if this weight dependence is the same as another.

Parameters:

weight_dependence

Returns:

True if the weight dependence is the same as another.

property vertex_executable_suffix: str

The suffix to be appended to the vertex executable for this rule.

property w_max: float

\(w^{max}\)

property w_min: float

\(w^{min}\)

property weight_maximum: float

The maximum weight that will ever be set in a synapse as a result of this rule.

write_parameters(spec: DataSpecificationBase, global_weight_scale: float, synapse_weight_scales: ndarray[tuple[Any, ...], dtype[floating]], n_weight_terms: int) None[source]

Write the parameters of the rule to the spec.

Parameters:
  • spec – The specification to write to

  • global_weight_scale – The weight scale applied globally

  • synapse_weight_scales – The total weight scale applied to each synapse including the global weight scale

  • n_weight_terms – The number of terms used by the synapse rule

class spynnaker.pyNN.models.neuron.plasticity.stdp.weight_dependence.WeightDependenceMultiplicative(w_min: float = 0.0, w_max: float = 1.0)

Bases: AbstractHasAPlusAMinus, AbstractWeightDependence

A multiplicative weight dependence STDP rule.

Parameters:
  • w_min\(w^{min}\)

  • w_max\(w^{max}\)

get_parameter_names() Iterable[str][source]
Returns:

The parameter names available from the component.

get_parameters_sdram_usage_in_bytes(n_synapse_types: int, n_weight_terms: int) int[source]
Parameters:
  • n_synapse_types

  • n_weight_terms

Returns:

the amount of SDRAM used by the parameters of this rule.

is_same_as(weight_dependence: AbstractWeightDependence) bool[source]

Determine if this weight dependence is the same as another.

Parameters:

weight_dependence

Returns:

True if the weight dependence is the same as another.

property vertex_executable_suffix: str

The suffix to be appended to the vertex executable for this rule.

property w_max: float

\(w^{max}\)

property w_min: float

\(w^{min}\)

property weight_maximum: float

The maximum weight that will ever be set in a synapse as a result of this rule.

write_parameters(spec: DataSpecificationBase, global_weight_scale: float, synapse_weight_scales: ndarray[tuple[Any, ...], dtype[floating]], n_weight_terms: int) None[source]

Write the parameters of the rule to the spec.

Parameters:
  • spec – The specification to write to

  • global_weight_scale – The weight scale applied globally

  • synapse_weight_scales – The total weight scale applied to each synapse including the global weight scale

  • n_weight_terms – The number of terms used by the synapse rule