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.Nameable

This 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

hidden_groups

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

_set_tags(tags, target_group)[source]

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_tags(target_group)[source]

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)

print_tags(target_group)[source]

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.BuildingBlock

This 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

plot(savedir=None)[source]

Simple function to plot recorded state and spikemonitors.

Parameters

savedir (str, optional) – Path to directory to save plot.

Returns

Returns figure.

Return type

matplotlib.pyplot object

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.BuildingBlock

A 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.BuildingBlock

Sequence 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

plot(duration=None)[source]

Simple plot for sequence learning network.

Returns

The window containing the plot.

Return type

pyqtgraph window

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.BuildingBlock

A 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)

teili.building_blocks.wta.set_wta_tags(self, _groups)[source]

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)

}

Module contents