This section details the modules, classes, and functions available in NengoDL. It is divided into two sections. The first section describes the objects relevant to :ref:`NengoDL users <user-api>`. More information on these objects can also be found in the :doc:`user-guide`. The second section describes objects that only :ref:`NengoDL developers <developer-api>` need to worry about.
These objects are the main access points for the user-facing features of NengoDL.
.. automodule:: nengo_dl.simulator :no-members: .. autoautosummary:: nengo_dl.Simulator :nosignatures: nengo_dl.Simulator .. autosummary:: :nosignatures: nengo_dl.simulator.SimulationData .. autoclass:: nengo_dl.Simulator :exclude-members: unsupported, dt .. autoclass:: nengo_dl.simulator.SimulationData :special-members: :exclude-members: __init__, __weakref__
.. automodule:: nengo_dl.tensor_node :no-members: .. autosummary:: :nosignatures: nengo_dl.TensorNode nengo_dl.Layer .. autoclass:: nengo_dl.TensorNode .. autoclass:: nengo_dl.Layer :special-members: :exclude-members: __init__, __weakref__
nengo_dl.Converter can be used to automatically convert a Keras model to a native Nengo Network. This can be useful if, for example, you want to run a model in different Nengo Simulator backends (which will only support the core Nengo objects).
See the documentation for more details.
.. autosummary:: :nosignatures: nengo_dl.Converter
.. autoclass:: nengo_dl.Converter
.. automodule:: nengo_dl.config .. autoautosummary:: nengo_dl.config :nosignatures:
.. automodule:: nengo_dl.neurons .. autoautosummary:: nengo_dl.neurons :nosignatures:
.. automodule:: nengo_dl.dists .. autoautosummary:: nengo_dl.dists :nosignatures:
.. automodule:: nengo_dl.losses .. autoautosummary:: nengo_dl.losses :nosignatures:
.. automodule:: nengo_dl.callbacks .. autoautosummary:: nengo_dl.callbacks :nosignatures:
These objects are only relevant to people interested in modifying the implementation of NengoDL (e.g., adding a new neuron type).
.. automodule:: nengo_dl.builder .. autoautosummary:: nengo_dl.builder :nosignatures:
These objects are used to convert Nengo operators into TensorFlow graph elements.
.. automodule:: nengo_dl.op_builders .. autoautosummary:: nengo_dl.op_builders :nosignatures:
.. automodule:: nengo_dl.neuron_builders .. autoautosummary:: nengo_dl.neuron_builders :nosignatures:
.. automodule:: nengo_dl.learning_rule_builders .. autoautosummary:: nengo_dl.learning_rule_builders :nosignatures:
.. automodule:: nengo_dl.process_builders .. autoautosummary:: nengo_dl.process_builders :nosignatures:
.. automodule:: nengo_dl.transform_builders .. autoautosummary:: nengo_dl.transform_builders :nosignatures:
To build .TensorNode objects we need to define a new Nengo operator (.tensor_node.SimTensorNode), a build function that adds that operator into a Nengo graph (.tensor_node.build_tensor_node), and a NengoDL build class that maps that new Nengo operator to TensorFlow operations (.tensor_node.SimTensorNodeBuilder).
.. autosummary:: :nosignatures: nengo_dl.tensor_node.SimTensorNode nengo_dl.tensor_node.build_tensor_node nengo_dl.tensor_node.SimTensorNodeBuilder
.. autoclass:: nengo_dl.tensor_node.SimTensorNode
.. autofunction:: nengo_dl.tensor_node.build_tensor_node
.. autoclass:: nengo_dl.tensor_node.SimTensorNodeBuilder
.. automodule:: nengo_dl.tensor_graph .. autoautosummary:: nengo_dl.tensor_graph :nosignatures:
.. automodule:: nengo_dl.signals :exclude-members: TensorSignal .. autoautosummary:: nengo_dl.signals :nosignatures: .. autoclass:: nengo_dl.signals.TensorSignal :special-members: __getitem__
.. automodule:: nengo_dl.graph_optimizer .. autoautosummary:: nengo_dl.graph_optimizer :nosignatures:
.. automodule:: nengo_dl.converter :exclude-members: Converter .. autoautosummary:: nengo_dl.converter :nosignatures: :exclude-members: Converter
.. automodule:: nengo_dl.utils :exclude-members: MessageBar .. autoautosummary:: nengo_dl.utils :nosignatures: :exclude-members: MessageBar
.. automodule:: nengo_dl.benchmarks .. autoautosummary:: nengo_dl.benchmarks :nosignatures:
The benchmark module also includes a command-line interface for building and running the benchmarks:
.. click:: nengo_dl.benchmarks:main :prog: benchmarks :show-nested: