NengoDL 3.0.0 released

The NengoDL team is very excited to announce the release of NengoDL 3.0.0.

What is NengoDL?

NengoDL is a backend for Nengo that integrates deep learning methods (supported by the TensorFlow framework) with other Nengo modelling tools. This allows users to optimize their models using deep learning training methods, improves simulation speed (on CPU or GPU), and makes it easy to insert TensorFlow models (such as deep learning architectures) into Nengo networks.

How do I use it?

To use NengoDL, replace instances of nengo.Simulator with nengo_dl.Simulator.

For example, if you have a network called net and you run it as

with nengo.Simulator(net) as sim:

you would change that to

with nengo_dl.Simulator(net) as sim:

and that’s it!

Information on accessing the more advanced features of NengoDL can be found in the documentation.

What’s new?

NengoDL 3.0 is a significant rewrite of NengoDL, designed to take advantage of all the new features in TensorFlow 2.0. One of the most significant changes is that NengoDL has been reworked in many ways to integrate more easily with Keras (which is the new standard in TensorFlow 2.0).

  • Reworked the Simulator.train/loss API into Simulator.compile/fit/evaluate, to align with the Keras Model API.
  • Added a new tool for automatically converting Keras models to native Nengo networks.
  • Changed nengo_dl.tensor_layer to nengo_dl.Layer, which aligns with the Keras functional layer API.

There are a ton of other changes, both user facing and under the hood. See the changelog for all the details, or the migration guide for help upgrading old code to NengoDL 3.0. And all the documentation has been updated, so check out the examples if you would like to see these changes in action.

There’s also a new tips and tricks page, and a new example showing state of the art performance on a complicated RNN task using Legendre Memory Units in NengoDL.

As always with a major release like this, it’s possible (or probable) that there will be some issues we haven’t caught in our testing. Let us know if you run into any issues, and we will get them fixed as fast as we can!

How do I get it?

To install NengoDL, we recommend using pip:

pip install nengo-dl

More detailed installation instructions can be found here.

Where can I learn more?

Where can I get help?

You’re already there! If you have an issue upgrading or have any other questions, please post them in this forum.