Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2009 Mar 24:3:7.
doi: 10.3389/neuro.11.007.2009. eCollection 2009.

Python scripting in the nengo simulator

Affiliations

Python scripting in the nengo simulator

Terrence C Stewart et al. Front Neuroinform. .

Abstract

Nengo (http://nengo.ca) is an open-source neural simulator that has been greatly enhanced by the recent addition of a Python script interface. Nengo provides a wide range of features that are useful for physiological simulations, including unique features that facilitate development of population-coding models using the neural engineering framework (NEF). This framework uses information theory, signal processing, and control theory to formalize the development of large-scale neural circuit models. Notably, it can also be used to determine the synaptic weights that underlie observed network dynamics and transformations of represented variables. Nengo provides rich NEF support, and includes customizable models of spike generation, muscle dynamics, synaptic plasticity, and synaptic integration, as well as an intuitive graphical user interface. All aspects of Nengo models are accessible via the Python interface, allowing for programmatic creation of models, inspection and modification of neural parameters, and automation of model evaluation. Since Nengo combines Python and Java, it can also be integrated with any existing Java or 100% Python code libraries. Current work includes connecting neural models in Nengo with existing symbolic cognitive models, creating hybrid systems that combine detailed neural models of specific brain regions with higher-level models of remaining brain areas. Such hybrid models can provide (1) more realistic boundary conditions for the neural components, and (2) more realistic sub-components for the larger cognitive models.

Keywords: Python; control theory; hybrid models; neural dynamics; neural engineering framework; neural models; representation; theoretical neuroscience.

PubMed Disclaimer

Figures

Figure 1
Figure 1
A neural model of the basal ganglia developed in Nengo.
Figure 2
Figure 2
A neural model of the mammalian vestibular system using the NEF. Boxes represent distinct neural populations and arrows represent projections between them. Inputs to the system are linear acceleration sensed by the left and right otoliths (AL, AR) and the angular velocity from the canals (ΩL and ΩR). From these, the system calculates inertial acceleration (I) using the formula developed by Angelaki et al. (1999). (For further details, see Eliasmith et al., 2002).
Figure 3
Figure 3
A classic control-theory integrator (A) and an NEF integrator (B). Both integrators are provided with the same sine wave input x(t). The NEF integrator uses 300 LIF neurons with maximum firing rates distributed uniformly between 100 and 200 Hz, post-synaptic current time constants of 20 ms, and refractory periods of 2 ms. The output value for the NEF integrator is determined from the individual spike times of each neuron using Eq. 3. Neuron spikes are shown as dots in panel (B), with neurons arranged along the y-axis.
Figure 4
Figure 4
Basic usage of the Python scripting interface to interact programmatically with a neural model.
Figure 5
Figure 5
The basic modules of ACT-R and their corresponding brain regions. The buffers are small-capacity working memories and represent the current cognitive state. The basal ganglia match this state against learned production rules, resulting in and output which can change the values stored in the different buffers. These changes in turn can cause other modules to perform various actions, including memory recall, motor commands, and visual search.
Figure 6
Figure 6
Spike pattern and vector decoding of a neural population implementing an ACT-R goal buffer. Dots indicate spike times for each neuron in the goal buffer, arranged along the y-axis. The three lines show the three-dimensional value decoded from the spikes using Eq. 3. The three dimensions correspond to the three possible values for the buffer, showing that the represented value cycles through the three states.

Similar articles

Cited by

References

    1. Anderson J. R., Fincham J. M., Qin Y., Stocco A. (2008). A central circuit of the mind. Trends Cogn. Sci. 12, 136–14310.1016/j.tics.2008.01.006 - DOI - PMC - PubMed
    1. Anderson J. R., Lebiere C. (1998). The Atomic Components of Thought. Mahwah, Erlbaum
    1. Angelaki D. E., McHenry M. Q., Dickman J. D., Newlands S. D., Hess B. J. M. (1999). Computation of inertial motion: neural strategies to resolve ambiguous otolith information. J. Neurosci. 19, 316–327 - PMC - PubMed
    1. Conklin J., Eliasmith C. (2005). An attractor network model of path integration in the rat. J. Comput. Neurosci. 18, 183–20310.1007/s10827-005-6558-z - DOI - PubMed
    1. Dormand J. R., Prince P. J. (1980). A family of embedded Runge–Kutta formulae. J. Comput. Appl. Math. 6, 19–2610.1016/0771-050X(80)90013-3 - DOI

LinkOut - more resources