spynnaker.pyNN.extra_models package

Module contents

class spynnaker.pyNN.extra_models.IFCondExpStoc(**kwargs)

Bases: AbstractPyNNNeuronModelStandard

Leaky integrate and fire neuron with a stochastic threshold.

Habenschuss S, Jonke Z, Maass W. Stochastic computations in cortical microcircuit models. PLoS Computational Biology. 2013;9(11):e1003311. doi:10.1371/journal.pcbi.1003311

Parameters:
  • tau_m (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_m\)

  • cm (float, iterable(float), RandomDistribution or (mapping) function) – \(C_m\)

  • v_rest (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{rest}\)

  • v_reset (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{reset}\)

  • v_thresh (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{thresh}\)

  • tau_syn_E (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau^{syn}_e\)

  • tau_syn_I (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau^{syn}_i\)

  • tau_refrac (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_{refrac}\)

  • i_offset (float, iterable(float), RandomDistribution or (mapping) function) – \(I_{offset}\)

  • e_rev_E (float, iterable(float), RandomDistribution or (mapping) function) – \(E^{rev}_e\)

  • e_rev_I (float, iterable(float), RandomDistribution or (mapping) function) – \(E^{rev}_i\)

  • du_th (float, iterable(float), RandomDistribution or (mapping) function) – \(du_{thresh}\)

  • tau_th (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_{thresh}\)

  • v (Float, float, iterable(float), RandomDistribution or (mapping) function) – \(V_{init}\)

  • isyn_exc (float, iterable(float), RandomDistribution or (mapping) function) – \(I^{syn}_e\)

  • isyn_inh (float, iterable(float), RandomDistribution or (mapping) function) – \(I^{syn}_i\)

  • model_name (str) – Name of the model.

  • binary (str) – Name of the implementation executable.

  • neuron_model (NeuronModel) – The model of the neuron body

  • input_type (AbstractInputType) – The model of synaptic input types

  • synapse_type (AbstractSynapseType) – The model of the synapses’ dynamics

  • threshold_type (AbstractThresholdType) – The model of the firing threshold

  • additional_input_type (AbstractAdditionalInput or None) – The model (if any) of additional environmental inputs

spynnaker.pyNN.extra_models.IFCurDelta

alias of IFCurrDelta

class spynnaker.pyNN.extra_models.IFCurrDeltaCa2Adaptive(**kwargs)

Bases: AbstractPyNNNeuronModelStandard

Leaky integrate and fire neuron with an instantaneous current input.

Parameters:
  • tau_m (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_m\)

  • cm (float, iterable(float), RandomDistribution or (mapping) function) – \(C_m\)

  • v_rest (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{rest}\)

  • v_reset (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{reset}\)

  • v_thresh (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{thresh}\)

  • tau_refrac (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_{refrac}\)

  • tau_ca2 (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_{\mathrm{Ca}^{+2}}\)

  • i_ca2 (float, iterable(float), RandomDistribution or (mapping) function) – \(I_{\mathrm{Ca}^{+2}}\)

  • i_alpha (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_\alpha\)

  • i_offset (float, iterable(float), RandomDistribution or (mapping) function) – \(I_{offset}\)

  • v (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{init}\)

  • isyn_exc (float, iterable(float), RandomDistribution or (mapping) function) – \(I^{syn}_e\)

  • isyn_inh\(I^{syn}_i\)

  • model_name (str) – Name of the model.

  • binary (str) – Name of the implementation executable.

  • neuron_model (NeuronModel) – The model of the neuron body

  • input_type (AbstractInputType) – The model of synaptic input types

  • synapse_type (AbstractSynapseType) – The model of the synapses’ dynamics

  • threshold_type (AbstractThresholdType) – The model of the firing threshold

  • additional_input_type (AbstractAdditionalInput or None) – The model (if any) of additional environmental inputs

Type:

isyn_inh: float, iterable(float), RandomDistribution or (mapping) function

