namespace pygenn::genn_model

Overview

namespace genn_model {

// classes

class GeNNModel;

// global variables

tuple backend_modules;
tuple m;

// global functions

def init_var();
def init_connectivity();
def create_custom_neuron_class();
def create_custom_postsynaptic_class();
def create_custom_weight_update_class();
def create_custom_current_source_class();
def create_custom_model_class();
def create_dpf_class();
def create_cmlf_class();
def create_custom_init_var_snippet_class();
def create_custom_sparse_connect_init_snippet_class();

} // namespace genn_model

Detailed Documentation

Global Functions

def init_var()

This helper function creates a VarInit object to easily initialise a variable using a snippet.

Parameters:

init_var_snippet type of the InitVarSnippet class as string or instance of class derived from InitVarSnippet::Custom class.
param_space dict with param values for the InitVarSnippet class
def init_connectivity()

This helper function creates a InitSparseConnectivitySnippet::Init object to easily initialise connectivity using a snippet.

Parameters:

init_sparse_connect_snippet type of the InitSparseConnectivitySnippet class as string or instance of class derived from InitSparseConnectivitySnippet::Custom.
param_space dict with param values for the InitSparseConnectivitySnippet class
def create_custom_neuron_class()

This helper function creates a custom NeuronModel class.

Parameters:

class_name name of the new class
param_names list of strings with param names of the model
var_name_types list of pairs of strings with varible names and types of the model
derived_params

list of pairs, where the first member is string with name of the derived parameter and the second MUST be an instance of a class which inherits from

                                   ``pygenn.genn_wrapper.Snippet.DerivedParamFunc``
@param     sim_code    string with the simulation code
@param     threshold_condition_code    string with the threshold condition code
@param     reset_code  string with the reset code
@param     support_code    string with the support code
@param     extra_global_params list of pairs of strings with names and

types of additional parameters

additional_input_vars list of tuples with names and types as strings and initial values of additional local input variables
is_auto_refractory_required does this model require auto-refractory logic to be generated?
custom_body dictionary with additional attributes and methods of the new class

See also:

create_custom_postsynaptic_class

create_custom_weight_update_class

create_custom_current_source_class

create_custom_init_var_snippet_class

create_custom_sparse_connect_init_snippet_class

def create_custom_postsynaptic_class()

This helper function creates a custom PostsynapticModel class.

Parameters:

class_name name of the new class
param_names list of strings with param names of the model
var_name_types list of pairs of strings with varible names and types of the model
derived_params list of pairs, where the first member is string with name of the derived parameter and the second MUST be an instance of a class which inherits from pygenn.genn_wrapper.DerivedParamFunc
decay_code string with the decay code
apply_input_code string with the apply input code
support_code string with the support code
custom_body dictionary with additional attributes and methods of the new class

See also:

create_custom_neuron_class

create_custom_weight_update_class

create_custom_current_source_class

create_custom_init_var_snippet_class

create_custom_sparse_connect_init_snippet_class

def create_custom_weight_update_class()

This helper function creates a custom WeightUpdateModel class.

Parameters:

class_name name of the new class
param_names list of strings with param names of the model
var_name_types list of pairs of strings with variable names and types of the model
pre_var_name_types list of pairs of strings with presynaptic variable names and types of the model
post_var_name_types list of pairs of strings with postsynaptic variable names and types of the model
derived_params

list of pairs, where the first member is string with name of the derived parameter and the second MUST be an instance of a class which inherits from

                                       ``pygenn.genn_wrapper.DerivedParamFunc``
@param     sim_code    string with the simulation code
@param     event_code  string with the event code
@param     learn_post_code string with the code to include in

learn_synapse_post kernel/function

synapse_dynamics_code string with the synapse dynamics code
event_threshold_condition_code string with the event threshold condition code
pre_spike_code string with the code run once per spiking presynaptic neuron
post_spike_code string with the code run once per spiking postsynaptic neuron
sim_support_code string with simulation support code
learn_post_support_code string with support code for learn_synapse_post kernel/function
synapse_dynamics_suppport_code string with synapse dynamics support code
extra_global_params list of pairs of strings with names and types of additional parameters
is_pre_spike_time_required boolean, is presynaptic spike time required in any weight update kernels?
is_post_spike_time_required boolean, is postsynaptic spike time required in any weight update kernels?
custom_body dictionary with additional attributes and methods of the new class

