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

Module contents

class spynnaker.pyNN.models.neuron.plasticity.stdp.timing_dependence.AbstractTimingDependence(synapse_structure: AbstractSynapseStructure)

Bases: AbstractHasParameterNames

An STDP timing dependence rule.

Parameters:

synapse_structure – The synaptic structure of the plastic part of the rows.

abstract property A_minus: float

\(A^-\)

abstract property A_plus: float

\(A^+\)

abstractmethod get_parameters_sdram_usage_in_bytes() int[source]
Returns:

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

abstractmethod is_same_as(timing_dependence: AbstractTimingDependence) bool[source]
Parameters:

timing_dependence

Returns:

True if the timing dependence is the same as another.

abstract property n_weight_terms: int

The number of weight terms expected by this timing rule.

abstract property pre_trace_n_bytes: int

The number of bytes used by the pre-trace of the rule per neuron.

property synaptic_structure: AbstractSynapseStructure

The synaptic structure of the plastic part of the rows.

abstract property vertex_executable_suffix: str

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

abstractmethod write_parameters(spec: DataSpecificationBase, global_weight_scale: float, synapse_weight_scales: ndarray[tuple[Any, ...], dtype[floating]]) 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

class spynnaker.pyNN.models.neuron.plasticity.stdp.timing_dependence.TimingDependencePfisterSpikeTriplet(tau_plus: float, tau_minus: float, tau_x: float, tau_y: float, A_plus: float, A_minus: float)

Bases: AbstractTimingDependence

A timing dependence STDP rule based on spike triplets.

Jean-Pascal Pfister, Wulfram Gerstner. Triplets of Spikes in a Model of Spike Timing-Dependent Plasticity. Journal of Neuroscience, 20 September 2006, 26 (38) 9673-9682; DOI: 10.1523/JNEUROSCI.1425-06.2006

Parameters:
  • tau_plus\(\tau_+\)

  • tau_minus\(\tau_-\)

  • tau_x\(\tau_x\)

  • tau_y\(\tau_y\)

  • A_plus\(A^+\)

  • A_minus\(A^-\)

property A_minus: float

\(A^-\)

property A_plus: float

\(A^+\)

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

The parameter names available from the component.

get_parameters_sdram_usage_in_bytes() int[source]
Returns:

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

is_same_as(timing_dependence: AbstractTimingDependence) bool[source]
Parameters:

timing_dependence

Returns:

True if the timing dependence is the same as another.

property n_weight_terms: int

The number of weight terms expected by this timing rule.

property pre_trace_n_bytes: int

The number of bytes used by the pre-trace of the rule per neuron.

property tau_minus: float

\(\tau_-\)

property tau_plus: float

\(\tau_+\)

property tau_x: float

\(\tau_x\)

property tau_y: float

\(\tau_y\)

property vertex_executable_suffix: str

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

write_parameters(spec: DataSpecificationBase, global_weight_scale: float, synapse_weight_scales: ndarray[tuple[Any, ...], dtype[floating]]) 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

class spynnaker.pyNN.models.neuron.plasticity.stdp.timing_dependence.TimingDependenceRecurrent(accumulator_depression: int = -6, accumulator_potentiation: int = 6, mean_pre_window: float = 35.0, mean_post_window: float = 35.0, dual_fsm: bool = True, A_plus: float = 0.01, A_minus: float = 0.01)

Bases: AbstractTimingDependence

A timing dependence STDP rule based on recurrences.

Parameters:
  • accumulator_depression

  • accumulator_potentiation

  • mean_pre_window

  • mean_post_window

  • dual_fsm

  • A_plus\(A^+\)

  • A_minus\(A^-\)

property A_minus: float

\(A^-\)

property A_plus: float

\(A^+\)

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

The parameter names available from the component.

get_parameters_sdram_usage_in_bytes() int[source]
Returns:

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

is_same_as(timing_dependence: AbstractTimingDependence) bool[source]
Parameters:

timing_dependence

Returns:

True if the timing dependence is the same as another.

property n_weight_terms: int

The number of weight terms expected by this timing rule.

property pre_trace_n_bytes: int

The number of bytes used by the pre-trace of the rule per neuron.

