Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nengo/nengo-dl
Deep learning integration for Nengo
https://github.com/nengo/nengo-dl
deep-learning nengo neural-networks neuroscience python spiking-neural-networks tensorflow
Last synced: 2 days ago
JSON representation
Deep learning integration for Nengo
- Host: GitHub
- URL: https://github.com/nengo/nengo-dl
- Owner: nengo
- License: other
- Created: 2016-05-09T19:34:52.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2024-07-17T11:14:49.000Z (6 months ago)
- Last Synced: 2025-01-06T16:11:08.280Z (9 days ago)
- Topics: deep-learning, nengo, neural-networks, neuroscience, python, spiking-neural-networks, tensorflow
- Language: Python
- Homepage: https://www.nengo.ai/nengo-dl
- Size: 75.9 MB
- Stars: 89
- Watchers: 17
- Forks: 22
- Open Issues: 31
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE.rst
Awesome Lists containing this project
README
.. image:: https://img.shields.io/pypi/v/nengo-dl.svg
:target: https://pypi.org/project/nengo-dl
:alt: Latest PyPI version.. image:: https://img.shields.io/pypi/pyversions/nengo-dl.svg
:target: https://pypi.org/project/nengo-dl
:alt: Python versions|
.. image:: https://www.nengo.ai/design/_images/nengo-dl-full-light.svg
:target: https://www.nengo.ai/nengo-dl
:alt: NengoDL
:width: 400px***********************************
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:
.. code-block:: python
import nengo
import nengo_dl
import numpy as npwith 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 (using the Keras API)
- faster simulation speed, on both CPU and GPU
- automatic conversion from Keras models to Nengo networks
- inserting TensorFlow code (individual functions or whole
network architectures) directly into a Nengo modelIf you are interested in NengoDL you may also be interested in
`KerasSpiking `_, a
companion project to NengoDL that has a more minimal feature set but integrates
even more transparently with the Keras API. See
`this page `_ for a more
detailed comparison between the two projects.**Documentation**
Check out the `documentation `_ for
- `Installation instructions
`_
- `Details on the unique features of NengoDL
`_
- `Tutorial for new users with a TensorFlow background
`_
- `Tutorial for new users with a Nengo background
`_
- `More in-depth examples `_
- `API reference `_