Arduino nano 33 BLE inferences make no sense

Context: I am running my microphone continuous inferencing example in an Arduino nano 33 BLE after downloading the Arduino zip library, with my 6 class classification model.

I have a good model with 94% accuracy and 0.36 loss. The inference works really well using the live classification feature with the nano and WebUSB. But when I export it as Arduino library and compile it on my nano33, the inferences make no sense, it almost looks like the naming or the order of the percentages is wrong. For example in complete silence, running the inference on my device keeps giving +80% on shower sounds as well as Faucet sounds, never silence. Then I run with the same device on the live classification in Edge Impulse and it works flawlessly.
Also, the example code is untouched.

Does anyone have any idea of what could be happening?

Thanks in advance,

Hello @Veci,

I just had a look at your project, it seems that one or two of your class were indeed catching all the “silence” class.
I changed the gain to PDM.setGain(20); on the default example and I tested all your classes. The results are pretty good. I am pretty sure you can fine tune this parameter even more to obtain better results.

Let us know how it goes.




Yes! This solved my problem, thank you!!

1 Like