Comments (5)
Bonjour,
Pouvez-vous nous joindre le fichier mnist28_300_10_Spike.ini qui pose problème ?
from n2d2.
from n2d2.
J'arrive à reproduire le problème.
Nous allons investiguer !
from n2d2.
The problem arises because of weights normalization that is done after the test in frame mode, which was likely changed between the two versions of N2D2.
The following lines are executed at the end of a test:
deepNet->normalizeFreeParameters();
deepNet->exportNetworkFreeParameters("weights_normalized");
deepNet->normalizeOutputsRange(outputsRange, 0.25);
deepNet->exportNetworkFreeParameters("weights_range_normalized");
Then, when the spike test follows, the weights that are used are the one normalized by the second normalize command.
Long story short, to obtain the same results than for the previous N2D2 version, just re-run N2D2 without the "-test" argument after the learning.
You can also load specific weights for the test with the "-w <weights_folder>" argument.
Now, the rational behind the automatic normalization after the test in frame mode is that the outputs range normalization should improve the spike coding. In your case, it is not and I suspect that this is just luck, but on bigger networks the score would likely fall apart...
There are indeed several issues with your INI simulation:
- You are using ReLU activation on the output layer. The chances are high that this may cause some neurons to become silent. You should be using a softmax (with loss) during the learning and drop it for the test. In all cases, the output layer should not have an activation function (or Linear activation).
- Bias it not supported in spike mode, so you should be using NoBias=1.
Considering that, I achieve for the same network a test score of 98.20% in frame mode and 97.98% in spike mode using the "-w weights_range_normalized" weights and a terminate delta of 20.
from n2d2.
The problem appears to be solved, closing the issue.
Please don't hesitate to reopen it if needed!
from n2d2.
Related Issues (20)
- Do not insert Target in ONNX HOT 1
- Bug ONNX HOT 1
- N2D2 Cross Compilation HOT 2
- ONNX not available when using dockerized N2D2 HOT 2
- Feature maps HOT 1
- multiple common.config in .ini file HOT 1
- Import Onnx give a segfault HOT 20
- VGG on CIFAR HOT 2
- Compilation n2d2 : 'runtime_error' is not a member of 'std' HOT 2
- Issue while running MNIST HOT 4
- Reshape Quantization not supported? HOT 1
- Invalid registrar key "Transcode" HOT 2
- Could not find NVML during CMake on a Jetson Orin (iGPU) HOT 2
- Make fails during linking HOT 2
- Make fails to compile HOT 1
- Install Gnuplot but still giving this error "Could NOT find Gnuplot (missing: GNUPLOT_EXECUTABLE)" HOT 4
- Multiples issues on Windows HOT 1
- Adapt scripts to Python 3
- Loading ONNX models results in invalid path on Windows HOT 1
- Log labels mapping only 2 classes 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 n2d2.