You are here

Frequently Asked Questions

Starting out

What should I do first?

  1. Download Nengo
  2. Unzip it and run nengo on Mac OS X or Linux, or nengo.bat on Windows
  3. Follow this tutorial

Why is Nengo different from other neural simulators?
The main difference is in how the connection strengths between neurons are specified. For other neural simulators, you either set these weights manually or you set them randomly and specify a learning rule. Nengo allows you to specify the overall function that should be computed, and then it will solve for the connection weights that will best approximate that function. This allows the model designer to work at a higher level of abstraction (vectors and functions) and yet still produce a detailed model using realistic spiking neurons.

Does Nengo support traditional neural modelling?
Yes. Nengo can use any sort of neuron model, including the common non-spiking rate neuron models. Indeed, you can even change from spiking neurons to rate neurons in the middle of a simulation, or have a mixture of spiking and rate neurons in your model. Nengo also supports various learning rules. You can also manually specify connection weights, if desired.

Model building

How do I get spiking neurons to perform function X?

Many example functions can be found in the "demo" directory of a standard Nengo install. They are explained in the documentation, and many are explained in the videos. You can also look through the Nengo Model Archive to find examples.

Can I do learning in Nengo?

Yes. See the various scripts in the demos and videos section of this website with 'learning' in the title. Several papers in the CNRG Publications section also discuss learning in some detail. Such as this one, and this one.

How do I use regular connection weight matrices that I can change by hand?

See: ???terry

Python Scripting

How do I import a Python or Java library?

A: Two options. You can do it this way:

import ca.nengo.utils

but then when you use the library, you will have to provide its full name:

y=ca.nengo.utils.DataUtils.filter(x,0.005)

The other option is to import this way:

from ca.nengo.utils import *

This allows you to just do:

y=DataUtils.filter(x,0.005)

How do can I specify a particular set of encoding vectors?

http://nengo.ca/docs/html/configuring.html#encoders-a-k-a-preferred-dire...

How do I run a Nengo Python script from the command line?

terry???

Matlab plots

Can I get rid of all that whitespace around a plot?

A: You can! For a detailed explanation, see this blog post, but all it takes is one line of code.

A plot with a ton of whitespace, specifically sized with the line

figure('Position',[0,100,700,350],'Resize','off');

The same data plotted with the following additional line right after the figure call above, will have little whitespace.

set(gca, 'Position', get(gca, 'OuterPosition') - ...
get(gca, 'TightInset') * [-3 0 3 0; 0 -3 0 4; 0 0 3 0; 0 0 0 3]);

Note that the matrix at the end of the above line can be tweaked to change the margin on each of the four sides.