About accuracy after downloading to the board

Hello,

  At the training phase,I Collected 50 wave files,then feed into the voice model,after train on web,Accuracy  93.85% was got.  Just "On/OFF/noise” voice is needed.
  Then I deploy a c++ library outside,integrate it into a PSoC6(MCU,not AI chip) board of Infineon,then test.
  At the application phase, I find the classifier's error rate is high, not like the 93.85% resulted on the website.
  What's the reason?  
  1、How many samples are needed to train it?  Ten thousand?
  2、Any Parameters can be adjusted to optimize it?
  3、What cause the accuracy changed from web to tflite library? 

Thanks,
Ethan

Hello @psoc6now,

How did you collect your audio clips? Using the same hardware with the same parameters (frequency, gain, etc…)?

Can you try following this tutorial please: https://docs.edgeimpulse.com/docs/running-your-impulse-locally

If you have the same accuracy on the example-standalone-inferencing, I’d suspect that the collected data differ from the ones you are trying to classify, in that case you’ll need to apply some corrections to the raw data before passing them to the classifier. Or collect new data to train your model that are closer to the reality.
If not, I’ll have a deeper look to your project to check if I can see anything strange.

Regards,

Louis

Hi @louis,
The same board is PSoC6 EVB (CY8CKIT-062-WiFi-BT).
I have checked the audio input using example-standalone-inferencing,and the problem has been focused on the slice machnism (EI_CLASSIFIER_SLICE_SIZE),I will try it again.

When inferencing, some problem still exist which cannot classify very well.
Do you have any non-continuous and continuous examples for C++ library of audio?
Thanks.

Hello @psoc6now,

You can download the Arduino library from the deployment tab and then have a look at the examples to see how we do it for both continous and non continous examples:

Screenshot 2022-01-10 at 10.52.46

Regards,

Louis