I am trying to deploy the trained network on my hardware by creating C++ library. After several trials about setting parameters, I noticed that the C++ library created for the trained model does not work on the hardware only when I set “Normalization Window Size” to zero. If it is set to “101”, everything is fine and I can see the results on the hardware output. Here is the point:
- My ideal model is when the Normalization Window Size is set to zero. Because when the training is completed and I test the trained network via “Live Classification” section of Edge Impulse website (by selecting Show options/ Use your computer and switching to classification mode and giving permission to the desired audio source), it can output my desired results.
- When I go for deployment and create C++ library and deploy it on my hardware, it outputs only noise with a constant value of 0.9906 for everything.
- Only when I change the Normalization Window Size to 101 (default), and create C++ library, it works on my hardware; however, the results are not as accurate as when it is set to zero (I mean as accurate as the results that I receive from the Live Classification section when it is set to zero).
I wonder why C++ library does not work properly on the hardware when the Normalization Window Size is set to zero (which means disabling normalization)? This is how when I train the model considering Normalization Window Size of zero and test it via Live Classification of Edge Impulse website, it works perfectly.
I feel there might be a bug in creating C++ library when this parameter is set to zero. Just one point, I tested many cases by changing all possible parameters, and I ended up with the issue is with only setting Normalization Window Size to zero.
Any help is appreciated.