The Nengo team at ABR is pleased to announce the release of Nengo Loihi 0.4.
Nengo Loihi is a backend for the Nengo neural simulator allowing standard spiking Nengo models to run on Intel’s new Loihi neuromorphic chip. Nengo Loihi includes an emulator so that you can develop spiking neuron models for Loihi without having access to hardware.
Once installed, Nengo Loihi simulates Nengo networks. After defining your network, instead of simulating it with
nengo.Simulator(model)
do
nengo_loihi.Simulator(model)
and that’s it!
Nengo Loihi remains in heavy development. Lots of changes are happening under the hood that might affect your model. In most cases these changes should improve model speed and accuracy, but if any of these changes has an adverse effect, please let us know!
The biggest change in version 0.4.0 is two new examples that demonstrate the capabilities of Nengo and Loihi.
The new nonlinear adaptive control example shows Nengo Loihi controlling a two-link arm and learning to compensate for unexpected gravitational force. While this is a simple case, the underlying network structure is the same as that used in ABR’s adaptive control demo.
The new MNIST convolutional network example shows Nengo Loihi running a convolutional network created and trained with NengoDL. It correctly classifies 99 of 100 randomly selected test images, and provides a basis for constructing the more sophisticated convolutional neural networks used in state-of-the-art image and speech recognition.
Version 0.4.0 also includes many improvements to make models easier to debug. When using the Nengo Loihi emulator, we more closely match chip behavior and let you know when your model will not fit on the chip. When using Nengo Loihi hardware, we fixed a bug that was preventing error messages from being raised in certain situations.
We have also enabled an experimental optimization
and made it on by default.
Nengo models often use “passthrough nodes,”
nodes that move data around without modification,
to simplify model construction.
Previously, these passthrough nodes were implemented
off-chip by sending chip data to the host and back again.
Now, we attempt to replace passthrough nodes
with on-chip connections in order to reduce
the amount of communication between chip and host.
Removing passthrough nodes can change model behavior,
so if your models are no longer working as expected,
you can disable this optimization by passing
remove_passthrough=False
to the Simulator
.
Finally, we have improved the look and feel of the documentation, and keep old versions of the documentation accessible. When you go the main documentation page, you will be looking at the docs associated with the latest development version. The dropdown menu at the top-right of every page links to the docs associated with specific versions (e.g., v0.4.0).
If you are using the emulator, then you can
simply use pip
.
pip install nengo-loihi
If you are setting up Nengo Loihi to use Loihi hardware for the first time, see the Nengo Loihi installation instructions.
Please come ask questions on the Nengo forum! And if you run in to any bugs or have suggestions for new features, file an issue through Github.