Release 3.2.0
Compatible with Nengo 3.0.0
Compatible with TensorFlow 2.0.0 - 2.2.0
Added
- Added
nengo_dl.LeakyReLU
andnengo_dl.SpikingLeakyReLU
neuron models. (#126) - Added support for leaky ReLU Keras layers to
nengo_dl.Converter
. (#126) - Added a new
remove_reset_incs
graph simplification step. (#129) - Added support for UpSampling layers to
nengo_dl.Converter
. (#130) - Added tolerance parameters to
nengo_dl.Converter.verify
. (#130) - Added
scale_firing_rates
option tonengo_dl.Converter
. (#134) - Added
Converter.layers
attribute which will map Keras layers/tensors to the converted Nengo objects, to make it easier to access converted components. (#134) - Compatible with TensorFlow 2.2.0. (#140)
- Added a new
synapse
argument to the Converter, which can be used to automatically add synaptic filters on the output of neural layers during the conversion process. (#141) - Added a new example demonstrating how to use the NengoDL Converter to convert a Keras model to a spiking Nengo network. (#141)
Changed
- Re-enabled the
remove_constant_copies
graph simplification by default. (#129) - Reduced the amount of state that needs to be stored in the simulation. (#129)
- Added more information to the error message when loading saved parameters that don't match the current model. (#129)
- More efficient implementation of convolutional biases in the Converter. (#130)
- Saved simulator state will no longer be included in
Simulator.keras_model.weights
. This means thatSimulator.keras_model.save/load_weights
will not include the saved simulator state, making it easier to reuse weights between models (as long as the models have the same weights, they do not need to have the same state variables).Simulator.save/load_params(..., include_state=True)
can be used to explicitly save the simulator state, if desired. (#140) - Model parameters (e.g., connection weights) that are not trainable (because they've been marked non-trainable by user or targeted by an online learning rule) will now be treated separately from simulator state. For example,
Simulator.save_params(..., include_state=False)
will still include those parameters, and the results of any online learning will persist between calls even withstateful=False
. (#140) - Added
include_probes
,include_trainable
, andinclude_processes
arguments toSimulator.reset
to provide more fine-grained control over Simulator resetting. This replicates the previous functionality inSimulator.soft_reset
. (#139) - More informative error messages when accessing invalid Simulator functionality after the Simulator has been closed. (#139)
- A warning is now raised when the number of input data items passed to the simulator does not match the number of input nodes, to help avoid unintentionally passing data to the wrong input node. This warning can be avoided by passing data for all nodes, or using the dictionary input style if you want to only pass data for a specific node. (#139)
- Dictionaries returned by
sim.predict/evaluate
will now be ordered. (#141)
Fixed
- Fixed bug in error message when passing data with batch size less than Simulator minibatch size. (#139)
- More informative error message when
validation_split
does not result in batch sizes evenly divisible by minibatch size. (#139) - Added
tensorflow-cpu
distributions to installation checks (so Nengo DL will not attempt to reinstall TensorFlow iftensorflow-cpu
is already installed). (#142) - Fixed bug when applying the Converter to Keras models that re-use intermediate layers as output layers. (#137)
- Fixed bug in conversion of Keras Dense layers with non-native activation functions. (#144)
Deprecated