{
"info": {
"author": "Applied Brain Research",
"author_email": "info@appliedbrainresearch.com",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Framework :: Nengo",
"Intended Audience :: Science/Research",
"License :: Free for non-commercial use",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Artificial Intelligence"
],
"description": ".. image:: https://img.shields.io/pypi/v/nengo-dl.svg\n :target: https://pypi.org/project/nengo-dl\n :alt: Latest PyPI version\n\n.. image:: https://img.shields.io/travis/nengo/nengo-dl/master.svg\n :target: https://travis-ci.org/nengo/nengo-dl\n :alt: Travis-CI build status\n\n.. image:: https://ci.appveyor.com/api/projects/status/github/nengo/nengo-dl?branch=master&svg=true\n :target: https://ci.appveyor.com/project/nengo/nengo-dl\n :alt: AppVeyor build status\n\n.. image:: https://img.shields.io/codecov/c/github/nengo/nengo-dl/master.svg\n :target: https://codecov.io/gh/nengo/nengo-dl\n :alt: Test coverage\n\n|\n\n.. image:: https://www.nengo.ai/design/_images/nengo-dl-full-light.svg\n :target: https://www.nengo.ai/nengo-dl\n :alt: NengoDL\n :width: 400px\n\n***********************************\nDeep learning integration for Nengo\n***********************************\n\nNengoDL is a simulator for `Nengo `_ models.\nThat means it takes a Nengo network as input, and allows the user to simulate\nthat network using some underlying computational framework (in this case,\n`TensorFlow `_).\n\nIn practice, what that means is that the code for constructing a Nengo model\nis exactly the same as it would be for the standard Nengo simulator. All that\nchanges is that we use a different Simulator class to execute the\nmodel.\n\nFor example:\n\n.. code-block:: python\n\n import nengo\n import nengo_dl\n import numpy as np\n\n with nengo.Network() as net:\n inp = nengo.Node(output=np.sin)\n ens = nengo.Ensemble(50, 1, neuron_type=nengo.LIF())\n nengo.Connection(inp, ens, synapse=0.1)\n p = nengo.Probe(ens)\n\n with nengo_dl.Simulator(net) as sim: # this is the only line that changes\n sim.run(1.0)\n\n print(sim.data[p])\n\nHowever, NengoDL is not simply a duplicate of the Nengo simulator. It also\nadds a number of unique features, such as:\n\n- optimizing the parameters of a model through deep learning\n training methods\n- faster simulation speed, on both CPU and GPU\n- inserting networks defined using TensorFlow (such as\n convolutional neural networks) directly into a Nengo model\n\n**Documentation**\n\nCheck out the `documentation `_ for\n\n- `Installation instructions\n `_\n- `Details on the unique features of NengoDL\n `_\n- `Tutorial for new users with a TensorFlow background\n `_\n- `Tutorial for new users with a Nengo background\n `_\n- `More in-depth examples `_\n- `API reference `_\n\n***************\nRelease History\n***************\n\n.. Changelog entries should follow this format:\n\n version (release date)\n ----------------------\n\n **section**\n\n - One-line description of change (link to GitHub issue/PR)\n\n.. Changes should be organized in one of several sections:\n\n - Added\n - Changed\n - Fixed\n - Deprecated\n - Removed\n\n2.2.1 (October 2, 2019)\n=======================\n\n**Changed**\n\n- Update testing framework to use new nengo pytest ecosystem (``pytest-rng``,\n ``pytest-allclose``, and ``pytest-nengo``)\n- Disable TensorFlow 2.0 behaviour (e.g. control flow v2) by default. This will be\n re-enabled when full TensorFlow 2.0 support is added.\n\n**Fixed**\n\n- Fixed ``tensorflow-gpu`` installation check in pep517-style isolated build\n environments.\n\n2.2.0 (July 24, 2019)\n=====================\n\n**Added**\n\n- Added a\n `new example `_\n demonstrating how to integrate a Keras model with NengoDL (thanks to new\n contributor `@NickleDave `_).\n- Added support for TensorFlow 2.0 (pre-release).\n- Added support for sparse transforms\n (see https://github.com/nengo/nengo/pull/1532).\n- Added support for stateful Processes\n (see https://github.com/nengo/nengo/pull/1387).\n\n**Changed**\n\n- The default session will now be set to the NengoDL session before calling\n TensorNodes' ``post_build`` function.\n- Renamed the pytest ``unroll_simulation`` argument to ``unroll-simulation``.\n- Switched to nengo-bones templating system for TravisCI config/scripts.\n- NengoDL will disable eager execution on import (and will probably not\n work properly if it is manually re-enabled).\n- Increased minimum numpy version to 1.14.5 (required by TensorFlow 1.14).\n- Minimum Nengo version is now 2.8.0.\n- Update LinearFilter synapse implementation to match recent changes in\n Nengo core (see https://github.com/nengo/nengo/pull/1535).\n\n**Fixed**\n\n- Fixed TensorFlow seeding so that randomness can be reliably controlled by\n setting the Simulator seed.\n- Improved robustness of ``tensorflow-gpu`` installation check (in particular,\n it will now correctly detect GPU dists installed through ``conda``).\n- Fixed inspection of ``TensorNode.tensor_func`` arguments for partial\n functions.\n- Simulator seed will now be deterministic for a given top-level Network seed.\n- Raise a more informative error if user attempts to pickle a Simulator\n (this is not possible to do with TensorFlow sessions; see\n `the documentation `__\n for other methods of saving/loading a NengoDL model).\n\n**Removed**\n\n- NengoDL no longer supports Python 3.4 (official support for 3.4 ended in\n March 2019).\n\n\n2.1.1 (January 11, 2019)\n========================\n\n**Added**\n\n- Added ``nengo_dl.obj`` as a shortcut alias for ``nengo_dl.objectives``.\n- Added tutorial for `Nengo users coming to NengoDL\n `_\n- Added tutorial for `TensorFlow users coming to NengoDL\n `_\n\n**Changed**\n\n- Increased minimum ``progressbar2`` version to 3.39.0.\n- We now only provide ``sdist`` releases, not ``bdist_wheel``. Due to the way\n the TensorFlow packages are organized, ``bdist_wheel`` forces any existing\n TensorFlow installations (e.g. ``tensorflow-gpu`` or ``tf-nightly``)\n to be overwritten by ``tensorflow``, which we don't want to do.\n\n**Removed**\n\n- Removed the ``nef-init`` tutorial (replaced by the new ``from-nengo``\n tutorial).\n\n2.1.0 (December 5, 2018)\n========================\n\n**Added**\n\n- Added a built-in objective to assist in applying regularization during\n training.\n- Added `keep_history config option\n `_, which can be set\n to ``False`` on Probes if only the data from the most recent simulation step\n is desired (as opposed to the default behaviour of keeping the data from\n all steps).\n\n**Changed**\n\n- Moved ``utils.mse`` to ``objectives.mse``.\n- ``sim.loss`` will now apply ``nengo_dl.objectives.mse`` to all probes in\n ``data`` if no explicit ``objective`` is given (mirroring the default\n behaviour in ``sim.train``).\n- The Spaun benchmark network will now be installed through pip rather than\n manually cloning and importing the repo.\n\n**Fixed**\n\n- Fixed objective argument parsing if objective is a callable class or method.\n- Fixed bug in ``sim.train`` 1-step synapse warning when explicitly specifying\n ``n_steps`` (rather than passing in ``data``).\n\n**Deprecated**\n\n- Passing ``\"mse\"`` as the objective in ``sim.train``/``sim.loss`` is no longer\n supported. Use the function ``nengo_dl.objectives.mse`` instead.\n\n2.0.0 (November 23, 2018)\n=========================\n\n**Breaking API changes**\n\n- ``sim.train`` and ``sim.loss`` now accept a single ``data`` argument, which\n combines the previous ``inputs`` and ``targets`` arguments. For example,\n\n .. code-block:: python\n\n sim.train({my_node: x}, {my_probe: y}, ...)\n\n is now equivalent to\n\n .. code-block:: python\n\n sim.train({my_node: x, my_probe: y}, ...)\n\n The motivation for this change is that not all objective functions require\n target values. Switching to the more generic ``data`` argument simplifies\n the API and makes it more flexible, allowing users to specify whatever\n training/loss data is actually required.\n- The ``objective`` argument in ``sim.train``/``sim.loss`` is now always\n specified as a dictionary mapping probes to objective functions. Note that\n this was available but optional previously; it was also possible to pass\n a single value for the objective function, which would be applied to all\n probes in ``targets``. The latter is no longer supported. For example,\n\n .. code-block:: python\n\n sim.train(..., objective=\"mse\")\n\n must now be explicitly specified as\n\n .. code-block:: python\n\n sim.train(..., objective={my_probe: \"mse\"})\n\n The motivation for this change is that, especially with the other new\n features introduced in the 2.0 update, there were a lot of different ways to\n specify the ``objective`` argument. This made it somewhat unclear how\n exactly this argument worked, and the automatic \"broadcasting\" was also\n ambiguous (e.g., should the single objective be applied to each probe\n individually, or to all of them together?). Making the argument explicit\n helps clarify the mental model.\n\n**Added**\n\n- An integer number of steps can now be passed for the\n ``sim.loss``/``sim.train`` data argument, if no input/target data is\n required.\n- The ``objective`` dict in ``sim.train``/``sim.loss`` can now contain\n tuples of probes as the keys, in which case the objective function will be \n called with a corresponding tuple of probe/target values as each argument.\n- Added the ``sim.run_batch`` function. This exposes all the functionality\n that the ``sim.run``/``sim.train``/``sim.loss`` functions are based on,\n allowing advanced users full control over how to run a NengoDL simulation.\n- Added option to disable progress bar in ``sim.train`` and ``sim.loss``.\n- Added ``training`` argument to ``sim.loss`` to control whether the loss\n is evaluated in training or inference mode.\n- Added support for the new Nengo ``Transform`` API (see\n https://github.com/nengo/nengo/pull/1481).\n\n**Changed**\n\n- Custom objective functions passed to ``sim.train``/``sim.loss`` can now\n accept a single argument (``my_objective(outputs): ...`` instead of\n ``my_objective(outputs, targets): ...``) if no target values are required.\n- ``utils.minibatch_generator`` now accepts a single ``data`` argument rather\n than ``inputs`` and ``targets`` (see discussion in \"Breaking API changes\").\n- ``sim.training_step`` is now the same as\n ``tf.train.get_or_create_global_step()``.\n- Switched documentation to new\n `nengo-sphinx-theme `_.\n- Reorganized documentation into \"User guide\" and \"API reference\" sections.\n- Improve build speed of models with large constants\n (`#69 `_)\n- Moved op-specific merge logic into the ``OpBuilder`` classes.\n\n**Fixed**\n\n- Ensure that training step is always updated before TensorBoard events are\n added (previously it could update before or after depending on the platform).\n\n**Deprecated**\n\n- The ``sim.run`` ``input_feeds`` argument has been renamed to ``data`` (for\n consistency with other simulator functions).\n\n**Removed**\n\n- NengoDL no longer supports Python 2 (see https://python3statement.org/ for\n more information)\n\n1.2.1 (November 2, 2018)\n========================\n\n**Added**\n\n- Added a warning if users run one-timestep training with a network containing\n synaptic filters.\n\n**Changed**\n\n- Test Simulator parameters are now controlled through pytest arguments,\n rather than environment variables.\n- Disable INFO-level TensorFlow logging (from C side) on import. Added a\n NengoDL log message indicating the device the simulation will run on, as\n a more concise replacement.\n- Boolean signals are now supported\n (`#61 `_)\n\n**Fixed**\n\n- Avoid backpropagating NaN gradients from spiking neurons.\n- Fixed an error that was thrown when calling ``get_tensor`` on a ``Signal``\n that was first initialized inside the Simulation while loop\n (`#56 `_)\n- Allow TensorNodes to run in Nengo GUI.\n- Avoid bug in TensorFlow 1.11.0 that prevents certain models from\n running (see https://github.com/tensorflow/tensorflow/issues/23383). Note\n that this doesn't prevent this from occurring in user models, as we cannot\n control the model structure there. If your model hangs indefinitely when\n you call ``sim.train``, try downgrading to TensorFlow 1.10.0.\n- Ensure that ``sim.training_step`` is always updated after the optimization\n step (in certain race conditions it would sometimes update part-way through\n the optimization step).\n\n1.2.0 (September 5, 2018)\n=========================\n\n**Added**\n\n- NengoDL will now automatically use a rate-based approximation to compute the\n gradient for spiking neuron types, if one is known (no more need to manually\n swap neuron types for training and inference).\n- Added ``nengo_dl.configure_settings(inference_only=True)`` option, which will\n build the network in inference-only mode. This will slightly improve the\n inference speed of the simulation, but the network will not be trainable.\n- Added ``nengo_dl.configure_settings(lif_smoothing=x)`` option, which will\n control how much smoothing is applied to the LIF function during gradient\n calculations (if any).\n- Added `documentation `__ on the\n various NengoDL config options.\n- Added better validation for TensorNode output when ``size_out != None``\n (`#51 `_)\n\n**Changed**\n\n- More informative error message if the user tries to pass target values for\n a probe that isn't used in the objective function.\n- Switched to ADD_N gradient accumulation (from TREE); this will increase\n the memory usage during training, but improve performance.\n- Revert to ``Timeline`` profiling method. ``tf.profiler`` can produce\n incorrect output, and isn't maintained any more\n (https://github.com/tensorflow/tensorflow/issues/15214#issuecomment-382442357)\n- Reduce memory usage during training by caching temporary variables used\n when computing ``ScatterUpdate`` gradient.\n- Increase minimum TensorFlow version to 1.4.0.\n- Increased minimum NumPy version to 1.12.1 (required by TensorFlow)\n- Sort write signals as well as reads during graph optimization (encourages\n tighter partitioning, which can improve training/inference speed).\n- Moved ``configure_settings`` from ``utils.py`` to ``config.py``.\n\n**Fixed**\n\n- Fixed a bug where\n ``nengo_dl.dists.VarianceScaling(..., distribution=\"normal\")`` did not\n respect the seed if one was given.\n\n**Deprecated**\n\n- The ``Simulator(dtype=...)`` argument has been deprecated; use\n ``nengo_dl.configure_settings(dtype=...)`` instead. Will be removed in\n 1.3.0.\n\n1.1.0 (July 24, 2018)\n=====================\n\n**Added**\n\n- The default TensorFlow Session is now set to the underlying Simulator session\n within the Simulator context.\n- Added CLI for benchmarks.py\n- Added ``sim.freeze_params`` tool, to more easily extract model parameters for\n reuse in different Simulators.\n- Added `documentation on saving and loading model parameters\n `_.\n- Added `Spaun `_\n example in ``benchmarks.py``\n\n**Changed**\n\n- Move ``tensorflow-gpu`` installation check to Simulator init, and only apply\n if ``device=None``.\n- Switched to ``pylint`` for style checks.\n- TensorFlow INFO-level log messages are now disabled by default on import\n- All previous releases now tracked in documentation\n- Updated spiking MNIST example to simplify and improve performance.\n- Passing unknown configuration options to ``nengo_dl.configure_settings``\n will now give a more explicit error message.\n- Improved speed of parameter fetching though ``get_nengo_params``\n- Raise a warning if user tries to train a network with non-differentiable\n elements (requires ``tensorflow>=1.9.0``)\n- Improved accuracy of ``SoftLIFRate`` implementation for small values (`#45\n `_)\n- Simplified how ``TensorSignals`` are loaded into the TensorFlow graph\n\n**Fixed**\n\n- Better handling of Simulator errors not associated with a specific op (fixes\n `#41 `_)\n- Fixed node outputs changing after simulator is built (fixes `#4\n `__)\n- Fixed some broken cross references in the documentation\n- Fixed several edge cases for ``get_nengo_params``; don't use trained gains\n for direct neuron connections, error raised if ``get_nengo_params`` applied\n to an Ensemble with Direct neurons\n- Compatible with ``tensorflow==1.9.0`` release\n- Fixed bug in ``nengo_dl.configure_settings(session_config=...)`` when passing\n a pre-build model to the Simulator instead of a Network\n- Fixed TensorFlow version comparisons for 1.10.0\n\n**Deprecated**\n\n- ``Simulator.trange`` argument ``dt`` has been deprecated (replaced with\n ``sample_every``, see https://github.com/nengo/nengo/pull/1384)\n\n**Removed**\n\n- Removed ``nengo_dl.DATA_DIR`` constant\n- Removed ``benchmarks.compare_backends`` (use\n ``whitepaper2018_plots.py:compare_backends`` instead)\n- Removed ``ghp-import`` dependency\n\n\n1.0.0 (May 30, 2018)\n====================\n\n**Added**\n\n- User can now directly specify the output error gradient, rather than using\n targets/objective (useful for when you have some external process for\n computing error that is not easy to implement as an objective function).\n See `the documentation\n `__ for details.\n- Added `NengoDL white paper `_\n\n**Changed**\n\n- Extra requirements for documentation/testing are now stored in ``setup.py``'s\n ``extra_requires`` instead of ``requirements-*.txt``. For example, instead\n of doing ``pip install -r requirements-test.txt``, instead use\n ``pip install nengo-dl[tests]`` (or ``pip install -e .[tests]`` for a\n developer installation).\n- Improved efficiency of PES implementation\n\n**Removed**\n\n- Removed ``sphinxcontrib-versioning`` dependency for building documentation\n\n0.6.2 (May 4, 2018)\n===================\n\n**Added**\n\n- Added ``sim.get_nengo_params`` function to more easily extract\n model parameters for reuse when building different models.\n- Added ``Simulator(..., progress_bar=False)`` option to disable the progress\n information printed to console when the network is building.\n- TensorFlow session config options can now be set using\n ``nengo_dl.configure_settings`` (e.g.,\n ``nengo_dl.configure_settings(session_config={\"gpu_options.allow_growth\": True})``)\n- The signal sorting/graph simplificaton functions can now be configured\n through ``nengo_dl.configure_settings``\n- Added ``extra_feeds`` parameter to ``sim.run/train/loss``, which can be\n used to feed Tensor values directly into the TensorFlow session\n\n**Changed**\n\n- Improved speed of PES implementation by adding a custom operator.\n- Renamed project from ``nengo_dl`` to ``nengo-dl`` (to be more consistent with\n standard conventions). This only affects the display name of the project\n on PyPI/GitHub, and the documentation now resides at\n https://www.nengo.ai/nengo-dl/; there are no functional changes to user code.\n- Minor efficiency improvements to graph planner\n- Avoid using ``tf.constant``, to get around TensorFlow's 2GB limit on graph\n size when building large models\n\n**Fixed**\n\n- Checking ``nengo_dl`` version without ``nengo`` installed will no longer\n result in an error.\n- Updated progress bar to work with ``progressbar2>=3.37.0``\n- Updated PES implementation to work with generic synapse types\n (see https://github.com/nengo/nengo/pull/1095)\n- Fixed installation to work with ``pip>=10.0``\n- Fixed bug when using a TensorNode with a ``pre_build`` function and\n ``size_in==0``\n\n0.6.1 (March 7, 2018)\n=====================\n\n**Added**\n\n- Added TensorFlow implementation for ``nengo.SpikingRectifiedLinear`` neuron\n type.\n\n**Changed**\n\n- Optimizer variables (e.g., momentum values) will only be initialized the\n first time that optimizer is passed to ``sim.train``. Subsequent calls to\n ``sim.train`` will resume with the values from the previous call.\n- Low-level simulation input/output formats have been reworked to make them\n slightly easier to use (for users who want to bypass ``sim.run`` or\n ``sim.train`` and access the TensorFlow session directly).\n- Batch dimension will always be first (if present) when checking model\n parameters via ``sim.data``.\n- TensorFlow ops created within the Simulator context will now default to\n the same device as the Simulator.\n- Update minimum Nengo version to 2.7.0\n\n**Fixed**\n\n- Better error message if training data has incorrect rank\n- Avoid reinstalling TensorFlow if one of the nightly build packages is already\n installed\n- Lowpass synapse can now be applied to multidimensional inputs\n- TensorNodes will no longer be built into the default graph when checking\n their output dimensionality.\n\n**Removed**\n\n- Removed ``utils.cast_dtype`` function\n\n0.6.0 (December 13, 2017)\n=========================\n\n**Added**\n\n- The ``SoftLIFRate`` neuron type now has an ``amplitude`` parameter, which\n scales the output in the same way as the new ``amplitude`` parameter in\n ``LIF``/``LIFRate`` (see `Nengo PR #1325\n `_).\n- Added ``progress_bar=False`` option to ``sim.run``, which will disable the\n information about the simulation status printed to standard output (`#17\n `_).\n- Added progress bars for the build/simulation process.\n- Added truncated backpropagation option to ``sim.train`` (useful for reducing\n memory usage during training). See `the documentation for details\n `__.\n\n**Changed**\n\n- Changed the default ``tensorboard`` argument in ``Simulator`` from ``False``\n to ``None``\n- Use the new `tf.profiler\n `_\n tool to collect profiling data in ``sim.run_steps`` and ``sim.train`` when\n ``profile=True``.\n- Minor improvements to efficiency of build process.\n- Minor improvements to simulation efficiency targeting small ops\n (``tf.reshape/identity/constant``).\n- Process inputs are now reseeded for each input when batch processing (if seed\n is not manually set).\n- Users can pass a dict of config options for the ``profile`` argument in\n ``run_steps``/``train``, which will be passed on to the TensorFlow\n profiler; see the ``tf.profiler`` documentation for the `available options\n `_.\n\n**Removed**\n\n- Removed ``backports.print_function`` dependency\n\n**Fixed**\n\n- Fixed a bug where input nodes that were only read as a view were not\n feedable\n- Updated ``tensorflow-gpu`` installation check\n- Improved numerical stability of ``LIFRate`` gradients (`#26 \n `_)\n- Added more informative error message when data is provided with fewer items\n than ``sim.minibatch_size`` (`#30 `_)\n\n0.5.2 (October 11, 2017)\n========================\n\n**Added**\n\n- TensorNode outputs can now define a ``post_build`` function that will be\n executed after the simulation is initialized (see the `TensorNode\n documentation for details\n `_).\n- Added functionality for outputting summary data during the training process\n that can be viewed in TensorBoard (see the `sim.train documentation\n `__).\n- Added some examples demonstrating how to use Nengo DL in a more complicated\n task using semantic pointers to encode/retrieve information\n- Added ``sim.training_step`` variable which will track the current training\n iteration (can be used, e.g., for TensorFlow's variable learning rate\n operations).\n- Users can manually create ``tf.summary`` ops and pass them to ``sim.train``\n summaries\n- The Simulator context will now also set the default TensorFlow graph to the\n one associated with the Simulator (so any TensorFlow ops created within the\n Simulator context will automatically be added to the correct graph)\n- Users can now specify a different objective for each output probe during\n training/loss calculation (see the `sim.train documentation\n `__).\n\n**Changed**\n\n- Resetting the simulator now only rebuilds the necessary components in the\n graph (as opposed to rebuilding the whole graph)\n- The default ``\"mse\"`` loss implementation will now automatically convert\n ``np.nan`` values in the target to zero error\n- If there are multiple target probes given to ``sim.train``/``sim.loss`` the\n total error will now be summed across probes (instead of averaged)\n\n**Fixed**\n\n- ``sim.data`` now implements the full ``collections.Mapping`` interface\n- Fixed bug where signal order was non-deterministic for Networks containing\n objects with duplicate names\n (`#9 `_)\n- Fixed bug where non-slot optimizer variables were not initialized\n (`#11 `_)\n- Implemented a modified PES builder in order to avoid slicing encoders on\n non-decoded PES connections\n- TensorBoard output directory will be automatically created if it doesn't\n exist\n\n0.5.1 (August 28, 2017)\n=======================\n\n**Changed**\n\n- ``sim.data[obj]`` will now return live parameter values from the simulation,\n rather than initial values from the build process. That means that it can\n be used to get the values of object parameters after training, e.g.\n ``sim.data[my_conn].weights``.\n- Increased minimum Nengo version to 2.5.0.\n- Increased minimum TensorFlow version to 1.3.0.\n\n0.5.0 (July 11, 2017)\n=====================\n\n**Added**\n\n- Added ``nengo_dl.tensor_layer`` to help with the construction of\n layer-style TensorNodes (see the `TensorNode documentation\n `_)\n- Added an example demonstrating `how to train a neural network\n that can run in spiking neurons\n `_\n- Added some distributions for weight initialization to ``nengo_dl.dists``\n- Added ``sim.train(..., profile=True)`` option to collect profiling\n information during training\n- Added new methods to simplify the Nengo operation graph, resulting in faster\n simulation/training speed\n- The default graph planner can now be modified by setting the ``planner``\n attribute on the top-level Network config\n- Added TensorFlow implementation for general linear synapses\n- Added ``backports.tempfile`` and ``backports.print_function`` requirement for\n Python 2.7 systems\n\n**Changed**\n\n- Increased minimum TensorFlow version to 1.2.0\n- Improved error checking for input/target data\n- Improved efficiency of stateful gradient operations, resulting in faster\n training speed\n- The functionality for ``nengo_dl.configure_trainable`` has been subsumed into\n the more general ``nengo_dl.configure_settings(trainable=x)``. This has\n resulted in some small changes to how trainability is controlled within\n subnetworks; see the `updated documentation\n `_\n for details.\n- Calling ``Simulator.train``/``Simulator.loss`` no longer resets the internal\n state of the simulation (so they can be safely intermixed with calls to\n ``Simulator.run``)\n\n**Deprecated**\n\n- The old ``step_blocks``/``unroll_simulation`` syntax has been fully\n deprecated, and will result in errors if used\n\n**Fixed**\n\n- Fixed bug related to changing the output of a Node after the model is\n constructed (`#4 `_)\n- Order of variable creation is now deterministic (helps make saving/loading\n parameters more reliable)\n- Configuring whether or not a model element is trainable does not affect\n whether or not that element is minibatched\n- Correctly reuse variables created inside a TensorNode when\n ``unroll_simulation`` > 1\n- Correctly handle probes that aren't connected to any ops\n- Swapped ``fan_in``/``fan_out`` in ``dists.VarianceScaling`` to align with\n the standard definitions\n- Temporary patch to fix memory leak in TensorFlow (see\n `#11273 `_)\n- Fixed bug related to nodes that had matching output functions but different\n size_out\n- Fixed bug related to probes that do not contain any data yet\n\n0.4.0 (June 8, 2017)\n====================\n\n**Added**\n\n- Added ability to manually specify which parts of a model are trainable\n (see the `sim.train documentation\n `_)\n- Added some code examples (see the ``docs/examples`` directory, or the\n `pre-built examples in the documentation\n `_)\n- Added the SoftLIFRate neuron type for training LIF networks (based on\n `this paper `_)\n\n**Changed**\n\n- Updated TensorFuncParam to new Nengo Param syntax\n- The interface for Simulator ``step_blocks``/``unroll_simulation`` has been\n changed. Now ``unroll_simulation`` takes an integer as argument which is\n equivalent to the old ``step_blocks`` value, and ``unroll_simulation=1`` is\n equivalent to the old ``unroll_simulation=False``. For example,\n ``Simulator(..., unroll_simulation=True, step_blocks=10)`` is now equivalent\n to ``Simulator(..., unroll_simulation=10)``.\n- Simulator.train/Simulator.loss no longer require ``step_blocks`` (or the new\n ``unroll_simulation``) to be specified; the number of steps to train across\n will now be inferred from the input data.\n\n\n0.3.1 (May 12, 2017)\n====================\n\n**Added**\n\n- Added more documentation on Simulator arguments\n\n**Changed**\n\n- Improved efficiency of tree_planner, made it the new default planner\n\n**Fixed**\n\n- Correctly handle input feeds when n_steps > step_blocks\n- Detect cycles in transitive planner\n- Fix bug in uneven step_blocks rounding\n- Fix bug in Simulator.print_params\n- Fix bug related to merging of learning rule with different dimensionality\n- Use tf.Session instead of tf.InteractiveSession, to avoid strange side\n effects if the simulator isn't closed properly\n\n\n0.3.0 (April 25, 2017)\n======================\n\n**Added**\n\n- Use logger for debug/builder output\n- Implemented TensorFlow gradients for sparse Variable update Ops, to allow\n models with those elements to be trained\n- Added tutorial/examples on using ``Simulator.train``\n- Added support for training models when ``unroll_simulation=False``\n- Compatibility changes for Nengo 2.4.0\n- Added a new graph planner algorithm, which can improve simulation speed at\n the cost of build time\n\n**Changed**\n\n- Significant improvements to simulation speed\n\n - Use sparse Variable updates for signals.scatter/gather\n - Improved graph optimizer memory organization\n - Implemented sparse matrix multiplication op, to allow more aggressive\n merging of DotInc operators\n\n- Significant improvements to build speed\n\n - Added early termination to graph optimization\n - Algorithmic improvements to graph optimization functions\n\n- Reorganized documentation to more clearly direct new users to relevant\n material\n\n**Fixed**\n\n- Fix bug where passing a built model to the Simulator more than once would\n result in an error\n- Cache result of calls to ``tensor_graph.build_loss/build_optimizer``, so that\n we don't unnecessarily create duplicate elements in the graph on repeated\n calls\n- Fix support for Variables on GPU when ``unroll_simulation=False``\n- SimPyFunc operators will always be assigned to CPU, even when\n ``device=\"/gpu:0\"``, since there is no GPU kernel\n- Fix bug where ``Simulator.loss`` was not being computed correctly for\n models with internal state\n- Data/targets passed to ``Simulator.train`` will be truncated if not evenly\n divisible by the specified minibatch size\n- Fixed bug where in some cases Nodes with side effects would not be run if\n their output was not used in the simulation\n- Fixed bug where strided reads that cover a full array would be interpreted as\n non-strided reads of the full array\n\n\n0.2.0 (March 13, 2017)\n======================\n\nInitial release of TensorFlow-based NengoDL\n\n\n0.1.0 (June 12, 2016)\n=====================\n\nInitial release of Lasagne-based NengoDL",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://www.nengo.ai/nengo-dl",
"keywords": "",
"license": "Free for non-commercial use",
"maintainer": "",
"maintainer_email": "",
"name": "nengo-dl",
"package_url": "https://pypi.org/project/nengo-dl/",
"platform": "",
"project_url": "https://pypi.org/project/nengo-dl/",
"project_urls": {
"Homepage": "https://www.nengo.ai/nengo-dl"
},
"release_url": "https://pypi.org/project/nengo-dl/2.2.1/",
"requires_dist": null,
"requires_python": ">=3.5",
"summary": "Deep learning integration for Nengo",
"version": "2.2.1"
},
"last_serial": 5919566,
"releases": {
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "f243977b6eaf373ab777333dd9f6bd6a",
"sha256": "e732f1e1baf5c09061c6a2ec0236e41f6db9dbad03010bafb3a3f9cd770dc015"
},
"downloads": -1,
"filename": "nengo-dl-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "f243977b6eaf373ab777333dd9f6bd6a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 110901,
"upload_time": "2018-03-29T15:52:01",
"url": "https://files.pythonhosted.org/packages/4c/45/b8f935b6f1a37fb31991786704048dfcc7b99191f07f7177c2a833bbc1c3/nengo-dl-0.2.0.tar.gz"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "178f4b6d60d5e3cf70d30f02966eaaa6",
"sha256": "47b29c82bddc540ce7c7e9287e31617c35d70bb1b112536af3eb8d25dd666d68"
},
"downloads": -1,
"filename": "nengo_dl-0.3.0-1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "178f4b6d60d5e3cf70d30f02966eaaa6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 97505,
"upload_time": "2018-03-29T15:53:25",
"url": "https://files.pythonhosted.org/packages/d2/d0/d8bae1dc2394e8efc4fa26edf26e1d9eedf010fcf562f488b58666a3fa4a/nengo_dl-0.3.0-1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7087923a7c4be8c4cc261bca488b7ef7",
"sha256": "c000ca5812d50df6046fad42acf3c598984eb09ce89ea754f89b2a17d8b6ac21"
},
"downloads": -1,
"filename": "nengo-dl-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "7087923a7c4be8c4cc261bca488b7ef7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 123176,
"upload_time": "2018-03-29T15:52:43",
"url": "https://files.pythonhosted.org/packages/50/29/c6f647d4400ecffb2b8955f9872f31e397caaaf8c9b718971f1f07f33ca7/nengo-dl-0.3.0.tar.gz"
}
],
"0.3.1": [
{
"comment_text": "",
"digests": {
"md5": "981c0a855407b3c34ea2de386c739bf2",
"sha256": "7f3a8b3f3c53eecbf2eb9012d89ab4bf2d969d2c9f90a5c6d9414106f5eb68a0"
},
"downloads": -1,
"filename": "nengo_dl-0.3.1-1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "981c0a855407b3c34ea2de386c739bf2",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 99901,
"upload_time": "2018-03-29T15:54:25",
"url": "https://files.pythonhosted.org/packages/97/c2/7ffd6ffe175fdac09f97fe56ac97c0038b2ec48417804b5aa8919da11596/nengo_dl-0.3.1-1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ffbc63a901d25e8b04d7cf57782668da",
"sha256": "8ba225dab36604f21b6386e4892c913d3a2ce93113a9830051fb128815a3cab5"
},
"downloads": -1,
"filename": "nengo-dl-0.3.1.tar.gz",
"has_sig": false,
"md5_digest": "ffbc63a901d25e8b04d7cf57782668da",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 79266,
"upload_time": "2018-03-29T15:53:35",
"url": "https://files.pythonhosted.org/packages/73/66/de2acf7637a28608d7b386fa26d355732673cb0a9e54a1e5bf4cfee18589/nengo-dl-0.3.1.tar.gz"
}
],
"0.4.0": [
{
"comment_text": "",
"digests": {
"md5": "b40dcb82fcd7f65d35c6fd8b6f319df4",
"sha256": "360d1867cda6f453b9b5eae4a4d31e900a8dc1a03d154a6ea3796f7bb838a57a"
},
"downloads": -1,
"filename": "nengo_dl-0.4.0-1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "b40dcb82fcd7f65d35c6fd8b6f319df4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 102734,
"upload_time": "2018-03-29T15:54:51",
"url": "https://files.pythonhosted.org/packages/b4/8e/8b71f85d86e2b5139e6599e14106b128ff7536bcebf16a23710b3d49c362/nengo_dl-0.4.0-1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "652d5899afc3e6b25e4d4c7c8728d98f",
"sha256": "db30f554ab5c1dd7f4d01c0305d7018ed7ef7882d603346bccae6d0fcba76585"
},
"downloads": -1,
"filename": "nengo-dl-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "652d5899afc3e6b25e4d4c7c8728d98f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 88797,
"upload_time": "2018-03-29T15:54:41",
"url": "https://files.pythonhosted.org/packages/f1/e9/bf0c9662cc0839d3433e763c211719fb0944e5581794435633016fe12d6c/nengo-dl-0.4.0.tar.gz"
}
],
"0.5.0": [
{
"comment_text": "",
"digests": {
"md5": "3ef7fbdf7b0902e6f2feb95f9efeb92c",
"sha256": "f600f245e1c37421fc5066253aa9983b49d70f8283b67ba0235d3f223efe3c0e"
},
"downloads": -1,
"filename": "nengo_dl-0.5.0-1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "3ef7fbdf7b0902e6f2feb95f9efeb92c",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 111901,
"upload_time": "2018-03-29T15:55:10",
"url": "https://files.pythonhosted.org/packages/a5/30/5ba3ed7de39b204c67ca2bbfcf13ee85ecf4122ab70f7e3ab91329e2002b/nengo_dl-0.5.0-1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e195e533ea3b00475346b89337ee9fc5",
"sha256": "9be1a9093fcd2658ba642194a5b7827a4fc61f6e7a04f0b39a7c636b6c418fa7"
},
"downloads": -1,
"filename": "nengo-dl-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "e195e533ea3b00475346b89337ee9fc5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 115762,
"upload_time": "2018-03-29T15:55:00",
"url": "https://files.pythonhosted.org/packages/ec/4d/a1768da7ff78c28248b639ae949b193f41c5ec528ea00b924be8fd275864/nengo-dl-0.5.0.tar.gz"
}
],
"0.5.1": [
{
"comment_text": "",
"digests": {
"md5": "b42a791735d61830757a6d55c8dfc61d",
"sha256": "b150c5bbd9e6d3d646049b99609a63d18f7dad0268e9775e12520072c814451b"
},
"downloads": -1,
"filename": "nengo_dl-0.5.1-1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "b42a791735d61830757a6d55c8dfc61d",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 113259,
"upload_time": "2018-03-29T15:55:24",
"url": "https://files.pythonhosted.org/packages/70/22/978c7f49bfbb7a889db4ff2ce95f83f862b7fc2458df210b89af7e00612f/nengo_dl-0.5.1-1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5eea8305ebea545ffc56c7971e9057b6",
"sha256": "586f559f1e086d5a39e33144e61add7bed9142dd0a13a4ec07f636626d8287d0"
},
"downloads": -1,
"filename": "nengo-dl-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "5eea8305ebea545ffc56c7971e9057b6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 118061,
"upload_time": "2018-03-29T15:55:17",
"url": "https://files.pythonhosted.org/packages/ac/85/8e9cf239e655c744b896d71831b8021066b749e814559ba6f39f5cfcc03b/nengo-dl-0.5.1.tar.gz"
}
],
"0.5.2": [
{
"comment_text": "",
"digests": {
"md5": "5283d88122b6941dd8002eb609f2b888",
"sha256": "a91f81aab3d22ff654ec0f462e53ba8297c1ec169e675b81723145a69fb93da7"
},
"downloads": -1,
"filename": "nengo_dl-0.5.2-1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "5283d88122b6941dd8002eb609f2b888",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 119195,
"upload_time": "2018-03-29T15:55:40",
"url": "https://files.pythonhosted.org/packages/2f/ba/39a8f22c72444d3a4b1bb359e02ab2dea70050b28f95eec8720239a2e1bf/nengo_dl-0.5.2-1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "23195c64a9621b799de014e0a97e6c7f",
"sha256": "847dcd66bb1850ed2fa3fa9e66af73ab83d845b9f41319c76d8640ce4c038733"
},
"downloads": -1,
"filename": "nengo-dl-0.5.2.tar.gz",
"has_sig": false,
"md5_digest": "23195c64a9621b799de014e0a97e6c7f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 132902,
"upload_time": "2018-03-29T15:55:32",
"url": "https://files.pythonhosted.org/packages/a7/15/0d5f899018fd33bfb3af2d355ce6b051229f8abce8939c539814840e0963/nengo-dl-0.5.2.tar.gz"
}
],
"0.6.0": [
{
"comment_text": "",
"digests": {
"md5": "398d1a2ceb35a7e3d590d6290117dadb",
"sha256": "c2325487c21368049868457a84fed0a1dbd8d74412af45f657824dafbd64fb8a"
},
"downloads": -1,
"filename": "nengo_dl-0.6.0-1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "398d1a2ceb35a7e3d590d6290117dadb",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 125651,
"upload_time": "2018-03-29T15:56:07",
"url": "https://files.pythonhosted.org/packages/cf/23/c29beb00fa18583df44a9bb0b20037258b8d9592f63c3cd11795bf074b12/nengo_dl-0.6.0-1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "bb98156b93bfeae43c7f79678963e88c",
"sha256": "c70ab9daf67528046b6ae2ded5a6d0d2ed863c8fc829f3569bfacafea5348dcc"
},
"downloads": -1,
"filename": "nengo-dl-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "bb98156b93bfeae43c7f79678963e88c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 139756,
"upload_time": "2018-03-29T15:55:58",
"url": "https://files.pythonhosted.org/packages/84/7c/1299e04d01640281ac7b18b8ce95127001dcc57239862a5c00b6df72eed9/nengo-dl-0.6.0.tar.gz"
}
],
"0.6.1": [
{
"comment_text": "",
"digests": {
"md5": "48f7385adcd575299d51c2df23aa3c20",
"sha256": "037172c38b5e75fd186f773c731d685defff71166d4053ff0fcdfcab445e14d9"
},
"downloads": -1,
"filename": "nengo_dl-0.6.1-1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "48f7385adcd575299d51c2df23aa3c20",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 126644,
"upload_time": "2018-03-29T15:56:20",
"url": "https://files.pythonhosted.org/packages/71/57/56405632666add906e9381dbfd434fd3ad65c815baf050dc74ca295a1308/nengo_dl-0.6.1-1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "cb52a8b5c103ff50caa66d5172dbafc7",
"sha256": "395f0c11b066f9f4670fc34d8d9ff5c7e05f41bfe4cc35eaa5d780d7e5be3ca4"
},
"downloads": -1,
"filename": "nengo-dl-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "cb52a8b5c103ff50caa66d5172dbafc7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 141023,
"upload_time": "2018-03-29T15:56:13",
"url": "https://files.pythonhosted.org/packages/cc/35/5ef2fd6d16440335654872094efb8f8ebba7a9eb27feb7d693753e7226c1/nengo-dl-0.6.1.tar.gz"
}
],
"0.6.2": [
{
"comment_text": "",
"digests": {
"md5": "4393cfe4e51c501d83b0f3981783510d",
"sha256": "5bca9cc0818c476934e337de7d43f0e7d7f2dfaa2699a722d7e56da0a819f99b"
},
"downloads": -1,
"filename": "nengo_dl-0.6.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "4393cfe4e51c501d83b0f3981783510d",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 133670,
"upload_time": "2018-05-04T18:45:24",
"url": "https://files.pythonhosted.org/packages/6f/0b/618e07c5c33838579a68c94d91f7785dcd68119b0347334705efd186ec2d/nengo_dl-0.6.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7f66e9980d4fc6bfcf3324966089d710",
"sha256": "743ecde245c1689a9902380f08ef4af3392fdc5d94232cdc761b6077c2822cd7"
},
"downloads": -1,
"filename": "nengo-dl-0.6.2.tar.gz",
"has_sig": false,
"md5_digest": "7f66e9980d4fc6bfcf3324966089d710",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 146930,
"upload_time": "2018-05-04T18:44:47",
"url": "https://files.pythonhosted.org/packages/44/81/0af751ce40e06bfafe7cf674764b1b6d431bc3cb5bed49646b8a60eef642/nengo-dl-0.6.2.tar.gz"
}
],
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "8578e3e29a12e7a8377c2e7c32800402",
"sha256": "7055d42448226a1c445d2144d936ec8e8a05de7773d9e640d20ea9593d9904d1"
},
"downloads": -1,
"filename": "nengo_dl-1.0.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "8578e3e29a12e7a8377c2e7c32800402",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 126641,
"upload_time": "2018-05-30T19:38:12",
"url": "https://files.pythonhosted.org/packages/b7/31/2b5ab76f066bc23721b3684bf3ccfefac4c3680ea930360b5d81098d4158/nengo_dl-1.0.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "a997bea6cd265b4efdbcaebf0c23693d",
"sha256": "4c94bb2dd2652377317ec784b1f6ab996b5a5679ebe41abf51bed8c49d03394e"
},
"downloads": -1,
"filename": "nengo-dl-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "a997bea6cd265b4efdbcaebf0c23693d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 149500,
"upload_time": "2018-05-30T19:37:15",
"url": "https://files.pythonhosted.org/packages/ba/17/26b9566c5c4e428721d419bb0a5299e95f0f1eff25771cb26122bbf1ac96/nengo-dl-1.0.0.tar.gz"
}
],
"1.1.0": [
{
"comment_text": "",
"digests": {
"md5": "4b831c454c1148ce9bcde90b422104fe",
"sha256": "ace92b768b7e52302d8ea87785ca7c0bead781a7efb5dd8a04a042a97ebe2435"
},
"downloads": -1,
"filename": "nengo_dl-1.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "4b831c454c1148ce9bcde90b422104fe",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 134676,
"upload_time": "2018-07-24T21:40:55",
"url": "https://files.pythonhosted.org/packages/02/b0/72cd10c299eb577db629129b8297154f3d9f6b43ffc74a688a231ba66273/nengo_dl-1.1.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "1ce88cd9af60ef18b8f8b92f96ae146a",
"sha256": "4e9b355ba82b33e9eb13481eb514319592d783abf9047eef83d667f73daace92"
},
"downloads": -1,
"filename": "nengo-dl-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "1ce88cd9af60ef18b8f8b92f96ae146a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 164245,
"upload_time": "2018-07-24T21:40:37",
"url": "https://files.pythonhosted.org/packages/ae/21/6b5b891905b191f1f7b42c6ae8d4fa189af05ac75f4766be1af9ce63508c/nengo-dl-1.1.0.tar.gz"
}
],
"1.2.0": [
{
"comment_text": "",
"digests": {
"md5": "c1684d48c20917e542b89bd8a447e053",
"sha256": "b5d2d7e0e20d698b7e739c1bf756933ff728489cc643f6a504a52aa5b2760d6a"
},
"downloads": -1,
"filename": "nengo_dl-1.2.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "c1684d48c20917e542b89bd8a447e053",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 140411,
"upload_time": "2018-09-05T12:18:34",
"url": "https://files.pythonhosted.org/packages/64/45/38ab20122ea77df7d763428777029df55b4ea048454e281b4eed5c0488d1/nengo_dl-1.2.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "297c7d7f918025bfbdb3d5cd5f0ad13a",
"sha256": "0b549f7aa3432c663009ab7351ab5e9038efa6f2e60983601681628cee800f6a"
},
"downloads": -1,
"filename": "nengo-dl-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "297c7d7f918025bfbdb3d5cd5f0ad13a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 171073,
"upload_time": "2018-09-05T12:18:10",
"url": "https://files.pythonhosted.org/packages/b5/c9/856a4b5253649ac0d3657c23f889520e2ae8220388cc7e092e4db353c8ab/nengo-dl-1.2.0.tar.gz"
}
],
"1.2.1": [
{
"comment_text": "",
"digests": {
"md5": "b2d7dccacf43188eefa609a62f480040",
"sha256": "42d23b4557f35f5780fd5df02191ee2b2aea9bba1b77b474bf90a935e63e7b13"
},
"downloads": -1,
"filename": "nengo_dl-1.2.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "b2d7dccacf43188eefa609a62f480040",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 131529,
"upload_time": "2018-11-02T20:42:01",
"url": "https://files.pythonhosted.org/packages/8d/35/5e92e7bce9fd3ad37f026fdbf438ca7df9572f44a1e875b5b6dbcd93ddc2/nengo_dl-1.2.1-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b4237a123d345b72df0ba41326afc4f2",
"sha256": "b12755f2425e189bb241732ea6a20d2704b72c768e25f024c05162be66047532"
},
"downloads": -1,
"filename": "nengo-dl-1.2.1.tar.gz",
"has_sig": false,
"md5_digest": "b4237a123d345b72df0ba41326afc4f2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 173119,
"upload_time": "2018-11-02T20:42:03",
"url": "https://files.pythonhosted.org/packages/08/ad/59414ffaca6e3155e2bd2be41040eaee80bc11a9c0a9b25c321472399afe/nengo-dl-1.2.1.tar.gz"
}
],
"2.0.0": [
{
"comment_text": "",
"digests": {
"md5": "3f4bc7346a608619e7b097cb9570c72c",
"sha256": "9ec157e5f44ba8cce66f98980b77faaaf8b63cf20a5496b442eca786fd8b42c3"
},
"downloads": -1,
"filename": "nengo_dl-2.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3f4bc7346a608619e7b097cb9570c72c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.4",
"size": 142937,
"upload_time": "2018-11-26T17:55:18",
"url": "https://files.pythonhosted.org/packages/11/de/c1cd91515b8ae3aeca99ac0f1d95022bdb5dd4ddfb024b1d660c4dc4cec9/nengo_dl-2.0.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "66bc81bacbdecc60320d15e05058bea2",
"sha256": "88e532a814bebccf3957d123014a13ddfa2c6076caa432d5a6ada03dcf049ba8"
},
"downloads": -1,
"filename": "nengo-dl-2.0.0.tar.gz",
"has_sig": false,
"md5_digest": "66bc81bacbdecc60320d15e05058bea2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.4",
"size": 186673,
"upload_time": "2018-11-26T17:55:21",
"url": "https://files.pythonhosted.org/packages/20/d8/ca65b5ff2dca1ba6bb74245da6ccd2f289186255bf561102b366efffd8cb/nengo-dl-2.0.0.tar.gz"
}
],
"2.1.0": [
{
"comment_text": "",
"digests": {
"md5": "e0ac4e431661ae49099ccc49477559a7",
"sha256": "1bf8ceb7e8977b49e284de15d3b3cea9b936a5a93f9ae895e92d50c41acce47a"
},
"downloads": -1,
"filename": "nengo_dl-2.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e0ac4e431661ae49099ccc49477559a7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.4",
"size": 146238,
"upload_time": "2018-12-05T15:29:13",
"url": "https://files.pythonhosted.org/packages/21/79/f50cdbebe73816400957ac7f48b58dfa701528df29bfbe80a3ad1a1c46cd/nengo_dl-2.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "aa9e89a76c19738ef453b20256f31a6f",
"sha256": "b997ed2d6e4b5fe382ef8c703c536ea22ea3caad19c17cbcce70acb935124696"
},
"downloads": -1,
"filename": "nengo-dl-2.1.0.tar.gz",
"has_sig": false,
"md5_digest": "aa9e89a76c19738ef453b20256f31a6f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.4",
"size": 185476,
"upload_time": "2018-12-05T15:29:15",
"url": "https://files.pythonhosted.org/packages/84/45/664cf8dd2beb8265da15bfb46f5abdd4e72c245b6e6c656eec80c07cfdcb/nengo-dl-2.1.0.tar.gz"
}
],
"2.1.1": [
{
"comment_text": "",
"digests": {
"md5": "e0843e2305e4e6e3a34b134485e5c417",
"sha256": "3dd831b1d9f3378666c6cf34e26d784e6c68be5590b4a22ee04e844515677e0f"
},
"downloads": -1,
"filename": "nengo-dl-2.1.1.tar.gz",
"has_sig": false,
"md5_digest": "e0843e2305e4e6e3a34b134485e5c417",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.4",
"size": 198639,
"upload_time": "2019-01-12T01:02:26",
"url": "https://files.pythonhosted.org/packages/e0/3d/657cdc1cfc5964a2635c26cc1f21857d51a1b065a12136cead36e9b7b599/nengo-dl-2.1.1.tar.gz"
}
],
"2.2.0": [
{
"comment_text": "",
"digests": {
"md5": "6a8a8c1f223753fea379550e30461190",
"sha256": "aabcb4d8383ec6c406c67a5eb91438166738f3a10469a6feb79770cc79ae298f"
},
"downloads": -1,
"filename": "nengo-dl-2.2.0.tar.gz",
"has_sig": false,
"md5_digest": "6a8a8c1f223753fea379550e30461190",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 211466,
"upload_time": "2019-07-24T18:43:06",
"url": "https://files.pythonhosted.org/packages/54/f9/e8f3774db104c8eccc89281e8d2a200cc9af9f503edb41c0d1a4b2351ed8/nengo-dl-2.2.0.tar.gz"
}
],
"2.2.1": [
{
"comment_text": "",
"digests": {
"md5": "0809cdaa28fdfdc0af706d91ae8d1c7b",
"sha256": "4f14320bb364a2024bd1c47292748f1b6eabfa90cb8fdda3c7fa98cff64d6397"
},
"downloads": -1,
"filename": "nengo-dl-2.2.1.tar.gz",
"has_sig": false,
"md5_digest": "0809cdaa28fdfdc0af706d91ae8d1c7b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 213233,
"upload_time": "2019-10-02T18:57:10",
"url": "https://files.pythonhosted.org/packages/3b/c1/df0bc5745f8a26266632157782ba17728a49bda39cbae21a449fa66b0ffa/nengo-dl-2.2.1.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "0809cdaa28fdfdc0af706d91ae8d1c7b",
"sha256": "4f14320bb364a2024bd1c47292748f1b6eabfa90cb8fdda3c7fa98cff64d6397"
},
"downloads": -1,
"filename": "nengo-dl-2.2.1.tar.gz",
"has_sig": false,
"md5_digest": "0809cdaa28fdfdc0af706d91ae8d1c7b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 213233,
"upload_time": "2019-10-02T18:57:10",
"url": "https://files.pythonhosted.org/packages/3b/c1/df0bc5745f8a26266632157782ba17728a49bda39cbae21a449fa66b0ffa/nengo-dl-2.2.1.tar.gz"
}
]
}