Comments (1)
Hi,
I just tried to run this myself again. Unfortunately, the old keras model I used for the paper does not work any more because of incompatibilities with more recent versions of keras/tf. So I had to train the model from scratch. After applying the TTFS conversion, I got a drop in accuracy of about 4.7 percentage points when going from ANN to SNN. That's clearly larger than the 2% reported in the paper, but not so large that I would suspect a bug. Might just be that the current training resulted in a larger proportion of low activations (i.e. late spikes), which are a source of error in the plain TTFS code.
Here's the configuration I used:
[paths]
path_wd = ./Data/snn_conversion/mnist/cnn/lenet5/keras/32bit
dataset_path = ./Datasets/mnist/cnn
filename_ann = mnist_cnn
[normalization]
percentile = 100
[conversion]
softmax_to_relu = True
spike_code = ttfs
[simulation]
duration = 50
dt = 0.1
num_to_test = 10000
batch_size = 50
The only important difference to a run with normal rate code is that we choose a higher time resolution (dt = 0.1
instead of 1), because we rely on fine temporal precision here. Also, it may be beneficial to replace the softmax by a relu (softmax_to_relu = True
) because softmax in TTFS can only approximate the ANN softmax. ReLU is a safe choice as long as not all output neurons have a negative pre-activation (in which case there would be no spikes even though the softmax would be non-zero).
If the configuration above does not close the gap sufficiently, you may want to try one of the TTFS code variants or train the network with low activations clamped to zero (which should give the best results).
For an example of a temporal_mean_rate config, see here.
from snn_toolbox.
Related Issues (20)
- TypeError: can't multiply sequence by non-int of type 'float' HOT 4
- IndexError: only integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indices
- SpinnmanIOException: IO Error: Failed to communicate with the machine HOT 7
- Query regarding INI simulator HOT 6
- Conv1D Conversion Normalization Issue HOT 2
- ONNX model could not be ported to Keras.Mismatched elements 100% HOT 1
- Code required for a research paper HOT 2
- ModuleNotFoundError: No module named 'keras_rewiring' HOT 2
- Which neuromorphic hardware does SNNtoolbox simulate ? HOT 3
- Error happened while building parsed model HOT 2
- Key Error HOT 1
- index -1 is out of bounds for axis 1 with size 0 HOT 2
- Membrane Potential Values after spike conv layer. HOT 1
- Loading a a converted SNN .h5 model using 'load_model' HOT 1
- Energy and runtime estimation for running the SNN on neuromorphic simulator HOT 3
- TTTFS dyn thresh and TTFS corrective not working HOT 2
- Poisson Rate Encoding HOT 4
- Quantization HOT 6
- TTFS HOT 1
- Cannot import name 'literal' from typing. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from snn_toolbox.