Models¶
Here you find all the models currently available in NNMT.
Models in NNMT basically are containers for network parameters, analysis
parameters, and results. They come with convenience routines for changing
parameters, saving, and loading results. They can be instantiated using
yaml
files or dictionaries, and they typically require network parameters
and analysis parameters as arguments.
Please read the overview for more details.
Network class¶
This is the parent class all other network models inherit from. It defines the attributes NNMT tools assume to find and defines methods for changing parameters, saving, and loading results.
nnmt.models.Network ([network_params, ...]) |
Basic Network parent class all other models inherit from. |
Implemented network models¶
These are network models derived from the generic nnmt.models.Network
class. They define how parameter files are read in and how dependent network
and analysis parameters are calculated from the parameter files.
nnmt.models.Plain ([network_params, ...]) |
Plain network model that does not make any assumptions. |
nnmt.models.Basic ([network_params, ...]) |
Model similar to Microcircuit, without assuming any network structure. |
nnmt.models.Microcircuit ([network_params, ...]) |
The Potjans and Diesmann microcircuit model. |
Yaml parameter files¶
Here we explain how to set up a yaml parameter file for instantiating a model.
Parameters are defined in a dictionary-like manner using colons and
Python-style indentation to indicate nesting. Elements of lists are preceded by
hyphens -
, and arrays can be expressed as nested lists.
You can either define parameters with units using the keys val
and
unit
, or define unitless variables without any key.
Which parameters you need to define depends on the model you want to use and is indicated in the respective model’s docstring.
The following code snippet contains examples of structures for defining parameters:
<parameter>:
val: <value>
unit: <unit>
<parameter_list>:
val:
- <value1>
- <value2>
- <value3>
unit: <unit>
<unitless_parameter>: <value>
<unitless_parameter_list>:
- <value1>
- <value2>
- <value3>
<unitless_parameter_array>:
- - <value11>
- <value12>
- - <value21>
- <value22>
Yaml files for microcircuit model used in Power spectra and sensitivity measure in microcircuit model (Bos 2016) example:
- Network parameter file
network_params.yaml
- Analysis parameter file
analysis_params.yaml
.