The NengoDL API can be thought of as a combination of two high level frameworks:
Keras. We can define a
network using the
standard Nengo API, such as
nengo.Connection. This is augmented
nengo_dl.TensorNode, which allow us to add standard TensorFlow
components, such as Keras Layers, to the Nengo network.
Then we can simulate that network using
nengo_dl.Simulator, which supports
both the standard Nengo Simulator syntax for running a model as well as the Keras
In this documentation we try not to duplicate information from those two base frameworks. If you are wondering how to access some functionality in Nengo or Keras, you should begin by looking up how that thing is done in the base framework. Chances are, it works the same way in NengoDL! Here we will focus on the new features introduced by NengoDL on top of those APIs, along with some practical discussion of how or when to use those features.
There are two classes that users may need to interact with in order
to access the features of NengoDL:
TensorNode. The former is the main access point for
NengoDL, allowing the user to simulate models, or optimize parameters via
TensorNode is used for
inserting TensorFlow code into a Nengo model.