property vertex_executable_suffix: str

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

write_parameters(spec: DataSpecificationBase, global_weight_scale: float, synapse_weight_scales: ndarray[tuple[Any, ...], dtype[floating]]) 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

class spynnaker.pyNN.models.neuron.plasticity.stdp.timing_dependence.TimingDependenceSpikeNearestPair(tau_plus: float = 20.0, tau_minus: float = 20.0, A_plus: float = 0.01, A_minus: float = 0.01)

Bases: AbstractTimingDependence

A timing dependence STDP rule based on nearest pairs.

Parameters:
  • tau_plus\(\tau_+\)

  • tau_minus\(\tau_-\)

  • A_plus\(A^+\)

  • A_minus\(A^-\)

property A_minus: float

\(A^-\)

property A_plus: float

\(A^+\)

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

The parameter names available from the component.

get_parameters_sdram_usage_in_bytes() int[source]
Returns:

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

is_same_as(timing_dependence: AbstractTimingDependence) bool[source]
Parameters:

timing_dependence

Returns:

True if the timing dependence is the same as another.

property n_weight_terms: int

The number of weight terms expected by this timing rule.

property pre_trace_n_bytes: int

The number of bytes used by the pre-trace of the rule per neuron.

property tau_minus: float

\(\tau_-\)

property tau_plus: float

\(\tau_+\)

property vertex_executable_suffix: str

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

write_parameters(spec: DataSpecificationBase, global_weight_scale: float, synapse_weight_scales: ndarray[tuple[Any, ...], dtype[floating]]) 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

class spynnaker.pyNN.models.neuron.plasticity.stdp.timing_dependence.TimingDependenceSpikePair(tau_plus: float = 20.0, tau_minus: float = 20.0, A_plus: float = 0.01, A_minus: float = 0.01)

Bases: AbstractTimingDependence

A basic timing dependence STDP rule.

Parameters:
  • tau_plus\(\tau_+\)

  • tau_minus\(\tau_-\)

  • A_plus\(A^+\)

  • A_minus\(A^-\)

property A_minus: float

\(A^-\)

property A_plus: float

\(A^+\)

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

The parameter names available from the component.

get_parameters_sdram_usage_in_bytes() int[source]
Returns:

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

is_same_as(timing_dependence: AbstractTimingDependence) bool[source]
Parameters:

timing_dependence

Returns:

True if the timing dependence is the same as another.

property n_weight_terms: int

The number of weight terms expected by this timing rule.

property pre_trace_n_bytes: int

The number of bytes used by the pre-trace of the rule per neuron.

property tau_minus: float

\(\tau_-\)

property tau_plus: float

\(\tau_+\)

property vertex_executable_suffix: str

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

write_parameters(spec: DataSpecificationBase, global_weight_scale: float, synapse_weight_scales: ndarray[tuple[Any, ...], dtype[floating]]) 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

class spynnaker.pyNN.models.neuron.plasticity.stdp.timing_dependence.TimingDependenceVogels2011(alpha: float, tau: float = 20.0, A_plus: float = 0.01, A_minus: float = 0.01)

Bases: AbstractTimingDependence

A timing dependence STDP rule due to Vogels (2011).

Parameters:
  • alpha\(\alpha\)

  • tau\(\tau\)

  • A_plus\(A^+\)

  • A_minus\(A^-\)

property A_minus: float

\(A^-\)

property A_plus: float

\(A^+\)

property alpha: float

\(\alpha\)

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

The parameter names available from the component.

get_parameters_sdram_usage_in_bytes() int[source]
Returns:

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

is_same_as(timing_dependence: AbstractTimingDependence) bool[source]
Parameters:

timing_dependence

Returns:

True if the timing dependence is the same as another.

property n_weight_terms: int

The number of weight terms expected by this timing rule.

property pre_trace_n_bytes: int

The number of bytes used by the pre-trace of the rule per neuron.

property tau: float

\(\tau\)

property vertex_executable_suffix: str

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

write_parameters(spec: DataSpecificationBase, global_weight_scale: float, synapse_weight_scales: ndarray[tuple[Any, ...], dtype[floating]]) 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