class spynnaker.pyNN.extra_models.IFCurrDeltaFixedProb(**kwargs)

Bases: AbstractPyNNNeuronModelStandard

Leaky integrate and fire neuron with an instantaneous current input, and fixed probability of spiking once a threshold is reached.

Parameters:
  • tau_m (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_m\)

  • cm (float, iterable(float), RandomDistribution or (mapping) function) – \(C_m\)

  • v_rest (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{rest}\)

  • v_reset (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{reset}\)

  • v_thresh (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{thresh}\)

  • p_thresh (float, iterable(float), RandomDistribution or (mapping) function) – \(P_{thresh}\)

  • tau_refrac (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_{refrac}\)

  • i_offset (float, iterable(float), RandomDistribution or (mapping) function) – \(I_{offset}\)

  • v (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{init}\)

  • isyn_exc (float, iterable(float), RandomDistribution or (mapping) function) – \(I^{syn}_e\)

  • isyn_inh\(I^{syn}_i\)

  • model_name (str) – Name of the model.

  • binary (str) – Name of the implementation executable.

  • neuron_model (NeuronModel) – The model of the neuron body

  • input_type (AbstractInputType) – The model of synaptic input types

  • synapse_type (AbstractSynapseType) – The model of the synapses’ dynamics

  • threshold_type (AbstractThresholdType) – The model of the firing threshold

  • additional_input_type (AbstractAdditionalInput or None) – The model (if any) of additional environmental inputs

Type:

isyn_inh: float, iterable(float), RandomDistribution or (mapping) function

class spynnaker.pyNN.extra_models.IFCurrExpCa2Adaptive(**kwargs)

Bases: AbstractPyNNNeuronModelStandard

Model from Liu, Y. H., & Wang, X. J. (2001). Spike-frequency adaptation of a generalized leaky integrate-and-fire model neuron. Journal of Computational Neuroscience, 10(1), 25-45. doi:10.1023/A:1008916026143

Parameters:
  • tau_m (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_m\)

  • cm (float, iterable(float), RandomDistribution or (mapping) function) – \(C_m\)

  • v_rest (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{rest}\)

  • v_reset (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{reset}\)

  • v_thresh (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{thresh}\)

  • tau_syn_E (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau^{syn}_e\)

  • tau_syn_I (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau^{syn}_i\)

  • tau_refrac (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_{refrac}\)

  • i_offset (float, iterable(float), RandomDistribution or (mapping) function) – \(I_{offset}\)

  • tau_ca2 (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_{\mathrm{Ca}^{+2}}\)

  • i_ca2 (float, iterable(float), RandomDistribution or (mapping) function) – \(I_{\mathrm{Ca}^{+2}}\)

  • i_alpha (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_\alpha\)

  • v (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{init}\)

  • isyn_exc (float, iterable(float), RandomDistribution or (mapping) function) – \(I^{syn}_e\)

  • isyn_inh (float, iterable(float), RandomDistribution or (mapping) function) – \(I^{syn}_i\)

  • model_name (str) – Name of the model.

  • binary (str) – Name of the implementation executable.

  • neuron_model (NeuronModel) – The model of the neuron body

  • input_type (AbstractInputType) – The model of synaptic input types

  • synapse_type (AbstractSynapseType) – The model of the synapses’ dynamics

  • threshold_type (AbstractThresholdType) – The model of the firing threshold

  • additional_input_type (AbstractAdditionalInput or None) – The model (if any) of additional environmental inputs

class spynnaker.pyNN.extra_models.IFTruncDelta(**kwargs)

Bases: AbstractPyNNNeuronModelStandard

Non-leaky Integrate and fire neuron with an instantaneous current input, and truncation of membrane voltage so that it never goes below V_reset.

