spynnaker.pyNN.models.neuron package¶
Subpackages¶
- spynnaker.pyNN.models.neuron.additional_inputs package
- spynnaker.pyNN.models.neuron.builds package
- Module contents
EIFConductanceAlphaPopulationHHCondExpIFCondAlphaIFCondExpBaseIFCondExpStocIFCurrAlphaIFCurrDeltaIFCurrDeltaCa2AdaptiveIFCurrDeltaFixedProbIFCurrDualExpBaseIFCurrExpBaseIFCurrExpCa2AdaptiveIFCurrExpSEMDBaseIFFacetsConductancePopulationIFTruncDeltaIzkCondDualExpBaseIzkCondExpBaseIzkCurrExpBaseStocExpStocExpStableStocSigma
- Module contents
- spynnaker.pyNN.models.neuron.implementations package
- Module contents
AbstractNeuronImplAbstractNeuronImpl.add_parameters()AbstractNeuronImpl.add_state_variables()AbstractNeuronImpl.binary_nameAbstractNeuronImpl.get_global_weight_scale()AbstractNeuronImpl.get_n_synapse_types()AbstractNeuronImpl.get_recordable_data_types()AbstractNeuronImpl.get_recordable_units()AbstractNeuronImpl.get_recordable_variable_index()AbstractNeuronImpl.get_recordable_variables()AbstractNeuronImpl.get_synapse_id_by_target()AbstractNeuronImpl.get_synapse_targets()AbstractNeuronImpl.get_units()AbstractNeuronImpl.is_conductance_basedAbstractNeuronImpl.is_recordable()AbstractNeuronImpl.model_nameAbstractNeuronImpl.structs
AbstractStandardNeuronComponentNeuronImplStandardNeuronImplStandard.add_parameters()NeuronImplStandard.add_state_variables()NeuronImplStandard.binary_nameNeuronImplStandard.get_global_weight_scale()NeuronImplStandard.get_n_synapse_types()NeuronImplStandard.get_recordable_data_types()NeuronImplStandard.get_recordable_units()NeuronImplStandard.get_recordable_variable_index()NeuronImplStandard.get_recordable_variables()NeuronImplStandard.get_synapse_id_by_target()NeuronImplStandard.get_synapse_targets()NeuronImplStandard.get_units()NeuronImplStandard.is_conductance_basedNeuronImplStandard.is_recordable()NeuronImplStandard.model_nameNeuronImplStandard.n_steps_per_timestepNeuronImplStandard.structs
NeuronImplStocExpNeuronImplStocExp.add_parameters()NeuronImplStocExp.add_state_variables()NeuronImplStocExp.binary_nameNeuronImplStocExp.get_global_weight_scale()NeuronImplStocExp.get_n_synapse_types()NeuronImplStocExp.get_recordable_data_types()NeuronImplStocExp.get_recordable_units()NeuronImplStocExp.get_recordable_variable_index()NeuronImplStocExp.get_recordable_variables()NeuronImplStocExp.get_synapse_id_by_target()NeuronImplStocExp.get_synapse_targets()NeuronImplStocExp.get_units()NeuronImplStocExp.is_conductance_basedNeuronImplStocExp.is_recordable()NeuronImplStocExp.model_nameNeuronImplStocExp.structs
NeuronImplStocExpStableNeuronImplStocExpStable.add_parameters()NeuronImplStocExpStable.add_state_variables()NeuronImplStocExpStable.binary_nameNeuronImplStocExpStable.get_global_weight_scale()NeuronImplStocExpStable.get_n_synapse_types()NeuronImplStocExpStable.get_recordable_data_types()NeuronImplStocExpStable.get_recordable_units()NeuronImplStocExpStable.get_recordable_variable_index()NeuronImplStocExpStable.get_recordable_variables()NeuronImplStocExpStable.get_synapse_id_by_target()NeuronImplStocExpStable.get_synapse_targets()NeuronImplStocExpStable.get_units()NeuronImplStocExpStable.is_conductance_basedNeuronImplStocExpStable.is_recordable()NeuronImplStocExpStable.model_nameNeuronImplStocExpStable.structs
NeuronImplStocSigmaNeuronImplStocSigma.add_parameters()NeuronImplStocSigma.add_state_variables()NeuronImplStocSigma.binary_nameNeuronImplStocSigma.get_global_weight_scale()NeuronImplStocSigma.get_n_synapse_types()NeuronImplStocSigma.get_recordable_data_types()NeuronImplStocSigma.get_recordable_units()NeuronImplStocSigma.get_recordable_variable_index()NeuronImplStocSigma.get_recordable_variables()NeuronImplStocSigma.get_synapse_id_by_target()NeuronImplStocSigma.get_synapse_targets()NeuronImplStocSigma.get_units()NeuronImplStocSigma.is_conductance_basedNeuronImplStocSigma.is_recordable()NeuronImplStocSigma.model_nameNeuronImplStocSigma.structs
- Module contents
- spynnaker.pyNN.models.neuron.input_types package
- spynnaker.pyNN.models.neuron.local_only package
- Module contents
AbstractLocalOnlyLocalOnlyConvolutionLocalOnlyConvolution.changes_during_runLocalOnlyConvolution.get_maximum_positive_weight()LocalOnlyConvolution.get_mean_negative_weight()LocalOnlyConvolution.get_mean_positive_weight()LocalOnlyConvolution.get_minimum_negative_weight()LocalOnlyConvolution.get_negative_synapse_index()LocalOnlyConvolution.get_parameters_usage_in_bytes()LocalOnlyConvolution.get_positive_synapse_index()LocalOnlyConvolution.get_variance_negative_weight()LocalOnlyConvolution.get_variance_positive_weight()LocalOnlyConvolution.get_vertex_executable_suffix()LocalOnlyConvolution.merge()LocalOnlyConvolution.synapses_per_secondLocalOnlyConvolution.write_parameters()
LocalOnlyPoolDenseLocalOnlyPoolDense.changes_during_runLocalOnlyPoolDense.get_maximum_positive_weight()LocalOnlyPoolDense.get_mean_negative_weight()LocalOnlyPoolDense.get_mean_positive_weight()LocalOnlyPoolDense.get_minimum_negative_weight()LocalOnlyPoolDense.get_negative_synapse_index()LocalOnlyPoolDense.get_parameters_usage_in_bytes()LocalOnlyPoolDense.get_positive_synapse_index()LocalOnlyPoolDense.get_variance_negative_weight()LocalOnlyPoolDense.get_variance_positive_weight()LocalOnlyPoolDense.get_vertex_executable_suffix()LocalOnlyPoolDense.merge()LocalOnlyPoolDense.synapses_per_secondLocalOnlyPoolDense.write_parameters()
- Module contents
- spynnaker.pyNN.models.neuron.neuron_models package
- Module contents
NeuronModelNeuronModelIFTruncNeuronModelIzhNeuronModelLeakyIntegrateAndFireNeuronModelLeakyIntegrateAndFire.add_parameters()NeuronModelLeakyIntegrateAndFire.add_state_variables()NeuronModelLeakyIntegrateAndFire.cmNeuronModelLeakyIntegrateAndFire.i_offsetNeuronModelLeakyIntegrateAndFire.tau_mNeuronModelLeakyIntegrateAndFire.tau_refracNeuronModelLeakyIntegrateAndFire.v_initNeuronModelLeakyIntegrateAndFire.v_resetNeuronModelLeakyIntegrateAndFire.v_rest
- Module contents
- spynnaker.pyNN.models.neuron.plasticity package
- spynnaker.pyNN.models.neuron.structural_plasticity package
- spynnaker.pyNN.models.neuron.synapse_dynamics package
- Submodules
- spynnaker.pyNN.models.neuron.synapse_dynamics.types module
- Module contents
AbstractGenerateOnMachineAbstractHasParameterNamesAbstractPlasticSynapseDynamicsAbstractPlasticSynapseDynamics.get_n_fixed_plastic_words_per_row()AbstractPlasticSynapseDynamics.get_n_plastic_plastic_words_per_row()AbstractPlasticSynapseDynamics.get_n_synapses_in_rows()AbstractPlasticSynapseDynamics.get_n_words_for_plastic_connections()AbstractPlasticSynapseDynamics.get_plastic_synaptic_data()AbstractPlasticSynapseDynamics.read_plastic_synaptic_data()
AbstractSDRAMSynapseDynamicsAbstractSDRAMSynapseDynamics.convert_per_connection_data_to_rows()AbstractSDRAMSynapseDynamics.get_max_synapses()AbstractSDRAMSynapseDynamics.get_n_items()AbstractSDRAMSynapseDynamics.get_parameters_sdram_usage_in_bytes()AbstractSDRAMSynapseDynamics.get_words()AbstractSDRAMSynapseDynamics.is_same_as()AbstractSDRAMSynapseDynamics.pad_to_lengthAbstractSDRAMSynapseDynamics.write_parameters()
AbstractStaticSynapseDynamicsAbstractSupportsSignedWeightsAbstractSupportsSignedWeights.get_maximum_positive_weight()AbstractSupportsSignedWeights.get_mean_negative_weight()AbstractSupportsSignedWeights.get_mean_positive_weight()AbstractSupportsSignedWeights.get_minimum_negative_weight()AbstractSupportsSignedWeights.get_negative_synapse_index()AbstractSupportsSignedWeights.get_positive_synapse_index()AbstractSupportsSignedWeights.get_variance_negative_weight()AbstractSupportsSignedWeights.get_variance_positive_weight()
AbstractSynapseDynamicsAbstractSynapseDynamics.NUMPY_CONNECTORS_DTYPEAbstractSynapseDynamics.absolute_max_atoms_per_coreAbstractSynapseDynamics.changes_during_runAbstractSynapseDynamics.delayAbstractSynapseDynamics.get_connected_vertices()AbstractSynapseDynamics.get_delay_maximum()AbstractSynapseDynamics.get_delay_minimum()AbstractSynapseDynamics.get_delay_variance()AbstractSynapseDynamics.get_provenance_data()AbstractSynapseDynamics.get_synapse_id_by_target()AbstractSynapseDynamics.get_value()AbstractSynapseDynamics.get_vertex_executable_suffix()AbstractSynapseDynamics.get_weight_maximum()AbstractSynapseDynamics.get_weight_mean()AbstractSynapseDynamics.get_weight_variance()AbstractSynapseDynamics.is_combined_core_capableAbstractSynapseDynamics.is_split_core_capableAbstractSynapseDynamics.merge()AbstractSynapseDynamics.set_value()AbstractSynapseDynamics.synapses_per_secondAbstractSynapseDynamics.validate_connection()AbstractSynapseDynamics.weight
AbstractSynapseDynamicsStructuralAbstractSynapseDynamicsStructural.check_initial_delay()AbstractSynapseDynamicsStructural.eliminationAbstractSynapseDynamicsStructural.f_rewAbstractSynapseDynamicsStructural.formationAbstractSynapseDynamicsStructural.get_max_rewires_per_ts()AbstractSynapseDynamicsStructural.get_structural_parameters_sdram_usage_in_bytes()AbstractSynapseDynamicsStructural.initial_delayAbstractSynapseDynamicsStructural.initial_weightAbstractSynapseDynamicsStructural.partner_selectionAbstractSynapseDynamicsStructural.s_maxAbstractSynapseDynamicsStructural.seedAbstractSynapseDynamicsStructural.set_connections()AbstractSynapseDynamicsStructural.with_replacementAbstractSynapseDynamicsStructural.write_structural_parameters()
PyNNSynapseDynamicsSynapseDynamicsNeuromodulationSynapseDynamicsNeuromodulation.changes_during_runSynapseDynamicsNeuromodulation.gen_matrix_idSynapseDynamicsNeuromodulation.gen_matrix_params()SynapseDynamicsNeuromodulation.gen_matrix_params_size_in_bytesSynapseDynamicsNeuromodulation.get_max_synapses()SynapseDynamicsNeuromodulation.get_n_fixed_plastic_words_per_row()SynapseDynamicsNeuromodulation.get_n_plastic_plastic_words_per_row()SynapseDynamicsNeuromodulation.get_n_synapses_in_rows()SynapseDynamicsNeuromodulation.get_n_words_for_plastic_connections()SynapseDynamicsNeuromodulation.get_parameter_names()SynapseDynamicsNeuromodulation.get_parameters_sdram_usage_in_bytes()SynapseDynamicsNeuromodulation.get_plastic_synaptic_data()SynapseDynamicsNeuromodulation.get_synapse_id_by_target()SynapseDynamicsNeuromodulation.get_value()SynapseDynamicsNeuromodulation.get_vertex_executable_suffix()SynapseDynamicsNeuromodulation.is_combined_core_capableSynapseDynamicsNeuromodulation.is_neuromodulation_same_as()SynapseDynamicsNeuromodulation.is_same_as()SynapseDynamicsNeuromodulation.is_split_core_capableSynapseDynamicsNeuromodulation.merge()SynapseDynamicsNeuromodulation.pad_to_lengthSynapseDynamicsNeuromodulation.read_plastic_synaptic_data()SynapseDynamicsNeuromodulation.set_value()SynapseDynamicsNeuromodulation.synapses_per_secondSynapseDynamicsNeuromodulation.tau_cSynapseDynamicsNeuromodulation.tau_dSynapseDynamicsNeuromodulation.w_maxSynapseDynamicsNeuromodulation.w_minSynapseDynamicsNeuromodulation.write_parameters()
SynapseDynamicsSTDPSynapseDynamicsSTDP.backprop_delaySynapseDynamicsSTDP.changes_during_runSynapseDynamicsSTDP.dendritic_delay_fractionSynapseDynamicsSTDP.gen_matrix_idSynapseDynamicsSTDP.gen_matrix_params()SynapseDynamicsSTDP.gen_matrix_params_size_in_bytesSynapseDynamicsSTDP.get_max_synapses()SynapseDynamicsSTDP.get_n_fixed_plastic_words_per_row()SynapseDynamicsSTDP.get_n_plastic_plastic_words_per_row()SynapseDynamicsSTDP.get_n_synapses_in_rows()SynapseDynamicsSTDP.get_n_words_for_plastic_connections()SynapseDynamicsSTDP.get_parameter_names()SynapseDynamicsSTDP.get_parameters_sdram_usage_in_bytes()SynapseDynamicsSTDP.get_plastic_synaptic_data()SynapseDynamicsSTDP.get_value()SynapseDynamicsSTDP.get_vertex_executable_suffix()SynapseDynamicsSTDP.get_weight_maximum()SynapseDynamicsSTDP.get_weight_mean()SynapseDynamicsSTDP.get_weight_variance()SynapseDynamicsSTDP.is_combined_core_capableSynapseDynamicsSTDP.is_same_as()SynapseDynamicsSTDP.is_split_core_capableSynapseDynamicsSTDP.merge()SynapseDynamicsSTDP.neuromodulationSynapseDynamicsSTDP.pad_to_lengthSynapseDynamicsSTDP.read_plastic_synaptic_data()SynapseDynamicsSTDP.set_value()SynapseDynamicsSTDP.synapses_per_secondSynapseDynamicsSTDP.timing_dependenceSynapseDynamicsSTDP.weight_dependenceSynapseDynamicsSTDP.write_parameters()
SynapseDynamicsStaticSynapseDynamicsStatic.changes_during_runSynapseDynamicsStatic.gen_matrix_idSynapseDynamicsStatic.gen_matrix_params()SynapseDynamicsStatic.gen_matrix_params_size_in_bytesSynapseDynamicsStatic.get_max_synapses()SynapseDynamicsStatic.get_n_static_words_per_row()SynapseDynamicsStatic.get_n_synapses_in_rows()SynapseDynamicsStatic.get_n_words_for_static_connections()SynapseDynamicsStatic.get_parameter_names()SynapseDynamicsStatic.get_parameters_sdram_usage_in_bytes()SynapseDynamicsStatic.get_static_synaptic_data()SynapseDynamicsStatic.get_vertex_executable_suffix()SynapseDynamicsStatic.is_combined_core_capableSynapseDynamicsStatic.is_same_as()SynapseDynamicsStatic.is_split_core_capableSynapseDynamicsStatic.merge()SynapseDynamicsStatic.pad_to_lengthSynapseDynamicsStatic.read_static_synaptic_data()SynapseDynamicsStatic.synapses_per_secondSynapseDynamicsStatic.write_parameters()
SynapseDynamicsStructuralCommonSynapseDynamicsStructuralCommon.PAIR_ERRORSynapseDynamicsStructuralCommon.check_initial_delay()SynapseDynamicsStructuralCommon.connectionsSynapseDynamicsStructuralCommon.get_max_rewires_per_ts()SynapseDynamicsStructuralCommon.get_parameter_names()SynapseDynamicsStructuralCommon.get_structural_parameters_sdram_usage_in_bytes()SynapseDynamicsStructuralCommon.get_vertex_executable_suffix()SynapseDynamicsStructuralCommon.is_same_as()SynapseDynamicsStructuralCommon.p_rewSynapseDynamicsStructuralCommon.reduction_synapses_per_secondSynapseDynamicsStructuralCommon.write_structural_parameters()
SynapseDynamicsStructuralSTDPSynapseDynamicsStructuralSTDP.connectionsSynapseDynamicsStructuralSTDP.eliminationSynapseDynamicsStructuralSTDP.f_rewSynapseDynamicsStructuralSTDP.formationSynapseDynamicsStructuralSTDP.generate_on_machine()SynapseDynamicsStructuralSTDP.get_connected_vertices()SynapseDynamicsStructuralSTDP.get_delay_maximum()SynapseDynamicsStructuralSTDP.get_delay_minimum()SynapseDynamicsStructuralSTDP.get_delay_variance()SynapseDynamicsStructuralSTDP.get_parameter_names()SynapseDynamicsStructuralSTDP.get_vertex_executable_suffix()SynapseDynamicsStructuralSTDP.get_weight_maximum()SynapseDynamicsStructuralSTDP.get_weight_mean()SynapseDynamicsStructuralSTDP.initial_delaySynapseDynamicsStructuralSTDP.initial_weightSynapseDynamicsStructuralSTDP.is_combined_core_capableSynapseDynamicsStructuralSTDP.is_same_as()SynapseDynamicsStructuralSTDP.is_split_core_capableSynapseDynamicsStructuralSTDP.merge()SynapseDynamicsStructuralSTDP.partner_selectionSynapseDynamicsStructuralSTDP.s_maxSynapseDynamicsStructuralSTDP.seedSynapseDynamicsStructuralSTDP.set_connections()SynapseDynamicsStructuralSTDP.synapses_per_secondSynapseDynamicsStructuralSTDP.with_replacement
SynapseDynamicsStructuralStaticSynapseDynamicsStructuralStatic.changes_during_runSynapseDynamicsStructuralStatic.connectionsSynapseDynamicsStructuralStatic.eliminationSynapseDynamicsStructuralStatic.f_rewSynapseDynamicsStructuralStatic.formationSynapseDynamicsStructuralStatic.generate_on_machine()SynapseDynamicsStructuralStatic.get_connected_vertices()SynapseDynamicsStructuralStatic.get_delay_maximum()SynapseDynamicsStructuralStatic.get_delay_minimum()SynapseDynamicsStructuralStatic.get_delay_variance()SynapseDynamicsStructuralStatic.get_parameter_names()SynapseDynamicsStructuralStatic.get_vertex_executable_suffix()SynapseDynamicsStructuralStatic.get_weight_maximum()SynapseDynamicsStructuralStatic.get_weight_mean()SynapseDynamicsStructuralStatic.get_weight_variance()SynapseDynamicsStructuralStatic.initial_delaySynapseDynamicsStructuralStatic.initial_weightSynapseDynamicsStructuralStatic.is_combined_core_capableSynapseDynamicsStructuralStatic.is_same_as()SynapseDynamicsStructuralStatic.is_split_core_capableSynapseDynamicsStructuralStatic.merge()SynapseDynamicsStructuralStatic.partner_selectionSynapseDynamicsStructuralStatic.s_maxSynapseDynamicsStructuralStatic.seedSynapseDynamicsStructuralStatic.set_connections()SynapseDynamicsStructuralStatic.synapses_per_secondSynapseDynamicsStructuralStatic.with_replacement
SynapseDynamicsWeightChangableSynapseDynamicsWeightChangable.changes_during_runSynapseDynamicsWeightChangable.gen_matrix_idSynapseDynamicsWeightChangable.gen_matrix_params()SynapseDynamicsWeightChangable.gen_matrix_params_size_in_bytesSynapseDynamicsWeightChangable.get_max_synapses()SynapseDynamicsWeightChangable.get_n_fixed_plastic_words_per_row()SynapseDynamicsWeightChangable.get_n_plastic_plastic_words_per_row()SynapseDynamicsWeightChangable.get_n_synapses_in_rows()SynapseDynamicsWeightChangable.get_n_words_for_plastic_connections()SynapseDynamicsWeightChangable.get_parameter_names()SynapseDynamicsWeightChangable.get_parameters_sdram_usage_in_bytes()SynapseDynamicsWeightChangable.get_plastic_synaptic_data()SynapseDynamicsWeightChangable.get_synapse_info_index()SynapseDynamicsWeightChangable.get_vertex_executable_suffix()SynapseDynamicsWeightChangable.get_weight_maximum()SynapseDynamicsWeightChangable.get_weight_mean()SynapseDynamicsWeightChangable.get_weight_variance()SynapseDynamicsWeightChangable.is_combined_core_capableSynapseDynamicsWeightChangable.is_same_as()SynapseDynamicsWeightChangable.is_split_core_capableSynapseDynamicsWeightChangable.merge()SynapseDynamicsWeightChangable.pad_to_lengthSynapseDynamicsWeightChangable.read_plastic_synaptic_data()SynapseDynamicsWeightChangable.synapses_per_secondSynapseDynamicsWeightChangable.validate_connection()SynapseDynamicsWeightChangable.weight_maxSynapseDynamicsWeightChangable.weight_minSynapseDynamicsWeightChangable.write_parameters()
SynapseDynamicsWeightChangerSynapseDynamicsWeightChanger.changes_during_runSynapseDynamicsWeightChanger.gen_matrix_idSynapseDynamicsWeightChanger.gen_matrix_params()SynapseDynamicsWeightChanger.gen_matrix_params_size_in_bytesSynapseDynamicsWeightChanger.get_max_synapses()SynapseDynamicsWeightChanger.get_n_fixed_plastic_words_per_row()SynapseDynamicsWeightChanger.get_n_plastic_plastic_words_per_row()SynapseDynamicsWeightChanger.get_n_synapses_in_rows()SynapseDynamicsWeightChanger.get_n_words_for_plastic_connections()SynapseDynamicsWeightChanger.get_parameter_names()SynapseDynamicsWeightChanger.get_parameters_sdram_usage_in_bytes()SynapseDynamicsWeightChanger.get_plastic_synaptic_data()SynapseDynamicsWeightChanger.get_synapse_id_by_target()SynapseDynamicsWeightChanger.get_value()SynapseDynamicsWeightChanger.get_vertex_executable_suffix()SynapseDynamicsWeightChanger.get_weight_maximum()SynapseDynamicsWeightChanger.get_weight_mean()SynapseDynamicsWeightChanger.get_weight_variance()SynapseDynamicsWeightChanger.is_combined_core_capableSynapseDynamicsWeightChanger.is_same_as()SynapseDynamicsWeightChanger.is_split_core_capableSynapseDynamicsWeightChanger.merge()SynapseDynamicsWeightChanger.pad_to_lengthSynapseDynamicsWeightChanger.read_plastic_synaptic_data()SynapseDynamicsWeightChanger.set_value()SynapseDynamicsWeightChanger.synapses_per_secondSynapseDynamicsWeightChanger.validate_connection()SynapseDynamicsWeightChanger.write_parameters()
calculate_spike_pair_additive_stdp_weight()calculate_spike_pair_multiplicative_stdp_weight()
- spynnaker.pyNN.models.neuron.synapse_types package
- Module contents
AbstractSynapseTypeSynapseTypeAlphaSynapseTypeAlpha.add_parameters()SynapseTypeAlpha.add_state_variables()SynapseTypeAlpha.exc_responseSynapseTypeAlpha.get_n_synapse_types()SynapseTypeAlpha.get_synapse_id_by_target()SynapseTypeAlpha.get_synapse_targets()SynapseTypeAlpha.inh_responseSynapseTypeAlpha.tau_syn_ESynapseTypeAlpha.tau_syn_I
SynapseTypeDeltaSynapseTypeDualExponentialSynapseTypeDualExponential.add_parameters()SynapseTypeDualExponential.add_state_variables()SynapseTypeDualExponential.get_n_synapse_types()SynapseTypeDualExponential.get_synapse_id_by_target()SynapseTypeDualExponential.get_synapse_targets()SynapseTypeDualExponential.isyn_excSynapseTypeDualExponential.isyn_exc2SynapseTypeDualExponential.isyn_inhSynapseTypeDualExponential.tau_syn_ESynapseTypeDualExponential.tau_syn_E2SynapseTypeDualExponential.tau_syn_I
SynapseTypeExponentialSynapseTypeExponential.add_parameters()SynapseTypeExponential.add_state_variables()SynapseTypeExponential.get_n_synapse_types()SynapseTypeExponential.get_synapse_id_by_target()SynapseTypeExponential.get_synapse_targets()SynapseTypeExponential.isyn_excSynapseTypeExponential.isyn_inhSynapseTypeExponential.tau_syn_ESynapseTypeExponential.tau_syn_I
SynapseTypeSEMDSynapseTypeSEMD.add_parameters()SynapseTypeSEMD.add_state_variables()SynapseTypeSEMD.exc2_oldSynapseTypeSEMD.get_n_synapse_types()SynapseTypeSEMD.get_synapse_id_by_target()SynapseTypeSEMD.get_synapse_targets()SynapseTypeSEMD.isyn_excSynapseTypeSEMD.isyn_exc2SynapseTypeSEMD.isyn_inhSynapseTypeSEMD.multiplicatorSynapseTypeSEMD.scaling_factorSynapseTypeSEMD.tau_syn_ESynapseTypeSEMD.tau_syn_E2SynapseTypeSEMD.tau_syn_I
- Module contents
- spynnaker.pyNN.models.neuron.threshold_types package
Submodules¶
spynnaker.pyNN.models.neuron.generator_data module¶
- class spynnaker.pyNN.models.neuron.generator_data.GeneratorData(synaptic_matrix_offset: int | None, delayed_synaptic_matrix_offset: int | None, app_edge: ProjectionApplicationEdge, synapse_information: SynapseInformation, max_row_info: MaxRowInfo, max_pre_atoms_per_core: int, max_post_atoms_per_core: int)[source]¶
Bases:
objectData for each connection of the synapse generator.
- BASE_SIZE = 44¶
spynnaker.pyNN.models.neuron.master_pop_table module¶
- class spynnaker.pyNN.models.neuron.master_pop_table.MasterPopTableAsBinarySearch[source]¶
Bases:
objectMaster population table, implemented as binary search master.
- add_application_entry(block_start_addr: int, row_length: int, key_and_mask: BaseKeyAndMask, core_mask: int, core_shift: int, n_neurons: int, n_colour_bits: int) int[source]¶
Add an entry for an application-edge to the population table.
- Parameters:
block_start_addr (int) – where the synaptic matrix block starts
row_length (int) – how long in words each row is
key_and_mask (BaseKeyAndMask) – the key and mask for this master pop entry
core_mask (int) – Mask for the part of the key that identifies the core
core_shift (int) – The shift of the mask to get to the core_mask
n_neurons (int) – The number of neurons in each machine vertex (bar the last)
n_colour_bits (int) – The number of bits to use for colour
- Returns:
The index of the entry, to be used to retrieve it
- Return type:
- Raises:
SynapticConfigurationException – If a bad address is used.
- add_invalid_application_entry(key_and_mask: BaseKeyAndMask, core_mask: int, core_shift: int, n_neurons: int, n_colour_bits: int) int[source]¶
Add an entry to the table from an application vertex that doesn’t point to anywhere. Used to keep indices in synchronisation between e.g. normal and delay entries and between entries on different cores.
- Parameters:
key_and_mask (BaseKeyAndMask) – a key_and_mask object used as part of describing an edge that will require being received to be stored in the master pop table; the whole edge will become multiple calls to this function
core_mask (int) – Mask for the part of the key that identifies the core
core_shift (int) – The shift of the mask to get to the core_mask
n_neurons (int) – The number of neurons in each machine vertex (bar the last)
n_colour_bits (int) – The number of bits to use for colour
- Returns:
The index of the added entry
- Return type:
- static get_allowed_row_length(row_length: int) int[source]¶
Get the next allowed row length.
- Parameters:
row_length (int) – the row length being considered
- Returns:
the row length available
- Return type:
- Raises:
SynapseRowTooBigException – If the row won’t fit
- static get_master_population_table_size(incoming_projections: Iterable[Projection]) int[source]¶
Get the size of the master population table in SDRAM.
- Parameters:
incoming_projections (list(Projection)) – The projections arriving at the vertex that are to be handled by this table
- Returns:
the size the master pop table will take in SDRAM (in bytes)
- Return type:
- static get_next_allowed_address(next_address: int) int[source]¶
Get the next allowed address.
- Parameters:
next_address (int) – The next address that would be used
- Returns:
The next address that can be used following next_address
- Return type:
- Raises:
SynapticConfigurationException – if the address is out of range
- get_pop_table_data() ndarray[tuple[int, ...], dtype[uint32]][source]¶
Get the master pop table data as a numpy array.
- Return type:
spynnaker.pyNN.models.neuron.neuron_data module¶
- class spynnaker.pyNN.models.neuron.neuron_data.NeuronData(app_vertex: PopulationVertex)[source]¶
Bases:
objectHolds and creates the data for a group of neurons.
- property gen_on_machine: bool¶
Whether the neuron data can be generated on the machine or not.
- Return type:
- read_data(placement: Placement, neuron_regions: NeuronRegions) None[source]¶
Read the current state of the data from the machine into the application vertex.
- Parameters:
placement (Placement) – The placement of the vertex to read
neuron_regions (NeuronRegions) – The regions to read from
- read_initial_data(placement: Placement, neuron_regions: NeuronRegions) None[source]¶
Read the initial state of the data from the machine into the application vertex.
- Parameters:
placement (Placement) – The placement of the vertex to read
neuron_regions (NeuronRegions) – The regions to read from
- write_data(spec: DataSpecificationBase, vertex_slice: Slice, neuron_regions: NeuronRegions, gen_on_machine: bool = True) None[source]¶
Write the generated data.
- Parameters:
spec (DataSpecificationGenerator) – The data specification to write to
vertex_slice (Slice) – The vertex slice to generate for
neuron_regions (NeuronRegions) – The regions to write to
gen_on_machine (bool) – Whether to allow generation on machine
spynnaker.pyNN.models.neuron.population_machine_common module¶
- class spynnaker.pyNN.models.neuron.population_machine_common.CommonRegions(system: int, provenance: int, profile: int, recording: int)[source]¶
Bases:
NamedTupleIdentifiers for common regions.
Create new instance of CommonRegions(system, provenance, profile, recording)
- class spynnaker.pyNN.models.neuron.population_machine_common.PopulationMachineCommon(label: str, app_vertex: PopulationVertex, vertex_slice: Slice, sdram: AbstractSDRAM, regions: CommonRegions, n_provenance_items: int, profile_tags: Mapping[int, str], binary_file_name: str)[source]¶
Bases:
MachineVertex,ProvidesProvenanceDataFromMachineImpl,AbstractReceiveBuffersToHost,AbstractHasProfileData,AbstractHasAssociatedBinaryA common machine vertex for all population binaries.
- Parameters:
label (str) – The label of the vertex
app_vertex (PopulationVertex) – The associated application vertex
vertex_slice (Slice) – The slice of the population that this implements
sdram (AbstractSDRAM) – The SDRAM used by the vertex
regions (.CommonRegions) – The regions to be assigned
n_provenance_items (int) – The number of additional provenance items to be read
profile_tags (dict(int,str)) – A mapping of profile identifiers to names
binary_file_name (str) – The name of the binary file
- get_binary_start_type() ExecutableType[source]¶
Get the start type of the binary to be run.
- Return type:
ExecutableType
- get_n_keys_for_partition(partition_id: str) int[source]¶
Get the number of keys required by the given partition of edges.
- get_profile_data(placement: Placement) ProfileData[source]¶
Get the profile data recorded during simulation.
- Parameters:
placement (Placement)
- Return type:
- get_recording_region_base_address(placement: Placement) int[source]¶
Get the recording region base address.
- property sdram_required: AbstractSDRAM¶
The SDRAM space required by the vertex.
- Return type:
spynnaker.pyNN.models.neuron.population_machine_synapses module¶
- class spynnaker.pyNN.models.neuron.population_machine_synapses.PopulationMachineSynapses[source]¶
Bases:
PopulationMachineSynapsesProvenance,AbstractSupportsBitFieldRoutingCompression,AbstractSynapseExpandable,HasSynapses,AbstractReceiveRegionsToHostMix-in for machine vertices that contain synapses.
- bit_field_base_address(placement: Placement) int[source]¶
Returns the SDRAM address for the bit-field table data.
- property bit_field_size: int¶
The amount of bit field data to be generated. This is used to calculate the timeout of the execution.
- Return type:
- property connection_generator_region: int¶
The region ID containing the parameters of synaptic expansion.
- Return type:
- gen_on_machine() bool[source]¶
True if the synapses of a the slice of this vertex should be generated on the machine.
Note
The typical implementation for this method will be to ask the app_vertex’s synapse_manager
- Return type:
- get_connections_from_machine(placement: Placement, app_edge: ProjectionApplicationEdge, synapse_info: SynapseInformation) Sequence[NDArray][source]¶
Get the connections from the machine for this vertex.
- Parameters:
placement (Placement) – Where the connection data is on the machine
app_edge (ProjectionApplicationEdge) – The edge for which the data is being read
synapse_info (SynapseInformation) – The specific projection within the edge
- Return type:
- get_download_regions(placement: Placement) Sequence[Tuple[int, int, int]][source]¶
Get the region IDs that are to be downloaded
- property max_gen_data: int¶
The maximum amount of synaptic data to be generated. This is used to calculate the timeout of the execution.
- Return type:
- read_generated_connection_holders(placement: Placement) None[source]¶
Fill in the connection holders.
- Parameters:
placement (Placement) – Where the data is on the machine
- regeneratable_sdram_blocks_and_sizes(placement: Placement) List[Tuple[int, int]][source]¶
Returns the SDRAM addresses and sizes for the cores’ SDRAM that are available (borrowed) for generating bitfield tables.
spynnaker.pyNN.models.neuron.synapse_io module¶
- class spynnaker.pyNN.models.neuron.synapse_io.MaxRowInfo(undelayed_max_n_synapses: int, delayed_max_n_synapses: int, undelayed_max_bytes: int, delayed_max_bytes: int, undelayed_max_words: int, delayed_max_words: int)[source]¶
Bases:
objectInformation about the maximums for rows in a synaptic matrix.
- delayed_max_bytes: int¶
Maximum number of bytes, including headers, in a row of the delayed matrix, or 0 if no synapses.
- spynnaker.pyNN.models.neuron.synapse_io.convert_to_connections(synapse_info: SynapseInformation, post_vertex_slice: Slice, n_pre_atoms: int, max_row_length: int, n_synapse_types: int, weight_scales: WeightScales, data: bytes | NDArray | None, delayed: bool, post_vertex_max_delay_ticks: int, max_atoms_per_core: int) ConnectionsArray[source]¶
Read the synapses for a given projection synapse information object out of the given data and convert to connection data
- Parameters:
synapse_info (SynapseInformation) – The synapse information of the synapses
n_pre_atoms (int) – The number of atoms in the pre-vertex
post_vertex_slice (Slice) – The slice of the target neurons of the synapses in the data
max_row_length (int) – The length of each row in the data
n_synapse_types (int) – The number of synapse types in total
weight_scales – The weight scaling of each synapse type
data (bytearray) – The raw data containing the synapses
delayed (bool) – True if the data should be considered delayed
post_vertex_max_delay_ticks (int) – The maximum delayed ticks supported from post vertex
max_atoms_per_core (int) – The maximum number of atoms on a core
- Returns:
The connections read from the data; the dtype is
NUMPY_CONNECTORS_DTYPE- Return type:
- spynnaker.pyNN.models.neuron.synapse_io.get_max_row_info(synapse_info: SynapseInformation, n_post_atoms: int, n_delay_stages: int, in_edge: ProjectionApplicationEdge) MaxRowInfo[source]¶
Get the information about the maximum lengths of delayed and undelayed rows in bytes (including header), words (without header) and number of synapses.
- Parameters:
synapse_info (SynapseInformation) – The synapse information to get the row data for
n_post_atoms (int) – The number of post atoms to get the maximum for
n_delay_stages (int) – The number of delay stages on the edge
in_edge (ProjectionApplicationEdge) – The incoming edge on which the synapse information is held
- Return type:
- Raises:
SynapseRowTooBigException – If the synapse information can’t be represented
- spynnaker.pyNN.models.neuron.synapse_io.get_maximum_delay_supported_in_ms(post_vertex_max_delay_ticks: int) float[source]¶
Get the maximum delay supported by the synapse representation before extensions are required.
- spynnaker.pyNN.models.neuron.synapse_io.get_synapses(connections: ConnectionsArray, synapse_info: SynapseInformation, n_delay_stages: int, n_synapse_types: int, weight_scales: WeightScales, app_edge: ProjectionApplicationEdge, max_row_info: MaxRowInfo, gen_undelayed: bool, gen_delayed: bool, max_atoms_per_core: int) Tuple[_RowData, _RowData][source]¶
Get the synapses as an array of words for non-delayed synapses and an array of words for delayed synapses. This is used to prepare information for deployment to SpiNNaker.
- Parameters:
connections (ndarray) – The connections to get the synapses from
synapse_info (SynapseInformation) – The synapse information to convert to synapses
n_delay_stages (int) – The number of delay stages in total to be represented
n_synapse_types (int) – The number of synapse types in total to be represented
weight_scales – The scaling of the weights for each synapse type
app_edge (ApplicationEdge) – The incoming machine edge that the synapses are on
max_row_info (MaxRowInfo) – The maximum row information for the synapses
gen_undelayed (bool) – Whether to generate undelayed data
gen_delayed (bool) – Whether to generate delayed data
max_atoms_per_core (int) – The maximum number of atoms on a core
- Returns:
(
row_data,delayed_row_data) where:row_datais the undelayed connectivity data arranged into arow per source, each row the same length
delayed_row_datais the delayed connectivity data arrangedinto a row per source per delay stage, each row the same length
- Return type:
- spynnaker.pyNN.models.neuron.synapse_io.read_all_synapses(data: NDArray[uint32], delayed_data: NDArray[uint32], synapse_info: SynapseInformation, n_synapse_types: int, weight_scales: WeightScales, post_vertex_slice: Slice, n_pre_atoms: int, post_vertex_max_delay_ticks: int, max_row_info: MaxRowInfo, max_atoms_per_core: int) ConnectionsArray[source]¶
Read the synapses for a given projection synapse information object out of the given delayed and undelayed data.
- Parameters:
data (bytearray) – The raw data containing the undelayed synapses
delayed_data (bytearray) – The raw data containing the delayed synapses
synapse_info (SynapseInformation) – The synapse info that generated the synapses
n_synapse_types (int) – The total number of synapse types available
weight_scales – A weight scale for each synapse type
n_pre_atoms (int) – The number of atoms in the pre-vertex
post_vertex_slice (Slice) – The slice of the post-vertex to read the synapses for
post_vertex_max_delay_ticks (int) – max delayed ticks supported from post vertex
max_row_info (MaxRowInfo) – The maximum information for each of the rows
max_atoms_per_core (int) – The maximum number of atoms on a core
- Returns:
The connections read from the data; the dtype is
NUMPY_CONNECTORS_DTYPE- Return type:
spynnaker.pyNN.models.neuron.synaptic_matrices module¶
- class spynnaker.pyNN.models.neuron.synaptic_matrices.AppKeyInfo(app_key: int, app_mask: int, core_mask: int, core_shift: int, n_neurons: int, n_colour_bits: int)[source]¶
Bases:
objectAn object which holds an application key and mask along with the other details.
- property key_and_mask: BaseKeyAndMask¶
The key and mask as an object.
- class spynnaker.pyNN.models.neuron.synaptic_matrices.SynapseRegionReferences(synapse_params: int | None = None, pop_table: int | None = None, synaptic_matrix: int | None = None, synapse_dynamics: int | None = None, structural_dynamics: int | None = None, bitfield_filter: int | None = None, connection_builder: int | None = None)[source]¶
Bases:
NamedTupleIndices of regions of synapse-implementing binaries.
Create new instance of SynapseRegionReferences(synapse_params, pop_table, synaptic_matrix, synapse_dynamics, structural_dynamics, bitfield_filter, connection_builder)
- class spynnaker.pyNN.models.neuron.synaptic_matrices.SynapseRegions(synapse_params: int, pop_table: int, synaptic_matrix: int, synapse_dynamics: int, structural_dynamics: int, bitfield_filter: int, connection_builder: int)[source]¶
Bases:
NamedTupleIndices of regions of synapse-implementing binaries.
Create new instance of SynapseRegions(synapse_params, pop_table, synaptic_matrix, synapse_dynamics, structural_dynamics, bitfield_filter, connection_builder)
- class spynnaker.pyNN.models.neuron.synaptic_matrices.SynapticMatrices(app_vertex: PopulationVertex, regions: SynapseRegions, max_atoms_per_core: int, weight_scales: WeightScales, all_syn_block_sz: int)[source]¶
Bases:
objectHandler of synaptic matrices for a core of a population vertex.
- Parameters:
app_vertex (ApplicationVertex)
regions (SynapseRegions) – The synapse regions to use
max_atoms_per_core (int)
all_syn_block_sz (int)
- property gen_on_machine: bool¶
Whether any matrices need to be generated on the machine.
- Return type:
- get_connections_from_machine(placement: Placement, app_edge: ProjectionApplicationEdge, synapse_info: SynapseInformation) Sequence[NDArray][source]¶
Get the synaptic connections from the machine.
- Parameters:
placement (Placement) – Where the vertices are on the machine
app_edge (ProjectionApplicationEdge) – The application edge of the projection
synapse_info (SynapseInformation) – The synapse information of the projection
- Returns:
A list of arrays of connections, each with dtype
NUMPY_CONNECTORS_DTYPE- Return type:
- get_download_regions(placement: Placement) List[Tuple[int, int, int]][source]¶
Get the regions that need to be downloaded.
- Parameters:
placement (Placement) – The placement of the vertex
- Returns:
The index, the start address and the size of the regions
- get_index(app_edge: ProjectionApplicationEdge, synapse_info: SynapseInformation) int[source]¶
Get the index of an incoming projection in the population table.
- Parameters:
app_edge (ProjectionApplicationEdge) – The application edge of the projection
synapse_info (SynapseInformation) – The synapse information of the projection
- property host_generated_block_addr: int¶
The address within the synaptic region after the last block written by the on-host synaptic generation, i.e. the start of the space that can be overwritten provided the synapse expander is run again.
- Return type:
- property max_gen_data: int¶
The maximum amount of data to be generated for the synapses.
- Return type:
- property on_chip_generated_matrix_size: int¶
The size of the space used by the generated matrix, i.e. the space that can be overwritten provided the synapse expander is run again.
- Return type:
- read_generated_connection_holders(placement: Placement) None[source]¶
Fill in any pre-run connection holders for data which is generated on the machine, after it has been generated.
- Parameters:
placement (Placement) – where the data is to be read from
- write_synaptic_data(spec: DataSpecificationBase, post_vertex_slice: Slice, references: SynapseRegionReferences) None[source]¶
Write the synaptic data for all incoming projections.
- Parameters:
spec (DataSpecificationGenerator) – The spec to write to
post_vertex_slice (Slice) – The slice of the post-vertex the matrix is for
references (SynapseRegionReferences) – Regions which are referenced; each region which is not referenced can be None.
spynnaker.pyNN.models.neuron.synaptic_matrix_app module¶
- class spynnaker.pyNN.models.neuron.synaptic_matrix_app.SynapticMatrixApp(synapse_info: SynapseInformation, app_edge: ProjectionApplicationEdge, n_synapse_types: int, synaptic_matrix_region: int, max_atoms_per_core: int, all_syn_block_sz: int, app_key_info: AppKeyInfo | None, delay_app_key_info: AppKeyInfo | None, weight_scales: WeightScales)[source]¶
Bases:
objectThe synaptic matrix (and delay matrix if applicable) for an incoming application edge.
- Parameters:
synapse_info (SynapseInformation) – The projection synapse information
app_edge (ProjectionApplicationEdge) – The projection application edge
n_synapse_types (int) – The number of synapse types accepted
synaptic_matrix_region (int) – The region where synaptic matrices are stored
all_syn_block_sz (int) – The space available for all synaptic matrices on the core
app_key_info (AppKeyInfo) – Application-level routing key information for undelayed vertices
delay_app_key_info (AppKeyInfo) – Application-level routing key information for delayed vertices
weight_scales – Weight scale for each synapse edge
- append_matrix(post_vertex_slice: Slice, data_to_write: List[ndarray[tuple[int, ...], dtype[uint32]]], block_addr: int) int[source]¶
Append a synaptic matrix from be written from host.
- get_connections(placement: Placement) List[ndarray[tuple[int, ...], dtype[_ScalarType_co]]][source]¶
Read connections from an address on the machine.
- get_download_regions(placement: Placement, start_index: int) List[Tuple[int, int, int]][source]¶
Get the data regions that should be downloaded when the simulation pauses.
- get_generator_data() GeneratorData[source]¶
Prepare to write a matrix using an on-chip generator.
- Returns:
The data to generate with
- Return type:
- get_index() int[source]¶
Get the index in the master population table of the matrix.
- Parameters:
m_vertex (MachineVertex) – The source machine vertex
- Return type:
- read_generated_connection_holders(placement: Placement) None[source]¶
Read any pre-run connection holders after data has been generated.
- Parameters:
placement (Placement) – Where the matrix is on the machine
- reserve_matrices(block_addr: int, pop_table: MasterPopTableAsBinarySearch) int[source]¶
Allocate the master pop table entries for the blocks.
- Parameters:
block_addr (int) – Where the allocation can start from
pop_table (MasterPopTableAsBinarySearch) – The master population table
- Returns:
Where the next allocation can start from
- Return type:
Module contents¶
- class spynnaker.pyNN.models.neuron.AbstractPyNNNeuronModel(model: AbstractNeuronImpl)¶
Bases:
AbstractPyNNModelAPI for a PyNN Neuron Model
- Parameters:
model (AbstractNeuronImpl) – The model implementation
- create_vertex(n_neurons: int, label: str, *, spikes_per_second: float | None = None, ring_buffer_sigma: float | None = None, max_expected_summed_weight: List[float] | None = None, incoming_spike_buffer_size: int | None = None, drop_late_spikes: bool | None = None, splitter: SplitterPopulationVertex | None = None, seed: int | None = None, n_colour_bits: int | None = None, neurons_per_core: int | Tuple[int, ...] | None = None, n_synapse_cores: int | None = None, allow_delay_extensions: bool | None = None) PopulationVertex[source]¶
Create a vertex for a population of the model.
- Parameters:
- Returns:
An application vertex for the population
- Return type:
- default_population_parameters: Dict[str, Any] = {'allow_delay_extensions': None, 'drop_late_spikes': None, 'incoming_spike_buffer_size': None, 'max_expected_summed_weight': None, 'n_colour_bits': None, 'n_synapse_cores': None, 'neurons_per_core': None, 'ring_buffer_sigma': None, 'seed': None, 'spikes_per_second': 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.
- classmethod get_model_allow_delay_extensions() bool[source]¶
Get whether to allow delay extensions for the model.
- classmethod get_model_n_synapse_cores() int | None[source]¶
Get the number of synapse cores for the model.
- class spynnaker.pyNN.models.neuron.AbstractPyNNNeuronModelStandard(model_name: str, binary: str, neuron_model: NeuronModel, input_type: AbstractInputType, synapse_type: AbstractSynapseType, threshold_type: AbstractThresholdType, additional_input_type: AbstractAdditionalInput | None = None)¶
Bases:
AbstractPyNNNeuronModelA neuron model that follows the sPyNNaker standard composed model pattern for point neurons.
- Parameters:
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
- create_vertex(n_neurons: int, label: str, *, spikes_per_second: float | None = None, ring_buffer_sigma: float | None = None, max_expected_summed_weight: List[float] | None = None, incoming_spike_buffer_size: int | None = None, drop_late_spikes: bool | None = None, splitter: SplitterPopulationVertex | None = None, seed: int | None = None, n_colour_bits: int | None = None, n_steps_per_timestep: int = 1, neurons_per_core: int | Tuple[int, ...] | None = None, n_synapse_cores: int | None = None, allow_delay_extensions: bool | None = None) PopulationVertex[source]¶
Create a vertex for a population of the model.
- Parameters:
n_neurons (int) – The number of neurons in the population
label (str) – The label to give to the vertex
spikes_per_second (float)
ring_buffer_sigma (float)
incoming_spike_buffer_size (int)
drop_late_spikes (bool)
splitter (SplitterPopulationVertex or None)
seed (int)
n_colour_bits (int)
n_steps_per_timestep (int)
- Returns:
An application vertex for the population
- Return type:
- default_population_parameters: Dict[str, Any] = {'allow_delay_extensions': None, 'drop_late_spikes': None, 'incoming_spike_buffer_size': None, 'max_expected_summed_weight': None, 'n_colour_bits': None, 'n_steps_per_timestep': 1, 'n_synapse_cores': None, 'neurons_per_core': None, 'ring_buffer_sigma': None, 'seed': None, 'spikes_per_second': 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.models.neuron.ConnectionHolder(data_items_to_return: Sequence[str] | None, as_list: bool, n_pre_atoms: int, n_post_atoms: int, connections: List[ndarray[tuple[int, ...], dtype[void]]] | None = None, fixed_values: List[Tuple[str, int]] | None = None, notify: Callable[[ConnectionHolder], None] | None = None)¶
Bases:
objectHolds a set of connections to be returned in a PyNN-specific format.
- Parameters:
data_items_to_return (list(str) or tuple(str) or None) – A list of data fields to be returned
as_list (bool) – True if the data will be returned as a list, False if it is to be returned as a matrix (or series of matrices)
n_pre_atoms (int) – The number of atoms in the pre-vertex
n_post_atoms (int) – The number of atoms in the post-vertex
connections (list(ndarray) or None) – Any initial connections, as a numpy structured array of source, target, weight and delay
fixed_values (list(tuple(str,int)) or None) –
A list of tuples of field names and fixed values to be appended to the other fields per connection, formatted as [(field_name, value), …].
Note
If the field is to be returned, the name must also appear in data_items_to_return, which determines the order of items in the result.
notify (callable(ConnectionHolder, None) or None) – A callback to call when the connections have all been added. This should accept a single parameter, which will contain the data requested
- add_connections(connections: ndarray[tuple[int, ...], dtype[void]]) None[source]¶
Add connections to the holder to be returned.
- Parameters:
connections (ndarray) – The connection to add, as a numpy structured array of source, target, weight and delay
- class spynnaker.pyNN.models.neuron.LocalOnlyProvenance¶
Bases:
StructureTypes of provenance and the DataType used to represent each.
- N_ITEMS = 4¶
- max_size_input_buffer¶
Structure/Union member
- max_spikes_per_timestep¶
Structure/Union member
- n_spikes_dropped¶
Structure/Union member
- n_spikes_lost_from_input¶
Structure/Union member
- class spynnaker.pyNN.models.neuron.NeuronProvenance¶
Bases:
StructureProvenance items from neuron processing.
- N_ITEMS = 4¶
- current_timer_tick¶
Structure/Union member
- earliest_send¶
Structure/Union member
- latest_send¶
Structure/Union member
- n_tdma_misses¶
Structure/Union member
- class spynnaker.pyNN.models.neuron.NeuronRegions(core_params: int, neuron_params: int, current_source_params: int, neuron_recording: int, neuron_builder: int, initial_values: int)¶
Bases:
NamedTupleIdentifiers for neuron regions.
Create new instance of NeuronRegions(core_params, neuron_params, current_source_params, neuron_recording, neuron_builder, initial_values)
- class spynnaker.pyNN.models.neuron.PopulationMachineLocalOnlyCombinedVertex(sdram: AbstractSDRAM, label: str, app_vertex: PopulationVertex, vertex_slice: Slice, slice_index: int, ring_buffer_shifts: Sequence[int], weight_scales: ndarray[tuple[int, ...], dtype[floating]], neuron_data: NeuronData, max_atoms_per_core: int)¶
Bases:
PopulationMachineCommon,PopulationMachineNeurons,AbstractGeneratesDataSpecification,AbstractRewritesDataSpecificationA machine vertex for PyNN Populations.
- Parameters:
sdram (AbstractSDRAM) – The SDRAM used by the vertex
label (str) – The label of the vertex
app_vertex (PopulationVertex) – The associated application vertex
vertex_slice (Slice) – The slice of the population that this implements
slice_index (int) – The index of the slice in the ordered list of slices
ring_buffer_shifts (list(int)) – The shifts to apply to convert ring buffer values to S1615 values
weight_scales (list(int)) – The scaling to apply to weights to store them in the synapses
all_syn_block_sz (int) – The maximum size of the synapses in bytes
structural_sz (int) – The size of the structural data
neuron_data (NeuronData) – The handler of neuron data
max_atoms_per_core (int) – The maximum number of atoms per core
- BACKGROUND_MAX_QUEUED_NAME = 'Max_backgrounds_queued'¶
- BACKGROUND_OVERLOADS_NAME = 'Times_the_background_queue_overloaded'¶
- COMMON_REGIONS = (REGIONS.SYSTEM, REGIONS.PROVENANCE_DATA, REGIONS.PROFILING, REGIONS.RECORDING)¶
- INPUT_BUFFER_FULL_NAME = 'Times_the_input_buffer_lost_packets'¶
- LOCAL_ONLY_SIZE = 20¶
- MAX_FILLED_SIZE_OF_INPUT_BUFFER_NAME = 'Max_filled_size_input_buffer'¶
- MAX_SPIKES_PER_TIME_STEP_NAME = 'Max_spikes_per_time_step'¶
- NEURON_REGIONS = (REGIONS.CORE_PARAMS, REGIONS.NEURON_PARAMS, REGIONS.CURRENT_SOURCE_PARAMS, REGIONS.NEURON_RECORDING, REGIONS.NEURON_BUILDER, REGIONS.INITIAL_VALUES)¶
- N_LATE_SPIKES_NAME = 'Number_of_late_spikes'¶
- class REGIONS(value)[source]¶
Bases:
IntEnumRegions for populations.
- CORE_PARAMS = 4¶
- CURRENT_SOURCE_PARAMS = 6¶
- INITIAL_VALUES = 11¶
- LOCAL_ONLY = 8¶
- LOCAL_ONLY_PARAMS = 9¶
- NEURON_BUILDER = 10¶
- NEURON_PARAMS = 5¶
- NEURON_RECORDING = 7¶
- PROFILING = 2¶
- PROVENANCE_DATA = 1¶
- RECORDING = 3¶
- SYSTEM = 0¶
- generate_data_specification(spec: DataSpecificationGenerator, placement: Placement) None[source]¶
Generate a data specification.
- Parameters:
spec (DataSpecificationGenerator) – The data specification to write to
placement (Placement) – The placement the vertex is located at
- get_recorded_region_ids() List[int][source]¶
Get the recording region IDs that have been recorded using buffering.
- Returns:
The region numbers that have active recording
- Return type:
iterable(int)
- parse_extra_provenance_items(label: str, x: int, y: int, p: int, provenance_data: Sequence[int]) None[source]¶
Convert the remaining provenance words (those not in the standard set) into provenance items.
Called by
get_provenance_data_from_machine()- Parameters:
label (str) – A descriptive label for the vertex (derived from label and placed position) to be used for provenance error reporting to the user.
x (int) – x coordinate of the chip where this core
y (int) – y coordinate of the core where this core
p (int) – virtual id of the core
provenance_data (list(int)) – The list of words of raw provenance data.
- regenerate_data_specification(spec: DataSpecificationReloader, placement: Placement) None[source]¶
Regenerate the data specification, only generating regions that have changed and need to be reloaded.
- Parameters:
spec (DataSpecificationGenerator) – Where to write the regenerated spec
placement (Placement) – Where are we regenerating for?
- class spynnaker.pyNN.models.neuron.PopulationMachineVertex(sdram: AbstractSDRAM, label: str, app_vertex: PopulationVertex, vertex_slice: Slice, slice_index: int, ring_buffer_shifts: Sequence[int], weight_scales: ndarray[tuple[int, ...], dtype[floating]], structural_sz: int, max_atoms_per_core: int, synaptic_matrices: SynapticMatrices, neuron_data: NeuronData)¶
Bases:
PopulationMachineCommon,PopulationMachineNeurons,PopulationMachineSynapses,AbstractGeneratesDataSpecification,AbstractRewritesDataSpecificationA machine vertex for PyNN Populations.
- Parameters:
sdram (AbstractSDRAM) – The SDRAM used by the vertex
label (str) – The label of the vertex
app_vertex (PopulationVertex) – The associated application vertex
vertex_slice (Slice) – The slice of the population that this implements
slice_index (int) – The index of the slice in the ordered list of slices
ring_buffer_shifts (list(int)) – The shifts to apply to convert ring buffer values to S1615 values
weight_scales (list(int)) – The scaling to apply to weights to store them in the synapses
structural_sz (int) – The size of the structural data
n_neuron_bits (int) – The number of bits to use for neuron IDs
synaptic_matrices (SynapticMatrices) – The synaptic matrices
neuron_data (NeuronData) – The handler of neuron data
- BACKGROUND_MAX_QUEUED_NAME = 'Max_backgrounds_queued'¶
- BACKGROUND_OVERLOADS_NAME = 'Times_the_background_queue_overloaded'¶
- COMMON_REGIONS = (REGIONS.SYSTEM, REGIONS.PROVENANCE_DATA, REGIONS.PROFILING, REGIONS.RECORDING)¶
- DMA_COMPLETE = "DMA's that were completed"¶
- INPUT_BUFFER_FULL_NAME = 'Times_the_input_buffer_lost_packets'¶
- MAX_FILLED_SIZE_OF_INPUT_BUFFER_NAME = 'Max_filled_size_input_buffer'¶
- NEURON_REGIONS = (REGIONS.CORE_PARAMS, REGIONS.NEURON_PARAMS, REGIONS.CURRENT_SOURCE_PARAMS, REGIONS.NEURON_RECORDING, REGIONS.NEURON_BUILDER, REGIONS.INITIAL_VALUES)¶
- N_LATE_SPIKES_NAME = 'Number_of_late_spikes'¶
- N_REWIRES_NAME = 'Number_of_rewires'¶
- class REGIONS(value)[source]¶
Bases:
IntEnumRegions for populations.
- BIT_FIELD_FILTER = 14¶
- CONNECTOR_BUILDER = 12¶
- CORE_PARAMS = 1¶
- CURRENT_SOURCE_PARAMS = 3¶
- INITIAL_VALUES = 16¶
- NEURON_BUILDER = 13¶
- NEURON_PARAMS = 2¶
- NEURON_RECORDING = 9¶
- POPULATION_TABLE = 5¶
- PROFILING = 11¶
- PROVENANCE_DATA = 10¶
- RECORDING = 15¶
- STRUCTURAL_DYNAMICS = 8¶
- SYNAPSE_DYNAMICS = 7¶
- SYNAPSE_PARAMS = 4¶
- SYNAPTIC_MATRIX = 6¶
- SYSTEM = 0¶
- SPIKES_PROCESSED = 'How many spikes were processed'¶
- SYNAPSE_REGIONS = (REGIONS.SYNAPSE_PARAMS, REGIONS.POPULATION_TABLE, REGIONS.SYNAPTIC_MATRIX, REGIONS.SYNAPSE_DYNAMICS, REGIONS.STRUCTURAL_DYNAMICS, REGIONS.BIT_FIELD_FILTER, REGIONS.CONNECTOR_BUILDER)¶
- generate_data_specification(spec: DataSpecificationGenerator, placement: Placement) None[source]¶
Generate a data specification.
- Parameters:
spec (DataSpecificationGenerator) – The data specification to write to
placement (Placement) – The placement the vertex is located at
- get_n_keys_for_partition(partition_id: str) int[source]¶
Get the number of keys required by the given partition of edges.
- get_recorded_region_ids() List[int][source]¶
Get the recording region IDs that have been recorded using buffering.
- Returns:
The region numbers that have active recording
- Return type:
iterable(int)
- parse_extra_provenance_items(label: str, x: int, y: int, p: int, provenance_data: Sequence[int]) None[source]¶
Convert the remaining provenance words (those not in the standard set) into provenance items.
Called by
get_provenance_data_from_machine()- Parameters:
label (str) – A descriptive label for the vertex (derived from label and placed position) to be used for provenance error reporting to the user.
x (int) – x coordinate of the chip where this core
y (int) – y coordinate of the core where this core
p (int) – virtual id of the core
provenance_data (list(int)) – The list of words of raw provenance data.
- regenerate_data_specification(spec: DataSpecificationReloader, placement: Placement) None[source]¶
Regenerate the data specification, only generating regions that have changed and need to be reloaded.
- Parameters:
spec (DataSpecificationGenerator) – Where to write the regenerated spec
placement (Placement) – Where are we regenerating for?
- class spynnaker.pyNN.models.neuron.PopulationNeuronsMachineVertex(sdram: AbstractSDRAM, label: str, app_vertex: PopulationVertex, vertex_slice: Slice, slice_index: int, ring_buffer_shifts: Sequence[int], weight_scales: ndarray[tuple[int, ...], dtype[floating]], neuron_data: NeuronData, max_atoms_per_core: int)¶
Bases:
PopulationMachineCommon,PopulationMachineNeurons,AbstractGeneratesDataSpecification,AbstractRewritesDataSpecification,ReceivesSynapticInputsOverSDRAMA machine vertex for the Neurons of PyNN Populations.
- Parameters:
sdram (AbstractSDRAM) – The SDRAM used by the vertex
label (str) – The label of the vertex
app_vertex (PopulationVertex) – The associated application vertex
vertex_slice (Slice) – The slice of the population that this implements
slice_index (int) – The index of the slice in the ordered list of slices
ring_buffer_shifts (list(int)) – The shifts to apply to convert ring buffer values to S1615 values
weight_scales (list(int)) – The scaling to apply to weights to store them in the synapses
neuron_data (NeuronData) – The handler of neuron data
max_atoms_per_core (int) – The maximum number of atoms per core
- COMMON_REGIONS = (REGIONS.SYSTEM, REGIONS.PROVENANCE_DATA, REGIONS.PROFILING, REGIONS.RECORDING)¶
- NEURON_REGIONS = (REGIONS.CORE_PARAMS, REGIONS.NEURON_PARAMS, REGIONS.CURRENT_SOURCE_PARAMS, REGIONS.NEURON_RECORDING, REGIONS.NEURON_BUILDER, REGIONS.INITIAL_VALUES)¶
- class REGIONS(value)[source]¶
Bases:
IntEnumRegions for populations.
- CORE_PARAMS = 1¶
- CURRENT_SOURCE_PARAMS = 6¶
- INITIAL_VALUES = 10¶
- NEURON_BUILDER = 9¶
- NEURON_PARAMS = 5¶
- NEURON_RECORDING = 7¶
- PROFILING = 3¶
- PROVENANCE_DATA = 2¶
- RECORDING = 4¶
- SDRAM_EDGE_PARAMS = 8¶
- SYSTEM = 0¶
- generate_data_specification(spec: DataSpecificationGenerator, placement: Placement) None[source]¶
Generate a data specification.
- Parameters:
spec (DataSpecificationGenerator) – The data specification to write to
placement (Placement) – The placement the vertex is located at
- static get_n_bytes_for_transfer(n_neurons: int, n_synapse_types: int) int[source]¶
Calculate the number of bytes needed for a transfer.
- get_n_keys_for_partition(partition_id: str) int[source]¶
Get the number of keys required by the given partition of edges.
- get_recorded_region_ids() List[int][source]¶
Get the recording region IDs that have been recorded using buffering.
- Returns:
The region numbers that have active recording
- Return type:
iterable(int)
- property n_bytes_for_transfer: int¶
The number of bytes to be sent over the channel. This will be calculated using the above numbers, but also rounded up to a number of words, and with the number of neurons rounded up to a power of 2.
- Return type:
- parse_extra_provenance_items(label: str, x: int, y: int, p: int, provenance_data: Sequence[int]) None[source]¶
Convert the remaining provenance words (those not in the standard set) into provenance items.
Called by
get_provenance_data_from_machine()- Parameters:
label (str) – A descriptive label for the vertex (derived from label and placed position) to be used for provenance error reporting to the user.
x (int) – x coordinate of the chip where this core
y (int) – y coordinate of the core where this core
p (int) – virtual id of the core
provenance_data (list(int)) – The list of words of raw provenance data.
- regenerate_data_specification(spec: DataSpecificationReloader, placement: Placement) None[source]¶
Regenerate the data specification, only generating regions that have changed and need to be reloaded.
- Parameters:
spec (DataSpecificationGenerator) – Where to write the regenerated spec
placement (Placement) – Where are we regenerating for?
- sdram_requirement(sdram_machine_edge: SDRAMMachineEdge) int[source]¶
Asks a machine vertex for the SDRAM requirement it needs.
- Parameters:
sdram_machine_edge (SDRAMMachineEdge) – The SDRAM edge in question
- Returns:
The size in bytes this vertex needs for the SDRAM edge.
- Return type:
int (most likely a multiple of 4)
- set_do_neuron_regeneration() None[source]¶
Indicate that data re-generation of neuron parameters is required.
- set_reload_required(new_value: bool) None[source]¶
Indicate that the regions have been reloaded.
- Parameters:
new_value – the new value
- class spynnaker.pyNN.models.neuron.PopulationSynapsesMachineVertexCommon(sdram: AbstractSDRAM, label: str, app_vertex: PopulationVertex, vertex_slice: Slice)¶
Bases:
PopulationMachineCommon,SendsSynapticInputsOverSDRAMCommon parts of a machine vertex for the synapses of a Population.
- Parameters:
sdram (AbstractSDRAM) – The SDRAM used by the vertex
label (str) – The label of the vertex
app_vertex (PopulationVertex) – The associated application vertex
vertex_slice (Slice) – The slice of the population that this implements
- COMMON_REGIONS = (REGIONS.SYSTEM, REGIONS.PROVENANCE_DATA, REGIONS.PROFILING, REGIONS.RECORDING)¶
- DMA_COMPLETE = "DMA's that were completed"¶
- EARLIEST_RECEIVE = 'Earliest_receive_time'¶
- INPUT_BUFFER_FULL_NAME = 'Times_the_input_buffer_lost_packets'¶
- LATEST_RECEIVE = 'Latest_receive_time'¶
- MAX_FILLED_SIZE_OF_INPUT_BUFFER_NAME = 'Max_filled_size_input_buffer'¶
- MAX_SPIKES_PROCESSED = 'Max_spikes_processed_in_time_step'¶
- MAX_SPIKES_RECEIVED = 'Max_spikes_received_in_time_step'¶
- MAX_SPIKE_OVERFLOW = 'Max_spike_overflow_in_time_step'¶
- MAX_TRANSFER_TIMER_OVERRUNS = 'Max_transfer_overrun'¶
- N_LATE_SPIKES_NAME = 'Number_of_late_spikes'¶
- N_REWIRES_NAME = 'Number_of_rewires'¶
- N_SKIPPED_TIME_STEPS = 'Times_a_time_step_was_skipped'¶
- N_TRANSFER_TIMER_OVERRUNS = 'Times_the_transfer_did_not_complete_in_time'¶
- class REGIONS(value)[source]¶
Bases:
IntEnumRegions for populations.
- BIT_FIELD_FILTER = 9¶
- CONNECTOR_BUILDER = 12¶
- KEY_REGION = 11¶
- POPULATION_TABLE = 6¶
- PROFILING = 2¶
- PROVENANCE_DATA = 1¶
- RECORDING = 3¶
- SDRAM_EDGE_PARAMS = 10¶
- STRUCTURAL_DYNAMICS = 8¶
- SYNAPSE_DYNAMICS = 7¶
- SYNAPSE_PARAMS = 4¶
- SYNAPTIC_MATRIX = 5¶
- SYSTEM = 0¶
- SPIKES_PROCESSED = 'How many spikes were processed'¶
- SYNAPSE_REGIONS = (REGIONS.SYNAPSE_PARAMS, REGIONS.POPULATION_TABLE, REGIONS.SYNAPTIC_MATRIX, REGIONS.SYNAPSE_DYNAMICS, REGIONS.STRUCTURAL_DYNAMICS, REGIONS.BIT_FIELD_FILTER, REGIONS.CONNECTOR_BUILDER)¶
- get_recorded_region_ids() Sequence[int][source]¶
Get the recording region IDs that have been recorded using buffering.
- Returns:
The region numbers that have active recording
- Return type:
iterable(int)
- parse_extra_provenance_items(label: str, x: int, y: int, p: int, provenance_data: Sequence[int]) None[source]¶
Convert the remaining provenance words (those not in the standard set) into provenance items.
Called by
get_provenance_data_from_machine()- Parameters:
label (str) – A descriptive label for the vertex (derived from label and placed position) to be used for provenance error reporting to the user.
x (int) – x coordinate of the chip where this core
y (int) – y coordinate of the core where this core
p (int) – virtual id of the core
provenance_data (list(int)) – The list of words of raw provenance data.
- sdram_requirement(sdram_machine_edge: SDRAMMachineEdge) int[source]¶
Asks a machine vertex for the SDRAM requirement it needs.
- Parameters:
sdram_machine_edge (SDRAMMachineEdge) – The SDRAM edge in question
- Returns:
The size in bytes this vertex needs for the SDRAM edge.
- Return type:
int (most likely a multiple of 4)
- set_neuron_vertex_and_partition_id(neuron_vertex: PopulationNeuronsMachineVertex, partition_id: str) None[source]¶
Set the neuron vertex and partition ID for the case with a self-connection.
- Parameters:
neuron_to_synapse_edge (MachineEdge) – The edge that we will receive spikes from
- set_sdram_partition(sdram_partition: SourceSegmentedSDRAMMachinePartition) None[source]¶
Set the SDRAM partition. Must only be called once per instance.
- Parameters:
sdram_partition (SourceSegmentedSDRAMMachinePartition) – The SDRAM partition to receive synapses from
- class spynnaker.pyNN.models.neuron.PopulationSynapsesMachineVertexLead(sdram: AbstractSDRAM, label: str, app_vertex: PopulationVertex, vertex_slice: Slice, ring_buffer_shifts: Sequence[int], weight_scales: NDArray[floating], structural_sz: int, synapse_references: SynapseRegionReferences, max_atoms_per_core: int, synaptic_matrices: SynapticMatrices)¶
Bases:
PopulationSynapsesMachineVertexCommon,PopulationMachineSynapses,AbstractGeneratesDataSpecification,AbstractRewritesDataSpecificationA synaptic machine vertex that leads other synaptic machine vertices, writing shared areas.
- Parameters:
sdram (AbstractSDRAM) – The SDRAM used by the vertex
label (str) – The label of the vertex
app_vertex (PopulationVertex) – The associated application vertex
vertex_slice (Slice) – The slice of the population that this implements
- generate_data_specification(spec: DataSpecificationGenerator, placement: Placement) None[source]¶
Generate a data specification.
- Parameters:
spec (DataSpecificationGenerator) – The data specification to write to
placement (Placement) – The placement the vertex is located at
- get_recorded_region_ids() List[int][source]¶
Get the recording region IDs that have been recorded using buffering.
- Returns:
The region numbers that have active recording
- Return type:
iterable(int)
- regenerate_data_specification(spec: DataSpecificationReloader, placement: Placement) None[source]¶
Regenerate the data specification, only generating regions that have changed and need to be reloaded.
- Parameters:
spec (DataSpecificationGenerator) – Where to write the regenerated spec
placement (Placement) – Where are we regenerating for?
Bases:
PopulationSynapsesMachineVertexCommon,PopulationMachineSynapsesProvenance,AbstractGeneratesDataSpecificationA machine vertex for PyNN Populations.
- Parameters:
sdram (AbstractSDRAM) – The SDRAM used by the vertex
label (str) – The label of the vertex
app_vertex (PopulationVertex) – The associated application vertex
vertex_slice (Slice) – The slice of the population that this implements
Generate a data specification.
- Parameters:
spec (DataSpecificationGenerator) – The data specification to write to
placement (Placement) – The placement the vertex is located at
- class spynnaker.pyNN.models.neuron.PopulationVertex(*, n_neurons: int, label: str, max_atoms_per_core: int | Tuple[int, ...], n_synapse_cores: int | None, allow_delay_extensions: bool, spikes_per_second: float | None, ring_buffer_sigma: float | None, max_expected_summed_weight: List[float] | None, incoming_spike_buffer_size: int | None, neuron_impl: AbstractNeuronImpl, pynn_model: AbstractPyNNNeuronModel, drop_late_spikes: bool, splitter: SplitterPopulationVertex | None, seed: int | None, n_colour_bits: int | None, extra_partitions: List[str] | None = None)¶
Bases:
PopulationApplicationVertex,AbstractAcceptsIncomingSynapses,AbstractCanReset,SupportsStructureUnderlying vertex model for Neural Populations.
- Parameters:
n_neurons – The number of neurons in the population
label – The label on the population
max_atoms_per_core – The maximum number of atoms (neurons) per SpiNNaker core.
n_synapse_cores – The number of synapse cores to use: 0 for combined core, or None for automatic determination
allow_delay_extensions – Whether delay extensions should be allowed or not
spikes_per_second – Expected spike rate
ring_buffer_sigma – How many SD above the mean to go for upper bound of ring buffer size; a good starting choice is 5.0. Given length of simulation we can set this for approximate number of saturation events.
max_expected_summed_weight – The maximum expected summed weights for each synapse type.
incoming_spike_buffer_size
drop_late_spikes – control flag for dropping late packets.
neuron_impl – The (Python side of the) implementation of the neurons themselves.
pynn_model – The PyNN neuron model that this vertex is working on behalf of.
splitter – splitter object
seed – The Population seed, used to ensure the same random generation on each run.
n_colour_bits – The number of colour bits to use
extra_partitions – Extra partitions that are to be sent by the vertex
- CORE_PARAMS_BASE_SIZE = 20¶
- add_incoming_projection(projection: Projection) None[source]¶
Add a projection incoming to this vertex.
- Parameters:
projection (Projection) – The new projection to add
- property atoms_shape: Tuple[int, ...]¶
The “shape” of the atoms in the vertex i.e. how the atoms are split between the dimensions of the vertex. By default everything is 1-dimensional, so the value will be a 1-tuple but can be overridden by a vertex that supports multiple dimensions.
- can_generate_on_machine() bool[source]¶
Determine if the parameters of this vertex can be generated on the machine
- Return type:
- clear_connection_cache() None[source]¶
Flush the cache of connection information; needed for a second run.
- property conductance_based: bool¶
Whether the vertex models post-synaptic inputs as currents or conductance.
By default this is False; override if the model accepts conductance based input.
- Return type:
- copy_initial_state_variables(vertex_slice: Slice) None[source]¶
Copies the state variables into the initial state variables.
- Parameters:
vertex_slice (Slice) – The slice to copy now
- property current_source_id_list: Dict[AbstractCurrentSource, Selector]¶
Current source ID list needed to be available to machine vertex.
- Return type:
- property current_sources: List[AbstractCurrentSource]¶
Current sources needed to be available to machine vertex.
- Return type:
- describe() Dict[str, str | Dict[str, Any]][source]¶
Get a human-readable description of the cell or synapse type.
The output may be customised by specifying a different template together with an associated template engine (see
pyNN.descriptions).If template is None, then a dictionary containing the template context will be returned.
- property drop_late_spikes: bool¶
Whether spikes should be dropped if not processed in a timestep.
- Return type:
- get_buffer_data_type(name: str) BufferDataType[source]¶
Get the type of data recorded by the buffer manager.
The buffer data type controls how data returned by the cores is handled in NeoBufferDatabase.
- get_common_constant_sdram(n_record: int, n_provenance: int, common_regions: CommonRegions) MultiRegionSDRAM[source]¶
Get the amount of SDRAM used by common parts.
- Parameters:
n_record (int) – The number of recording regions
n_provenance (int) – The number of provenance items
common_regions (CommonRegions) – Region IDs
- Return type:
MultiRegionSDRAM
- get_connections_from_machine(app_edge: ProjectionApplicationEdge, synapse_info: SynapseInformation) ConnectionsArray[source]¶
Get the connections from the machine post-run.
- Parameters:
app_edge (ProjectionApplicationEdge) – The edge for which the data is being read
synapse_info (SynapseInformation) – The specific projection within the edge
- Return type:
- get_current_state_values(names: str | List[str] | Tuple[str, ...], selector: None | int | integer | SupportsInt | slice | Sequence[bool | bool] | Sequence[int | integer | SupportsInt] = None) ParameterHolder[source]¶
Get the current values of a state variable for the whole Population or a subset if the selector is used.
- Parameters:
- Return type:
- Raises:
KeyError – if the variable is not something that can be read
- get_data_type(name: str) DataType | None[source]¶
Get the type data returned by a recording of the variable.
This is the type of data the C code is returning. For instance data such as spikes this will be None.
- get_incoming_projections_from(source_vertex: PopulationApplicationVertex) Iterable[Projection][source]¶
The projections that target this population vertex from the given source.
- Return type:
iterable(Projection)
- get_initial_state_values(names: str | List[str] | Tuple[str, ...], selector: None | int | integer | SupportsInt | slice | Sequence[bool | bool] | Sequence[int | integer | SupportsInt] = None) ParameterHolder[source]¶
Get the initial values of a state variable for the whole Population or a subset if the selector is used.
- Parameters:
- Return type:
- Raises:
KeyError – if the variable is not something that can be read
- get_max_atoms_per_core() int[source]¶
Gets the maximum number of atoms per core, which is either the number of atoms required across the whole application vertex, or a lower value set.
- Return type:
- get_max_atoms_per_dimension_per_core() Tuple[int, ...][source]¶
Gets the maximum number of atoms per dimension per core. This will return a tuple with a number for each dimension of the vertex, which might be one if this is a single-dimension vertex.
- get_max_neuron_variable_sdram(n_neurons: int) AbstractSDRAM[source]¶
Get the amount of SDRAM per timestep used by neuron parts.
- Return type:
- get_max_row_info(synapse_info: SynapseInformation, n_post_atoms: int, app_edge: ProjectionApplicationEdge) MaxRowInfo[source]¶
Get maximum row length data.
- Parameters:
synapse_info (SynapseInformation) – Information about synapses
n_post_atoms (int) – The number of atoms projected to
app_edge (ProjectionApplicationEdge) – The edge of the projection
- Return type:
- get_max_synapse_variable_sdram(n_neurons: int) AbstractSDRAM[source]¶
Get the amount of SDRAM per timestep used by synapse parts.
- Return type:
- get_neuron_constant_sdram(n_atoms: int, neuron_regions: NeuronRegions) MultiRegionSDRAM[source]¶
Get the amount of fixed SDRAM used by neuron parts.
- Parameters:
neuron_regions (NeuronRegions) – Region IDs
- Return type:
- get_neuron_variable_sdram(vertex_slice: Slice) AbstractSDRAM[source]¶
Get the amount of SDRAM per timestep used by neuron parts.
- get_neurons_recording(name: str, vertex_slice: Slice) Collection[int] | None[source]¶
Gets the neurons being recorded on the core with this slice.
Typically vertex_slice.get_raster_ids(atoms_shape) but may be a sublist if doing selective recording.
- get_parameter_values(names: str | List[str] | Tuple[str, ...], selector: None | int | integer | SupportsInt | slice | Sequence[bool | bool] | Sequence[int | integer | SupportsInt] = None) ParameterHolder[source]¶
Get the values of a parameter or parameters for the whole Population or a subset if the selector is used.
- Parameters:
- Return type:
- Raises:
KeyError – if the parameter is not something that can be read
- get_recordable_variables() List[str][source]¶
Get a list of the names and types of things that can be recorded.
This methods list the variable recorded via the Population.
- get_recording_variables() List[str][source]¶
Get a list of variables that are currently being recorded.
- get_ring_buffer_shifts() List[int][source]¶
Get the shift of the ring buffers for transfer of values into the input buffers for this model.
- get_sampling_interval_ms(name: str) float[source]¶
Get the sampling interval of the recording for the given variable.
The values is in ms and unless selective recording is used will be SpynnakerDataView.get_simulation_time_step_us()
- get_sdram_usage_for_current_source_params(n_atoms: int) int[source]¶
Calculate the SDRAM usage for the current source parameters region.
- get_sdram_usage_for_neuron_generation(n_atoms: int) int[source]¶
Calculate the SDRAM usage for the neuron generation region.
- get_sdram_usage_for_neuron_params(n_atoms: int) int[source]¶
Calculate the SDRAM usage for just the neuron parameters region.
- get_structural_dynamics_size(n_atoms: int) int[source]¶
Get the size of the structural dynamics region, in bytes.
- get_synapse_dynamics_size(n_atoms: int) int[source]¶
Get the size of the synapse dynamics region, in bytes.
- Return type:
- get_synapse_expander_size() int[source]¶
Get the size of the synapse expander region, in bytes.
- Return type:
- get_synapse_id_by_target(target: str) int | None[source]¶
Get the id of synapse using its target name.
- get_synapse_params_size() int[source]¶
Get the size of the synapse parameters, in bytes.
- Return type:
- get_synapse_variable_sdram(vertex_slice: Slice) AbstractSDRAM[source]¶
Get the amount of SDRAM per timestep used by synapse parts.
- get_synapses_size(n_post_atoms: int) int[source]¶
Get the maximum SDRAM usage for the synapses on a vertex slice.
- Parameters:
n_post_atoms (int) – The number of atoms projected to
incoming_projections (list(Projection)) – The projections to consider in the calculations
- Return type:
- get_weight_scales(ring_buffer_shifts: Iterable[int]) ndarray[tuple[int, ...], dtype[floating]][source]¶
Get the weight scaling to apply to weights in synapses.
- property incoming_poisson_projections: Sequence[Projection]¶
The projections that target this population vertex which originate from a Poisson source which has only one outgoing projection
- property incoming_projections: Iterable[Projection]¶
The projections that target this population vertex.
- Return type:
iterable(Projection)
- property incoming_spike_buffer_size: int¶
The size of the incoming spike buffer to be used on the cores.
- Return type:
- property initial_state_variables: RangeDictionary[float]¶
The initial values of the state variables of the neurons.
- Return type:
- inject(current_source: AbstractCurrentSource, selector: Selector = None) None[source]¶
Inject a current source into this population.
- Parameters:
current_source (AbstractCurrentSource) – the current source to be injected
selector (None or slice or int or list(bool) or list(int)) – a description of the subrange to accept, or
Nonefor all. See:selector_to_ids()
- Raises:
ConfigurationException – if the population doesn’t support injection
- property max_delay_steps_incoming: int¶
The maximum delay steps needed to handle incoming synapses, accounting for delay extensions.
- property n_colour_bits: int¶
The number of colour bits sent by this vertex.
Assumed 0 unless overridden
- Return type:
- property n_synapse_cores_required: int¶
The estimated number of synapse cores required, when using a split synapse-neuron core model.
- Return type:
- property neuron_impl: AbstractNeuronImpl¶
The neuron implementation.
- Return type:
- property neuron_recorder: NeuronRecorder¶
The recorder for neurons.
- Return type:
- property parameters: RangeDictionary[float]¶
The parameters of the neurons in the population.
- Return type:
- property pop_seed: Sequence[int]¶
The seed to use for the population overall; a list of four integers.
- property self_projection: Projection | None¶
Any projection from this vertex to itself.
- Return type:
Projection or None
- set_allow_delay_extensions(allow_delay_extensions: bool) None[source]¶
Set whether delay extensions are allowed.
- Parameters:
allow_delay_extensions – Whether to allow delay extensions
- set_current_state_values(name: str, value: float | Sequence[float] | ndarray[tuple[int, ...], dtype[floating]] | RandomDistribution, selector: None | int | integer | SupportsInt | slice | Sequence[bool | bool] | Sequence[int | integer | SupportsInt] = None) None[source]¶
Set the current values of a state variable for the whole Population or a subset if the selector is used.
- set_initial_state_values(name: str, value: float | Sequence[float] | ndarray[tuple[int, ...], dtype[floating]] | RandomDistribution, selector: None | int | integer | SupportsInt | slice | Sequence[bool | bool] | Sequence[int | integer | SupportsInt] = None) None[source]¶
Set the initial values of a state variable for the whole Population or a subset if the selector is used.
- set_max_atoms_per_dimension_per_core(new_value: int | Tuple[int, ...]) None[source]¶
Set the maximum number of atoms per dimension per core.
Can be used to raise or lower the maximum number of atoms per core or per dimension per core.
- Parameters:
new_value – Value to set. If the vertex is n-dimensional where n > 1, a tuple of n values must be given. If the vertex is 1 dimensional, a 1-tuple or integer can be given.
- set_n_synapse_cores(n_synapse_cores: int | None) None[source]¶
Set the number of synapse cores.
- Parameters:
n_synapse_cores – The number of synapse cores to use; 0 for a combined core, or None to allow the system to choose
- set_not_recording(name: str, indices: Collection[int] | None = None) None[source]¶
Set a variable not recording.
- set_parameter_values(name: str, value: float | Sequence[float] | ndarray[tuple[int, ...], dtype[floating]] | RandomDistribution, selector: None | int | integer | SupportsInt | slice | Sequence[bool | bool] | Sequence[int | integer | SupportsInt] = None) None[source]¶
Set the values of a parameter for the whole Population or a subset if the selector is used.
- set_recording(name: str, sampling_interval: float | None = None, indices: Collection[int] | None = None) None[source]¶
Set a variable recording.
- Parameters:
- Raises:
KeyError – if the variable cannot be recorded
- set_structure(structure: BaseStructure) None[source]¶
Set the structure of the object.
- Parameters:
structure (BaseStructure) – The structure to set
- set_synapse_dynamics(synapse_dynamics: AbstractSynapseDynamics) None[source]¶
Set the synapse dynamics of this population.
- Parameters:
synapse_dynamics (AbstractSynapseDynamics) – The synapse dynamics to set
- property splitter: SplitterPopulationVertex¶
- Return type:
- property state_variables: RangeDictionary[float]¶
The state variables of the neuron in the population.
- Return type:
- property synapse_dynamics: AbstractSynapseDynamics¶
The synapse dynamics used by the synapses e.g. plastic or static. Settable.
- Return type:
- property synapse_executable_suffix: str¶
The suffix of the executable name due to the type of synapses in use.
- Return type:
- property synapse_recordables: List[str]¶
The names of variables that can be recorded by the synapses.
- property synapse_recorder: NeuronRecorder¶
The recorder for synapses.
- Return type:
- class spynnaker.pyNN.models.neuron.SpikeProcessingFastProvenance¶
Bases:
StructureTypes of provenance and the DataType used to represent each.
- N_ITEMS = 14¶
- earliest_receive¶
Structure/Union member
- latest_receive¶
Structure/Union member
- max_size_input_buffer¶
Structure/Union member
- max_spikes_overflow¶
Structure/Union member
- max_spikes_processed¶
Structure/Union member
- max_spikes_received¶
Structure/Union member
- max_transfer_timer_overrun¶
Structure/Union member
- n_buffer_overflows¶
Structure/Union member
- n_dmas_complete¶
Structure/Union member
- n_late_packets¶
Structure/Union member
- n_rewires¶
Structure/Union member
- n_skipped_time_steps¶
Structure/Union member
- n_spikes_processed¶
Structure/Union member
- n_transfer_timer_overruns¶
Structure/Union member
- class spynnaker.pyNN.models.neuron.SpikeProcessingProvenance¶
Bases:
StructureThe provenance from spike processing.
- N_ITEMS = 6¶
- max_size_input_buffer¶
Structure/Union member
- n_buffer_overflows¶
Structure/Union member
- n_dmas_complete¶
Structure/Union member
- n_late_packets¶
Structure/Union member
- n_rewires¶
Structure/Union member
- n_spikes_processed¶
Structure/Union member
- class spynnaker.pyNN.models.neuron.SynapseProvenance¶
Bases:
StructureProvenance items from synapse processing.
- N_ITEMS = 10¶
- max_late_spike¶
Structure/Union member
- n_failed_bitfield_reads¶
Structure/Union member
- n_filtered_by_bitfield¶
Structure/Union member
- n_ghost_searches¶
Structure/Union member
- n_invalid_pop_table_hits¶
Structure/Union member
- n_late_spikes¶
Structure/Union member
- n_plastic_saturations¶
Structure/Union member
- n_pre_synaptic_events¶
Structure/Union member
- n_saturations¶
Structure/Union member
- n_skipped_synapses¶
Structure/Union member