Deep learning integration for Nengo
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci
docs
nengo_dl
.appveyor.yml
.codecov.yml
.gitignore
.travis.yml Disable cache in deploy build Jan 12, 2019
CHANGES.rst
CONTRIBUTING.rst
LICENSE.rst Fix tutorial link Jan 11, 2019
MANIFEST.in
README.rst
conftest.py Centralize tensorflow-gpu installation check Jan 7, 2019
setup.cfg Updates for pylint 2.2 Nov 26, 2018
setup.py Add click to doc requirements Jan 9, 2019

README.rst

Latest PyPI version Travis-CI build status AppVeyor build status Test coverage

NengoDL

Deep learning integration for Nengo

NengoDL is a simulator for Nengo models. That means it takes a Nengo network as input, and allows the user to simulate that network using some underlying computational framework (in this case, TensorFlow).

In practice, what that means is that the code for constructing a Nengo model is exactly the same as it would be for the standard Nengo simulator. All that changes is that we use a different Simulator class to execute the model.

For example:

import nengo
import nengo_dl
import numpy as np

with nengo.Network() as net:
    inp = nengo.Node(output=np.sin)
    ens = nengo.Ensemble(50, 1, neuron_type=nengo.LIF())
    nengo.Connection(inp, ens, synapse=0.1)
    p = nengo.Probe(ens)

with nengo_dl.Simulator(net) as sim: # this is the only line that changes
    sim.run(1.0)

print(sim.data[p])

However, NengoDL is not simply a duplicate of the Nengo simulator. It also adds a number of unique features, such as:

  • optimizing the parameters of a model through deep learning training methods
  • faster simulation speed, on both CPU and GPU
  • inserting networks defined using TensorFlow (such as convolutional neural networks) directly into a Nengo model

Documentation

Check out the documentation for