Parameters:
  • tau_m (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_m\)

  • cm (float, iterable(float), RandomDistribution or (mapping) function) – \(C_m\)

  • v_reset (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{reset}\)

  • v_thresh (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{thresh}\)

  • tau_refrac (float, iterable(float), RandomDistribution or (mapping) function) – \(\tau_{refrac}\)

  • i_offset (float, iterable(float), RandomDistribution or (mapping) function) – \(I_{offset}\)

  • v (float, iterable(float), RandomDistribution or (mapping) function) – \(V_{init}\)

  • isyn_exc (float, iterable(float), RandomDistribution or (mapping) function) – \(I^{syn}_e\)

  • isyn_inh\(I^{syn}_i\)

  • model_name (str) – Name of the model.

  • binary (str) – Name of the implementation executable.

  • neuron_model (NeuronModel) – The model of the neuron body

  • input_type (AbstractInputType) – The model of synaptic input types

  • synapse_type (AbstractSynapseType) – The model of the synapses’ dynamics

  • threshold_type (AbstractThresholdType) – The model of the firing threshold

  • additional_input_type (AbstractAdditionalInput or None) – The model (if any) of additional environmental inputs

Type:

isyn_inh: float, iterable(float), RandomDistribution or (mapping) function

spynnaker.pyNN.extra_models.IF_curr_dual_exp

alias of IFCurrDualExpBase

spynnaker.pyNN.extra_models.IF_curr_exp_sEMD

alias of IFCurrExpSEMDBase

spynnaker.pyNN.extra_models.Izhikevich_cond

alias of IzkCondExpBase

spynnaker.pyNN.extra_models.Izhikevich_cond_dual

alias of IzkCondDualExpBase

spynnaker.pyNN.extra_models.Neuromodulation

alias of SynapseDynamicsNeuromodulation

spynnaker.pyNN.extra_models.PfisterSpikeTriplet

alias of TimingDependencePfisterSpikeTriplet

spynnaker.pyNN.extra_models.RecurrentRule

alias of TimingDependenceRecurrent

spynnaker.pyNN.extra_models.SpikeNearestPairRule

alias of TimingDependenceSpikeNearestPair

class spynnaker.pyNN.extra_models.SpikeSourcePoissonVariable(rates: Sequence[float] | ndarray[Any, dtype[floating]] | None, starts: Sequence[int] | ndarray[Any, dtype[integer]], durations: Sequence[int] | ndarray[Any, dtype[integer]] | None = None)

Bases: AbstractPyNNModel

Model to create a Spike Source Poisson Vertex.

absolute_max_atoms_per_core = 500
create_vertex(n_neurons: int, label: str, *, seed: int | None = None, splitter: AbstractSplitterCommon | None = None) SpikeSourcePoissonVertex[source]

Create a vertex for a population of the model.

Parameters:
Returns:

An application vertex for the population

Return type:

PopulationApplicationVertex

default_population_parameters: Dict[str, Any] = {'seed': None, 'splitter': None}

The default values for the parameters at the population level. These are parameters that can be passed in to the Population constructor in addition to the standard PyNN options.

class spynnaker.pyNN.extra_models.StocExp(**kwargs)

Bases: AbstractPyNNNeuronModel

Stochastic neuron model exponential threshold and instantaneous synapses, and voltage which is reset each time step.

Parameters:

model (AbstractNeuronImpl) – The model implementation

class spynnaker.pyNN.extra_models.StocExpStable(**kwargs)

Bases: AbstractPyNNNeuronModel

Stochastic neuron model with exponential threshold and instantaneous synapses, and voltage stays unless changed by input.

Parameters:

model (AbstractNeuronImpl) – The model implementation

class spynnaker.pyNN.extra_models.StocSigma(**kwargs)

Bases: AbstractPyNNNeuronModel

Stochastic model with sigma threshold and instantaneous synapses.

Parameters:

model (AbstractNeuronImpl) – The model implementation

spynnaker.pyNN.extra_models.Vogels2011Rule

alias of TimingDependenceVogels2011

class spynnaker.pyNN.extra_models.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