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^-\)

Return type:

float

property A_plus: float

Settable model parameter: \(A^+\)

Return type:

float

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

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

Parameters:
  • a_plus (float) – \(A^+\)

  • a_minus (float) – \(A^-\)

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

Bases: AbstractHasParameterNames

API with the weight dependency methods.

abstract get_parameters_sdram_usage_in_bytes(n_synapse_types: int, n_weight_terms: int) int[source]

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

Parameters:
  • n_synapse_types (int)

  • n_weight_terms (int)

Return type:

int

abstract is_same_as(weight_dependence: AbstractWeightDependence) bool[source]

Determine if this weight dependence is the same as another.

Parameters:

weight_dependence (AbstractWeightDependence)

Return type:

bool

abstract property vertex_executable_suffix: str

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

Return type:

str

abstract property weight_maximum: float

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

Return type:

float

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

Write the parameters of the rule to the spec.

Parameters:
  • spec (DataSpecificationGenerator) – The specification to write to

  • global_weight_scale (float) – The weight scale applied globally

  • synapse_weight_scales (list(float)) – The total weight scale applied to each synapse including the global weight scale

  • n_weight_terms (int) – 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 (float) – \(w^{min}\)

  • w_max (float) – \(w^{max}\)

get_parameter_names() Iterable[str][source]

Get the parameter names available from the component.

Return type:

iterable(str)

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

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

Parameters:
  • n_synapse_types (int)

  • n_weight_terms (int)

Return type:

int

is_same_as(weight_dependence: AbstractWeightDependence) bool[source]

Determine if this weight dependence is the same as another.

Parameters:

weight_dependence (AbstractWeightDependence)

Return type:

bool

property vertex_executable_suffix: str

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

Return type:

str

property w_max: float

\(w^{max}\)

Return type:

float

property w_min: float

\(w^{min}\)

Return type:

float

property weight_maximum: float

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

Return type:

float

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

Write the parameters of the rule to the spec.

Parameters:
  • spec (DataSpecificationGenerator) – The specification to write to

  • global_weight_scale (float) – The weight scale applied globally

  • synapse_weight_scales (list(float)) – The total weight scale applied to each synapse including the global weight scale

  • n_weight_terms (int) – 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 (float) – \(w^{min}\)

  • w_max (float) – \(w^{max}\)

  • A3_plus (float) – \(A_3^+\)

  • A3_minus (float) – \(A_3^-\)

property A3_minus: float

\(A_3^-\)

Return type:

float

property A3_plus: float

\(A_3^+\)

Return type:

float

default_parameters = {'A3_minus': 0.01, 'A3_plus': 0.01, 'w_max': 1.0, 'w_min': 0.0}
get_parameter_names() Iterable[str][source]

Get the parameter names available from the component.

Return type:

iterable(str)

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

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

Parameters:
  • n_synapse_types (int)

  • n_weight_terms (int)

Return type:

int

is_same_as(weight_dependence: AbstractWeightDependence) bool[source]

Determine if this weight dependence is the same as another.

Parameters:

weight_dependence (AbstractWeightDependence)

Return type:

bool

property vertex_executable_suffix: str

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

Return type:

str

property w_max: float

\(w^{max}\)

Return type:

float

property w_min: float

\(w^{min}\)

Return type:

float

property weight_maximum: float

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

Return type:

float

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

Write the parameters of the rule to the spec.

Parameters:
  • spec (DataSpecificationGenerator) – The specification to write to

  • global_weight_scale (float) – The weight scale applied globally

  • synapse_weight_scales (list(float)) – The total weight scale applied to each synapse including the global weight scale

  • n_weight_terms (int) – 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 (float) – \(w^{min}\)

  • w_max (float) – \(w^{max}\)

get_parameter_names() Iterable[str][source]

Get the parameter names available from the component.

Return type:

iterable(str)

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

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

Parameters:
  • n_synapse_types (int)

  • n_weight_terms (int)

Return type:

int

is_same_as(weight_dependence: AbstractWeightDependence) bool[source]

Determine if this weight dependence is the same as another.

Parameters:

weight_dependence (AbstractWeightDependence)

Return type:

bool

property vertex_executable_suffix: str

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

Return type:

str

property w_max: float

\(w^{max}\)

Return type:

float

property w_min: float

\(w^{min}\)

Return type:

float

property weight_maximum: float

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

Return type:

float

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

Write the parameters of the rule to the spec.

Parameters:
  • spec (DataSpecificationGenerator) – The specification to write to

  • global_weight_scale (float) – The weight scale applied globally

  • synapse_weight_scales (list(float)) – The total weight scale applied to each synapse including the global weight scale

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