teili.building_blocks package¶
Submodules¶
teili.building_blocks.building_block module¶
This module provides the parent class for (neuronal) building blocks.
Todo
- Hierarchy of building_blocks.
There is a problem when 2 BBs of the same kind are added to another BB, as the names collide.
- Monitor naming.
Important all Monitors of Building blocks have to be named and named uniquely! Otherwise they will not be found, when a Network is rerun in standalone mode after rebuild without recompile
-
class
teili.building_blocks.building_block.BuildingBlock(*args, **kw)[source]¶ Bases:
brian2.core.names.NameableThis class is the parent class to all building blocks, e.g. WTA, SOM.
-
name¶ Name of the building_block population
- Type
str, required
-
neuron_eq_builder¶ neuron class as imported from models/neuron_models
- Type
class, optional
-
synapse_eq_builder¶ synapse class as imported from models/synapse_models
- Type
class, optional
-
params¶ Dictionary containing all relevant parameters for each building block
- Type
dictionary, optional
-
verbose¶ Flag to gain additional information
- Type
bool, optional
-
groups¶ Keys to all neuron and synapse groups
- Type
dictionary
-
monitors¶ Keys to all spike and state monitors
- Type
dictionary
-
monitor¶ Flag to auto-generate spike and state monitors
- Type
bool, optional
-
standalone_params¶ Dictionary for all parameters to create a standalone network
- Type
dictionary
-
sub_blocks¶ Dictionary for all parent building blocks
- Type
dictionary
-
input_groups¶ Dictionary containing all possible groups which are potential inputs
- Type
dictionary
-
output_groups¶ Dictionary containing all possible groups which are potential outputs
- Type
dictionary
Dictionary containing all remaining groups which are neither inputs nor outputs
- Type
dictionary
-
__iter__()[source]¶ this allows us to iterate over the BrianObjects and directly add the Block to a Network
- Returns
Returns a dictionary wich contains all brian objects
- Return type
TYPE
This method allows the user to set a list of tags to a specific target group. Normally the tags are already assigned by each building block. So this method only adds convinience and a way to replace the default tags if this is needed by any user. Typically this should not be the user’s concern, that’s why it is private method.
- Parameters
tags (dict) – A dictionary of tags {‘mismatch’ : False, ‘noise’ : False, ‘level’: 0 , ‘sign’: ‘None’, ‘target sign’: ‘None’, ‘num_inputs’ : 0, ‘bb_type’ : ‘None’, ‘group_type’ : ‘None’, ‘connection_type’ : ‘None’, }
target_group (str) – Name of group to set tags
-
get_groups(tags)[source]¶ Get all groups which have a certain set of tags
- Parameters
tags (dict) – A dictionary of tags
- Returns
- List of all group objects which
share the same tags as specified.
- Return type
target_dict (dict)
-
get_run_args()[source]¶ this collects the arguments to cpp main() for standalone run
- Returns
Arguments which can be changed during/between runs
- Return type
TYPE
Get the currently set tags for a given group.
- Parameters
target_group (str) – Name of group to get tags from or direct TeiliGroup
- Returns
- Dictionary containing all assigned _tags of provided
group
- Return type
(dict)
-
property
groups¶ This property will collect all available groups from the respective building block. The property follows a recursive strategy to collect all available groups. The intention is to easily update all available groups for stacked building blocks. NOTE Avoid any kind of loops between Building Blocks. Loops are forbidden as they lead to infinite collection of groups.
- Returns
Dictionary containing all groups of all sub_blocks
- Return type
tmp_groups (dict)
Get the currently set tags for a given group.
- Parameters
target_group (str) – Name of group to get tags from
-
teili.building_blocks.chain module¶
This is a simple syn-fire chain of neurons
-
teili.building_blocks.chain.chain_params¶ Dictionary of default parameters for syn-fire chain
- Type
dict
Todo
- Update docstrings
- Not all Description of attributes are set. Please provide meaningful
docstrings
Example
To use the syn-fire chain building block in your simulation you need to create an object of the class by:
>>> from teili.building_blocks.chain import Chain
>>> my_bb = Chain(name='my_chain')
If you want to change the underlying neuron and synapse model you need to provide a different equation_builder class:
>>> from teili.models.neuron_models import DPI
>>> from teili.models.synapse_models import DPISyn
>>> my_bb = Chain(name='my_chain',
neuron_eq_builder=DPI,
synapse_eq_builder=DPISyn)
If you want to change the default parameters of your building block you need to define a dictionary, which you pass to the building_block
>>> chain_params = {'num_chains': 4,
'num_neurons_per_chain': 15,
'synChaCha1e_weight': 4,
'synInpCha1e_weight': 1,
'gChaGroup_refP': 1 * ms}
>>> my_bb = Chain(name='my_chain', block_params=chain_params)
-
class
teili.building_blocks.chain.Chain(*args, **kw)[source]¶ Bases:
teili.building_blocks.building_block.BuildingBlockThis is a simple syn-fire chain of neurons.
-
gChaGroup_refP¶ Parameter specifying the refractory period.
- Type
str, optional
-
group¶ List of keys of neuron population.
- Type
dict
-
inputGroup¶ SpikeGenerator obj. to stimulate syn-fire chain.
- Type
SpikeGenerator
-
num_chains¶ Number of chains to generate.
- Type
int, optional
-
num_neurons_per_chain¶ Number of neurons within one chain.
- Type
int, optional
-
spikemon_cha¶ Description.
- Type
brian2 SpikeMonitor obj.
-
spikemon_cha_inp¶ Description.
- Type
brian2 SpikeMonitor obj.
-
standalone_params¶ Keys for all standalone parameters necessary for cpp code generation.
- Type
dict
-
synapse¶ Description.
- Type
TYPE
-
synChaCha1e_weight¶ Parameter specifying the recurrent weight.
- Type
int, optional
-
synInpCha1e_weight¶ Parameter specifying the input weight.
- Type
int, optional
-
-
teili.building_blocks.chain.gen_chain(groupname='Cha', neuron_eq_builder=<teili.models.neuron_models.ExpAdaptIF object>, synapse_eq_builder=<teili.models.synapse_models.ReversalSynV object>, num_chains=4, num_neurons_per_chain=15, num_inputs=1, synChaCha1e_weight=4, synInpCha1e_weight=1, gChaGroup_refP=1. * msecond, debug=False)[source]¶ Creates chains of neurons
- Parameters
groupname (str, optional) – Base name for building block.
neuron_eq_builder (TYPE, optional) – Neuron equation builder object.
synapse_eq_builder (TYPE, optional) – Synapse equation builder object.
num_chains (int, optional) – Number of chains to generate.
num_neurons_per_chain (int, optional) – Number of neurons within one chain.
num_inputs (int, optional) – Number of inputs from different source populations.
synChaCha1e_weight (int, optional) – Parameter specifying the recurrent weight.
synInpCha1e_weight (int, optional) – Parameter specifying the input weight.
gChaGroup_refP (TYPE, optional) – Parameter specifying the refractory period.
debug (bool, optional) – Debug flag.
- Returns
Keys to all neuron and synapse groups. Monitors (dictionary): Keys to all spike- and statemonitors. standalone_params (dictionary): Dictionary which holds all parameters to create a standalone network.
- Return type
Groups (dictionary)
teili.building_blocks.reservoir module¶
This module provides a reservoir network, as described in Nicola and Clopath 2017.
-
teili.building_blocks.reservoir.reservoir_params¶ Dictionary of default parameters for reservoir.
- Type
dict
Example
To use the Reservoir building block in your simulation you need to create an object of the class by:
>>> from teili.building_blocks.reservoir import Reservoir
>>> my_bb = Reservoir(name='my_reservoir')
If you want to change the underlying neuron and synapse model you need to provide a different equation_builder class:
>>> from teili.models.neuron_models import DPI as neuron_model
>>> from teili.models.synapse_models import DPISyn as synapse_model
>>> my_bb = Reservoir(name='my_reservoir',
neuron_eq_builder=DPI,
synapse_eq_builder=DPISyn)
If you want to change the default parameters of your building block you need to define a dictionary, which you pass to the building_block
>>> reservoir_params = {'weInpR': 1.5,
'weRInh': 1,
'wiInhR': -1,
'weRR': 0.5,
'sigm': 3,
'rpR': 0 * ms,
'rpInh': 0 * ms
}
>>> my_bb = Reservoir(name='my_reservoir', block_params=reservoir_params)
-
class
teili.building_blocks.reservoir.Reservoir(*args, **kw)[source]¶ Bases:
teili.building_blocks.building_block.BuildingBlockA recurrent Neural Net implementing a Reservoir.
-
group¶ List of keys of neuron population.
- Type
dict
-
input_group¶ SpikeGenerator object to stimulate Reservoir.
- Type
SpikeGenerator
-
num_neurons¶ Size of Reservoir neuron population.
- Type
int, optional
-
fraction_inh_neurons¶ Set to None to skip Dale’s principle.
- Type
float, optional
-
spikemonR¶ A spikemonitor which monitors the activity of the reservoir population.
- Type
brian2.SpikeMonitor object
-
standalone_params¶ Keys for all standalone parameters necessary for cpp code generation.
- Type
dict
-
-
teili.building_blocks.reservoir.gen_reservoir(groupname, neuron_eq_builder=<class 'teili.models.neuron_models.Izhikevich'>, synapse_eq_builder=<class 'teili.models.synapse_models.DoubleExponential'>, neuron_model_params={'Cm': 250. * pfarad, 'Iconst': 0. * amp, 'Ileak': 0. * amp, 'Inoise': 0. * amp, 'VR': -60. * mvolt, 'VT': -20. * mvolt, 'a': 10. * hertz, 'b': 0. * siemens, 'c': -65. * mvolt, 'd': 200. * pamp, 'k': 2.5e-09 * metre ** -4 * kilogram ** -2 * second ** 6 * amp ** 3, 'refP': 1. * msecond}, weInpR=1.5, weRInh=1, wiInhR=-1, weRR=0.5, sigm=3, rpR=0. * second, rpInh=0. * second, num_neurons=64, Rconn_prob=None, adjecency_mtr=None, num_input_neurons=0, num_output_neurons=1, output_weights_init=[0], taud=0, taur=0, num_inputs=1, fraction_inh_neurons=0.2, spatial_kernel='kernel_mexican_1d', monitor=True, additional_statevars=[], debug=False)[source]¶ Generates a reservoir network.
- Parameters
groupname (str, required) – Name of the Reservoir population.
neuron_eq_builder (class, optional) – neuron class as imported from models/neuron_models.
synapse_eq_builder (class, optional) – synapse class as imported from models/synapse_models.
weInpR (float, optional) – Excitatory synaptic weight between input SpikeGenerator and Reservoir neurons.
weRInh (int, optional) – Excitatory synaptic weight between Reservoir population and inhibitory interneuron.
wiInhR (TYPE, optional) – Inhibitory synaptic weight between inhibitory interneuron and Reservoir population.
weRR (float, optional) – Self-excitatory synaptic weight (Reservoir).
sigm (int, optional) – Standard deviation in number of neurons for Gaussian connectivity kernel.
rpR (float, optional) – Refractory period of Reservoir neurons.
rpInh (float, optional) – Refractory period of inhibitory neurons.
num_neurons (int, optional) – Size of Reservoir neuron population.
Rconn_prob (float, optional) – Float 0<p<1 to set connection probability within the reservoir
adjecency_mtr (numpy ndarray 3D of int and float, optional) – Uses the adjecency matrix to set connections in the reservoir
fraction_inh_neurons (int, optional) – Set to None to skip Dale’s principle.
cutoff (int, optional) – Radius of self-excitation.
num_inputs (int, optional) – Number of input currents to each neuron in the Reservoir.
num_input_neurons (int, optional) – Number of neurons in the input stage.
num_readout_neurons (int, optional) – Number of neurons in the readout stage.
spatial_kernel (str, optional) – None defaults to kernel_mexican_1d
monitor (bool, optional) – Flag to auto-generate spike and statemonitors.
additional_statevars (list, optional) – List of additional state variables which are not standard.
debug (bool, optional) – Flag to gain additional information.
- Returns
Keys to all neuron and synapse groups. Monitors (dictionary): Keys to all spike- and statemonitors. standalone_params (dictionary): Dictionary which holds all parameters to create a standalone network.
- Return type
Groups (dictionary)
teili.building_blocks.sequence_learning module¶
This module provides a sequence learning building block. This building block can be used to learn sequences of items
-
teili.building_blocks.sequence_learning.sl_params¶ Dictionary of default parameters for reservoir.
- Type
dict
Example
To use the Reservoir building block in your simulation you need to create an object of the class by doing:
>>> from teili.building_blocks.reservoir import Reservoir
>>> my_bb = Reservoir(name='my_sequence')
If you want to change the underlying neuron and synapse model you need to provide a different equation_builder class:
>>> from teili.models.neuron_models import DPI
>>> from teili.models.synapse_models import DPISyn
>>> my_bb = Reservoir(name='my_sequence',
neuron_eq_builder=DPI,
synapse_eq_builder=DPISyn)
If you want to change the default parameters of your building block you need to define a dictionary, which you pass to the building_block:
>>> sl_params = {'synInpOrd1e_weight': 1.3,
'synOrdMem1e_weight': 1.1,
'synMemOrd1e_weight': 0.16,
# local
'synOrdOrd1e_weight': 1.04,
'synMemMem1e_weight': 1.54,
# inhibitory
'synOrdOrd1i_weight': -1.95,
'synMemOrd1i_weight': -0.384,
'synCoSOrd1i_weight': -1.14,
'synResetOrd1i_weight': -1.44,
'synResetMem1i_weight': -2.6,
# refractory
'gOrdGroups_refP': 1.7 * ms,
'gMemGroups_refP': 2.3 * ms
}
>>> my_bb = Reservoir(name='my_sequence', block_params=sl_params)
-
class
teili.building_blocks.sequence_learning.SequenceLearning(*args, **kw)[source]¶ Bases:
teili.building_blocks.building_block.BuildingBlockSequence Learning Network.
-
cos_group¶ Condition of Satisfaction group.
- Type
neuron group
-
group¶ List of keys of neuron population.
- Type
dict
-
input_group¶ SpikeGenerator object to stimulate Reservoir.
- Type
SpikeGenerator
-
reset_group¶ Reset group, to reset network after CoS is met.
- Type
neuron group
-
standalone_params¶ Keys for all standalone parameters necessary for cpp code generation.
- Type
dict
-
-
teili.building_blocks.sequence_learning.gen_sequence_learning(groupname='Seq', neuron_eq_builder=<class 'teili.models.neuron_models.ExpAdaptIF'>, synapse_eq_builder=<class 'teili.models.synapse_models.ReversalSynV'>, num_elements=4, num_neurons_per_group=8, synInpOrd1e_weight=1.3, synOrdMem1e_weight=1.1, synMemOrd1e_weight=0.16, synOrdOrd1e_weight=1.04, synMemMem1e_weight=1.54, synOrdOrd1i_weight=-1.95, synMemOrd1i_weight=-0.384, synCoSOrd1i_weight=-1.14, synResetOrd1i_weight=-1.44, synResetMem1i_weight=-2.6, gOrdGroups_refP=1.7 * msecond, gMemGroups_refP=2.3 * msecond, num_inputs=1, verbose=False)[source]¶ Create Sequence Learning Network after the model from Sandamirskaya and Schoener (2010).
- Parameters
groupname (str, optional) – Base name for building block.
neuron_eq_builder (teili.models.builder obj, optional) – Neuron equation builder object.
synapse_eq_builder (teili.models.builder obj, optional) – Synapse equation builder object.
num_elements (int, optional) – Number of elements in the sequence.
num_neurons_per_group (int, optional) – Number of neurons used to remember each item.
synInpOrd1e_weight (float, optional) – Parameter specifying the input weight.
synOrdMem1e_weight (float, optional) – Parameter specifying the ordinary to memory weight.
synMemOrd1e_weight (float, optional) – Parameter specifying the memory to ordinary weight.
synOrdOrd1e_weight (float, optional) – Parameter specifying the recurrent weight (ord).
synMemMem1e_weight (float, optional) – Parameter specifying the recurrent weight (memory).
synOrdOrd1i_weight (TYPE, optional) – Parameter specifying the recurrent inhibitory weight.
synMemOrd1i_weight (TYPE, optional) – Parameter specifying the memory to ordinary inhibitory weight.
synCoSOrd1i_weight (TYPE, optional) – Parameter specifying the inhibitory weight from cos to ord.
synResetOrd1i_weight (TYPE, optional) – Parameter specifying the the inhibitory weight from reset to ord.
synResetMem1i_weight (TYPE, optional) – Parameter specifying the the inhibitory weight from reset cos to memory.
gOrdGroups_refP (TYPE, optional) – Parameter specifying the refractory period.
gMemGroups_refP (TYPE, optional) – Parameter specifying the refractory period.
num_inputs (int, optional) – Number of inputs from different source populations.
debug (bool, optional) – Debug flag.
- Returns
Keys to all neuron and synapse groups. Monitors (dictionary): Keys to all spike- and statemonitors. standalone_params (dictionary): Dictionary which holds all parameters to create a standalone network.
- Return type
Groups (dictionary)
-
teili.building_blocks.sequence_learning.plot_sequence_learning(Monitors, duration=None)[source]¶ A simple matplotlib wrapper function to plot network activity.
- Parameters
Monitors (building_block.monitors) – Dictionary containing all monitors created by gen_sequence_learning().
- Returns
Matplotlib figure.
- Return type
plt.fig
teili.building_blocks.wta module¶
This module provides different Winner-Takes_all (WTA) circuits.
Beside different dimensionality of the WTA, i.e 1D & 2D, you can select different spatial connectivity and neuron and synapse models.
-
teili.building_blocks.wta.wta_params¶ Dictionary of default parameters for wta.
- Type
dict
Todo
Generalize for n dimensions
Example
To use the WTA building block in your simulation you need to create an object of the class by doing:
>>> from teili.building_blocks.wta import WTA
>>> my_bb = WTA(name='my_wta')
If you want to change the underlying neuron and synapse model you need to provide a different equation_builder class:
>>> from teili.models.neuron_models import ExpAdaptIF
>>> from teili.models.synapse_models import ReversalSynV
>>> my_bb = WTA(name='my_wta',
neuron_eq_builder=ExpAdaptIF,
synapse_eq_builder=ReversalSynV)
If you want to change the default parameters of your building block you need to define a dictionary, which you pass to the building_block:
>>> wta_params = {'we_inp_exc': 1.5,
'we_exc_inh': 1,
'wi_inh_exc': -1,
'we_exc_exc': 0.5,
'wi_inh_inh': -1,
'sigm': 3,
'rp_exc': 3 * ms,
'rp_inh': 1 * ms,
'ei_connection_probability': 1,
'ie_connection_probability': 1,
'ii_connection_probability': 0
}
>>> my_bb = WTA(name='my_wta', block_params=wta_params)
-
class
teili.building_blocks.wta.WTA(*args, **kw)[source]¶ Bases:
teili.building_blocks.building_block.BuildingBlockA 1 or 2D square Winner-Takes_all (WTA) Building block.
-
dimensions¶ Specifies if 1 or 2 dimensional WTA is created.
- Type
int, optional
-
num_neurons¶ Size of WTA neuron population.
- Type
int, optional
-
spike_gen¶ SpikeGenerator group of the BB
- Type
brian2.Spikegenerator obj.
-
spikemon_exc¶ A spike monitor which monitors the activity of the WTA population.
- Type
brian2.SpikeMonitor obj.
-
standalone_params¶ Dictionary of parameters to be changed after standalone code generation.
- Type
dict
-
-
teili.building_blocks.wta.gen1dWTA(groupname, neuron_eq_builder=<class 'teili.models.neuron_models.DPI'>, synapse_eq_builder=<class 'teili.models.synapse_models.DPISyn'>, we_inp_exc=1.5, we_exc_inh=1, wi_inh_inh=-1, wi_inh_exc=-1, we_exc_exc=0.5, sigm=3, rp_exc=3. * msecond, rp_inh=1. * msecond, num_neurons=64, num_inh_neurons=5, num_input_neurons=None, num_inputs=1, num_inh_inputs=2, cutoff=10, spatial_kernel='kernel_gauss_1d', ei_connection_probability=1, ie_connection_probability=1, ii_connection_probability=0, additional_statevars=[], monitor=True, verbose=False)[source]¶ Creates a 1D WTA population of neurons, including the inhibitory interneuron population
- Parameters
groupname (str, required) – Name of the WTA population.
neuron_eq_builder (class, optional) – neuron class as imported from models/neuron_models.
synapse_eq_builder (class, optional) – synapse class as imported from models/synapse_models.
we_inp_exc (float, optional) – Excitatory synaptic weight between input SpikeGenerator and WTA neurons.
we_exc_inh (float, optional) – Excitatory synaptic weight between WTA population and inhibitory interneuron.
wi_inh_inh (float, optional) – Inhibitory synaptic weight between interneurons.
wi_inh_exc (float, optional) – Inhibitory synaptic weight between inhibitory interneuron and WTA population.
we_exc_exc (float, optional) – Self-excitatory synaptic weight (WTA).
sigm (int, optional) – Standard deviation in number of neurons for Gaussian connectivity kernel.
rp_exc (float, optional) – Refractory period of WTA neurons.
rp_inh (float, optional) – Refractory period of inhibitory neurons.
num_neurons (int, optional) – Size of WTA neuron population.
num_inh_neurons (int, optional) – Size of inhibitory interneuron population.
num_input_neurons (int, optional) – Size of input population. If None, equal to size of WTA population.
num_inputs (int, optional) – Number of input currents to WTA.
num_inh_inputs (int, optional) – Number of input currents to the inhibitory group.
cutoff (int, optional) – Radius of self-excitation.
spatial_kernel (str, optional) – Connectivity kernel for lateral connectivity. Default is ‘kernel_gauss_1d’. See tools.synaptic_kernel for more detail.
ei_connection_probability (float, optional) – WTA to interneuron connectivity probability.
ie_connection_probability (float, optional) – Interneuron to WTA connectivity probability
ii_connection_probability (float, optional) – Interneuron to Interneuron connectivity probability.
additional_statevars (list, optional) – List of additional state variables which are not standard.
monitor (bool, optional) – Flag to auto-generate spike and state monitors.
verbose (bool, optional) – Flag to gain additional information.
- Returns
Keys to all neuron and synapse groups. monitors (dictionary): Keys to all spike and state monitors. standalone_params (dictionary): Dictionary which holds all
parameters to create a standalone network.
- Return type
_groups (dictionary)
-
teili.building_blocks.wta.gen2dWTA(groupname, neuron_eq_builder=<class 'teili.models.neuron_models.DPI'>, synapse_eq_builder=<class 'teili.models.synapse_models.DPISyn'>, we_inp_exc=1.5, we_exc_inh=1, wi_inh_inh=-1, wi_inh_exc=-1, we_exc_exc=2.0, sigm=2.5, rp_exc=3. * msecond, rp_inh=1. * msecond, num_neurons=64, num_inh_neurons=5, num_input_neurons=None, num_inputs=1, num_inh_inputs=2, cutoff=10, spatial_kernel='kernel_gauss_2d', ei_connection_probability=1.0, ie_connection_probability=1.0, ii_connection_probability=0.1, additional_statevars=[], monitor=True, verbose=False)[source]¶ Creates a 2D square WTA population of neurons, including the inhibitory interneuron population
- Parameters
groupname (str, required) – Name of the WTA population.
neuron_eq_builder (class, optional) – neuron class as imported from models/neuron_models.
synapse_eq_builder (class, optional) – synapse class as imported from models/synapse_models.
we_inp_exc (float, optional) – Excitatory synaptic weight between input SpikeGenerator and WTA neurons.
we_exc_inh (int, optional) – Excitatory synaptic weight between WTA population and inhibitory interneuron.
wi_inh_inh (int, optional) – Self-inhibitory weight of the interneuron population.
wi_inh_exc (TYPE, optional) – Inhibitory synaptic weight between inhibitory interneuron and WTA population.
we_exc_exc (float, optional) – Self-excitatory synaptic weight (WTA).
sigm (int, optional) – Standard deviation in number of neurons for Gaussian connectivity kernel.
rp_exc (float, optional) – Refractory period of WTA neurons.
rp_inh (float, optional) – Refractory period of inhibitory neurons.
num_neurons (int, optional) – Size of WTA neuron population.
num_inh_neurons (int, optional) – Size of inhibitory interneuron population.
num_input_neurons (int, optional) – Size of input population. If None, equal to size of WTA population.
num_inputs (int, optional) – Number of input currents to WTA.
num_inh_inputs (int, optional) – Number of input currents to the inhibitory group.
cutoff (int, optional) – Radius of self-excitation.
spatial_kernel (str, optional) – Description
ei_connection_probability (float, optional) – WTA to interneuron connectivity probability.
ie_connection_probability (float, optional) – Interneuron to excitory neuron connectivity probability.
ii_connection_probability (float, optional) – Interneuron to interneuron neuron connectivity probability.
additional_statevars (list, optional) – List of additional state variables which are not standard.
monitor (bool, optional) – Flag to auto-generate spike and statemonitors.
verbose (bool, optional) – Flag to gain additional information.
- Returns
Keys to all neuron and synapse groups. monitors (dictionary): Keys to all spike and state monitors. standalone_params (dictionary): Dictionary which holds all
parameters to create a standalone network.
- Return type
_groups (dictionary)
Sets default tags to a WTA network
- Parameters
_groups (dictionary) – Keys to all neuron and synapse groups.
- No Longer Returned:
Tags will be added to all _groups passed. They follow this structure:
- tags = {‘mismatch’(bool, 0/1)
‘noise : (bool, 0/1) ‘level’: int ‘sign’: str (exc/inh/None) ‘target sign’: str (exc/inh/None) ‘num_inputs’ : int (0 if not Neuron group), ‘bb_type’ : str (WTA/3-WAY), ‘group_type’ : str (Neuron/Connection/ SpikeGen) ‘connection_type’ : str (rec/lateral/fb/ff/None)
}