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_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_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_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_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_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_weight_update_class
create_custom_postsynaptic_class