See also:

create_custom_neuron_class

create_custom_postsynaptic_class

create_custom_current_source_class

create_custom_init_var_snippet_class

create_custom_sparse_connect_init_snippet_class

def create_custom_current_source_class()

This helper function creates a custom NeuronModel class.

Parameters:

class_name name of the new class
param_names list of strings with param names of the model
var_name_types list of pairs of strings with varible names and types of the model
derived_params list of pairs, where the first member is string with name of the derived parameter and the second MUST be an instance of the class which inherits from pygenn.genn_wrapper.DerivedParamFunc
injection_code string with the current injection code
extra_global_params list of pairs of strings with names and types of additional parameters
custom_body dictionary with additional attributes and methods of the new class

See also:

create_custom_neuron_class

create_custom_weight_update_class

create_custom_current_source_class

create_custom_init_var_snippet_class

create_custom_sparse_connect_init_snippet_class

def create_custom_model_class()

This helper function completes a custom model class creation.

This part is common for all model classes and is nearly useless on its own unless you specify custom_body.

Parameters:

class_name name of the new class
base base class
param_names list of strings with param names of the model
var_name_types list of pairs of strings with varible names and types of the model
derived_params list of pairs, where the first member is string with name of the derived parameter and the second MUST be an instance of the class which inherits from the pygenn.genn_wrapper.DerivedParamFunc class
custom_body dictionary with attributes and methods of the new class

See also:

create_custom_neuron_class

create_custom_weight_update_class

create_custom_postsynaptic_class

create_custom_current_source_class

create_custom_init_var_snippet_class

create_custom_sparse_connect_init_snippet_class

def create_dpf_class()

Helper function to create derived parameter function class.

Parameters:

dp_func a function which computes the derived parameter and takes two args “pars” (vector of double) and “dt” (double)
def create_cmlf_class()

Helper function to create function class for calculating sizes of matrices initialised with sparse connectivity initialisation snippet.

Parameters:

cml_func a function which computes the length and takes three args “num_pre” (unsigned int), “num_post” (unsigned int) and “pars” (vector of double)
def create_custom_init_var_snippet_class()

This helper function creates a custom InitVarSnippet class.

Parameters:

class_name name of the new class
param_names list of strings with param names of the model
derived_params list of pairs, where the first member is string with name of the derived parameter and the second MUST be an instance of the pygenn.genn_wrapper.DerivedParamFunc ` class
var_init_code string with the variable initialization code
custom_body dictionary with additional attributes and methods of the new class

See also:

create_custom_neuron_class

create_custom_weight_update_class

create_custom_postsynaptic_class

create_custom_current_source_class

create_custom_sparse_connect_init_snippet_class

def create_custom_sparse_connect_init_snippet_class()

This helper function creates a custom InitSparseConnectivitySnippet class.

Parameters:

class_name name of the new class
param_names list of strings with param names of the model
derived_params list of pairs, where the first member is string with name of the derived parameter and the second MUST be an instance of the class which inherits from pygenn.genn_wrapper.DerivedParamFunc
row_build_code string with row building initialization code
row_build_state_vars list of tuples of state variables, their types and their initial values to use across row building loop
calc_max_row_len_func instance of class inheriting from CalcMaxLengthFunc used to calculate maximum row length of synaptic matrix
calc_max_col_len_func instance of class inheriting from CalcMaxLengthFunc used to calculate maximum col length of synaptic matrix
extra_global_params list of pairs of strings with names and types of additional parameters
custom_body dictionary with additional attributes and methods of the new class

See also:

create_custom_neuron_class

create_custom_weight_update_class

create_custom_postsynaptic_class

create_custom_current_source_class

create_custom_init_var_snippet_class