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

Return type:

float

abstract property A_plus: float

\(A^+\)

Return type:

float

abstractmethod get_parameters_sdram_usage_in_bytes() int[source]

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

Return type:

int

abstractmethod is_same_as(timing_dependence: AbstractTimingDependence) bool[source]

Determine if this timing dependence is the same as another.

Parameters:

timing_dependence (AbstractTimingDependence)

Return type:

bool

abstract property n_weight_terms: int

The number of weight terms expected by this timing rule.

Return type:

int

abstract property pre_trace_n_bytes: int

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

Return type:

int

property synaptic_structure: AbstractSynapseStructure

The synaptic structure of the plastic part of the rows.

Return type:

AbstractSynapseStructure

abstract property vertex_executable_suffix: str

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

Return type:

str

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

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 (float) – \(\tau_+\)

  • tau_minus (float) – \(\tau_-\)

  • tau_x (float) – \(\tau_x\)

  • tau_y (float) – \(\tau_y\)

  • A_plus (float) – \(A^+\)

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

property A_minus: float

\(A^-\)

Return type:

float

property A_plus: float

\(A^+\)

Return type:

float

get_parameter_names() Iterable[str][source]

Get the parameter names available from the component.

Return type:

iterable(str)

get_parameters_sdram_usage_in_bytes() int[source]

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

Return type:

int

is_same_as(timing_dependence: AbstractTimingDependence) bool[source]

Determine if this timing dependence is the same as another.

Parameters:

timing_dependence (AbstractTimingDependence)

Return type:

bool

property n_weight_terms: int

The number of weight terms expected by this timing rule.

Return type:

int

property pre_trace_n_bytes: int

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

Return type:

int

property tau_minus: float

\(\tau_-\)

Return type:

float

property tau_plus: float

\(\tau_+\)

Return type:

float

property tau_x: float

\(\tau_x\)

Return type:

float

property tau_y: float

\(\tau_y\)

Return type:

float

property vertex_executable_suffix: str

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

Return type:

str

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

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 (int)

  • accumulator_potentiation (int)

  • mean_pre_window (float)

  • mean_post_window (float)

  • dual_fsm (bool)

  • A_plus (float) – \(A^+\)

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

property A_minus: float

\(A^-\)

Return type:

float

property A_plus: float

\(A^+\)

Return type:

float

get_parameter_names() Iterable[str][source]

Get the parameter names available from the component.

Return type:

iterable(str)

get_parameters_sdram_usage_in_bytes() int[source]

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

Return type:

int

is_same_as(timing_dependence: AbstractTimingDependence) bool[source]

Determine if this timing dependence is the same as another.

Parameters:

timing_dependence (AbstractTimingDependence)

Return type:

bool

property n_weight_terms: int

The number of weight terms expected by this timing rule.

Return type:

int

property pre_trace_n_bytes: int

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

Return type:

int

property vertex_executable_suffix: str

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

Return type:

str

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

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 (float) – \(\tau_+\)

  • tau_minus (float) – \(\tau_-\)

  • A_plus (float) – \(A^+\)

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

property A_minus: float

\(A^-\)

Return type:

float

property A_plus: float

\(A^+\)

Return type:

float

get_parameter_names() Iterable[str][source]

Get the parameter names available from the component.

Return type:

iterable(str)

get_parameters_sdram_usage_in_bytes() int[source]

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

Return type:

int

is_same_as(timing_dependence: AbstractTimingDependence) bool[source]

Determine if this timing dependence is the same as another.

Parameters:

timing_dependence (AbstractTimingDependence)

Return type:

bool

property n_weight_terms: int

The number of weight terms expected by this timing rule.

Return type:

int

property pre_trace_n_bytes: int

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

Return type:

int

property tau_minus: float

\(\tau_-\)

Return type:

float

property tau_plus: float

\(\tau_+\)

Return type:

float

property vertex_executable_suffix: str

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

Return type:

str

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

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 (float) – \(\tau_+\)

  • tau_minus (float) – \(\tau_-\)

  • A_plus (float) – \(A^+\)

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

property A_minus: float

\(A^-\)

Return type:

float

property A_plus: float

\(A^+\)

Return type:

float

get_parameter_names() Iterable[str][source]

Get the parameter names available from the component.

Return type:

iterable(str)

get_parameters_sdram_usage_in_bytes() int[source]

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

Return type:

int

is_same_as(timing_dependence: AbstractTimingDependence) bool[source]

Determine if this timing dependence is the same as another.

Parameters:

timing_dependence (AbstractTimingDependence)

Return type:

bool

property n_weight_terms: int

The number of weight terms expected by this timing rule.

Return type:

int

property pre_trace_n_bytes: int

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

Return type:

int

property tau_minus: float

\(\tau_-\)

Return type:

float

property tau_plus: float

\(\tau_+\)

Return type:

float

property vertex_executable_suffix: str

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

Return type:

str

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

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 (float) – \(\alpha\)

  • tau (float) – \(\tau\)

  • A_plus (float) – \(A^+\)

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

property A_minus: float

\(A^-\)

Return type:

float

property A_plus: float

\(A^+\)

Return type:

float

property alpha: float

\(\alpha\)

Return type:

float

get_parameter_names() Iterable[str][source]

Get the parameter names available from the component.

Return type:

iterable(str)

get_parameters_sdram_usage_in_bytes() int[source]

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

Return type:

int

is_same_as(timing_dependence: AbstractTimingDependence) bool[source]

Determine if this timing dependence is the same as another.

Parameters:

timing_dependence (AbstractTimingDependence)

Return type:

bool

property n_weight_terms: int

The number of weight terms expected by this timing rule.

Return type:

int

property pre_trace_n_bytes: int

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

Return type:

int

property tau: float

\(\tau\)

Return type:

float

property vertex_executable_suffix: str

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

Return type:

str

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