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

Module contents

class spynnaker.pyNN.models.neuron.plasticity.stdp.timing_dependence.AbstractTimingDependence

Bases: object

abstract get_parameter_names()[source]

Return the names of the parameters supported by this timing dependency model.

Return type:

iterable(str)

abstract get_parameters_sdram_usage_in_bytes()[source]

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

Return type:

int

abstract is_same_as(timing_dependence)[source]

Determine if this timing dependence is the same as another.

Parameters:

timing_dependence (AbstractTimingDependence) –

Return type:

bool

abstract property n_weight_terms

The number of weight terms expected by this timing rule.

Return type:

int

abstract property pre_trace_n_bytes

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

Return type:

int

abstract property synaptic_structure

The synaptic structure of the plastic part of the rows.

Return type:

AbstractSynapseStructure

abstract property vertex_executable_suffix

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

Return type:

str

abstract write_parameters(spec, global_weight_scale, synapse_weight_scales)[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, tau_minus, tau_x, tau_y, A_plus, A_minus)

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

\(A^-\)

Return type:

float

property A_plus

\(A^+\)

Return type:

float

get_parameter_names()[source]

Return the names of the parameters supported by this timing dependency model.

Return type:

iterable(str)

get_parameters_sdram_usage_in_bytes()[source]

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

Return type:

int

is_same_as(timing_dependence)[source]

Determine if this timing dependence is the same as another.

Parameters:

timing_dependence (AbstractTimingDependence) –

Return type:

bool

property n_weight_terms

The number of weight terms expected by this timing rule.

Return type:

int

property pre_trace_n_bytes

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

Return type:

int

property synaptic_structure

The synaptic structure of the plastic part of the rows.

Return type:

AbstractSynapseStructure

property tau_minus

\(\tau_-\)

Return type:

float

property tau_plus

\(\tau_+\)

Return type:

float

property tau_x

\(\tau_x\)

Return type:

float

property tau_y

\(\tau_y\)

Return type:

float

property vertex_executable_suffix

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

Return type:

str

write_parameters(spec, global_weight_scale, synapse_weight_scales)[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=-6, accumulator_potentiation=6, mean_pre_window=35.0, mean_post_window=35.0, dual_fsm=True, A_plus=0.01, A_minus=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

\(A^-\)

Return type:

float

property A_plus

\(A^+\)

Return type:

float

default_parameters = {'accumulator_depression': -6, 'accumulator_potentiation': 6, 'dual_fsm': True, 'mean_post_window': 35.0, 'mean_pre_window': 35.0}
get_parameter_names()[source]

Return the names of the parameters supported by this timing dependency model.

Return type:

iterable(str)

get_parameters_sdram_usage_in_bytes()[source]

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

Return type:

int

is_same_as(timing_dependence)[source]

Determine if this timing dependence is the same as another.

Parameters:

timing_dependence (AbstractTimingDependence) –

Return type:

bool

property n_weight_terms

The number of weight terms expected by this timing rule.

Return type:

int

property pre_trace_n_bytes

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

Return type:

int

property synaptic_structure

The synaptic structure of the plastic part of the rows.

Return type:

AbstractSynapseStructure

property vertex_executable_suffix

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

Return type:

str

write_parameters(spec, global_weight_scale, synapse_weight_scales)[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=20.0, tau_minus=20.0, A_plus=0.01, A_minus=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

\(A^-\)

Return type:

float

property A_plus

\(A^+\)

Return type:

float

default_parameters = {'tau_minus': 20.0, 'tau_plus': 20.0}
get_parameter_names()[source]

Return the names of the parameters supported by this timing dependency model.

Return type:

iterable(str)

get_parameters_sdram_usage_in_bytes()[source]

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

Return type:

int

is_same_as(timing_dependence)[source]

Determine if this timing dependence is the same as another.

Parameters:

timing_dependence (AbstractTimingDependence) –

Return type:

bool

property n_weight_terms

The number of weight terms expected by this timing rule.

Return type:

int

property pre_trace_n_bytes

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

Return type:

int

property synaptic_structure

The synaptic structure of the plastic part of the rows.

Return type:

AbstractSynapseStructure

property tau_minus

\(\tau_-\)

Return type:

float

property tau_plus

\(\tau_+\)

Return type:

float

property vertex_executable_suffix

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

Return type:

str

write_parameters(spec, global_weight_scale, synapse_weight_scales)[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=20.0, tau_minus=20.0, A_plus=0.01, A_minus=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

\(A^-\)

Return type:

float

property A_plus

\(A^+\)

Return type:

float

get_parameter_names()[source]

Return the names of the parameters supported by this timing dependency model.

Return type:

iterable(str)

get_parameters_sdram_usage_in_bytes()[source]

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

Return type:

int

is_same_as(timing_dependence)[source]

Determine if this timing dependence is the same as another.

Parameters:

timing_dependence (AbstractTimingDependence) –

Return type:

bool

property n_weight_terms

The number of weight terms expected by this timing rule.

Return type:

int

property pre_trace_n_bytes

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

Return type:

int

property synaptic_structure

The synaptic structure of the plastic part of the rows.

Return type:

AbstractSynapseStructure

property tau_minus

\(\tau_-\)

Return type:

float

property tau_plus

\(\tau_+\)

Return type:

float

property vertex_executable_suffix

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

Return type:

str

write_parameters(spec, global_weight_scale, synapse_weight_scales)[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, tau=20.0, A_plus=0.01, A_minus=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

\(A^-\)

Return type:

float

property A_plus

\(A^+\)

Return type:

float

property alpha

\(\alpha\)

Return type:

float

default_parameters = {'tau': 20.0}
get_parameter_names()[source]

Return the names of the parameters supported by this timing dependency model.

Return type:

iterable(str)

get_parameters_sdram_usage_in_bytes()[source]

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

Return type:

int

is_same_as(timing_dependence)[source]

Determine if this timing dependence is the same as another.

Parameters:

timing_dependence (AbstractTimingDependence) –

Return type:

bool

property n_weight_terms

The number of weight terms expected by this timing rule.

Return type:

int

property pre_trace_n_bytes

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

Return type:

int

property synaptic_structure

The synaptic structure of the plastic part of the rows.

Return type:

AbstractSynapseStructure

property tau

\(\tau\)

Return type:

float

property vertex_executable_suffix

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

Return type:

str

write_parameters(spec, global_weight_scale, synapse_weight_scales)[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