Hi, I was trying to inference an audio KWS project on XIAO ESP-S3 with Sense HAT. The device was working fine on the previous audio project, only facing issues with this particular project. Thanks in Advance.
ERR: Failed to run classifier (-3)
Arena size is too small for all buffers. Needed 15280 but only 12160 was available.
AllocateTensors() failed
ERR: Failed to run classifier (-3)
Edge Impulse Inferencing Demo
Inferencing settings:
Interval: 0.062500 ms.
Frame size: 16000
Sample length: 1000 ms.
No. of classes: 2
@shawn_edgeimpulse Thanks, but unfortunately I was not able to solve it after reducing the bit depth and reducing the sample rate. And the EON is not supported by the XIAO ESP32-S3 now.
Also, what is your window size? If that’s too big, you will run out of memory quickly. I generally find that a window size of 1 sec is the most you will be able to use for MCU KWS projects.
As @MMarcial mentioned, you can use the profiler to get an estimate of the RAM usage. You can use the Python SDK, but it’s not necessary. You can also view RAM/ROM estimations in Studio. Go to the Deployment page. Under Model Optimizations, click Change target and select the Espressif ESP-EYE (the closest board we have to the ESP32-S3).
What’s weird is that your ESP32 is reporting that only ~12 kB is available for the arena size. That doesn’t seem right, considering the ESP32-S3 has something like 512kB of RAM. Paging @AIWintermuteAI – any thoughts on this one?
From @AIWintermuteAI: ESP32-S3 optimized kernel support is in the works. Something you might want to try: swap the Edge Impulse C++ kernel with an ESP-NN kernel to support faster/efficient computations on the ESP32-S3. This is a bit of a hack, but it might be worth a shot: TinyML Made Easy: Image Classification - Hackster.io. Note that it will not work with a library created with the EON Compiler enabled.
Thanks and Yes, I tried to use the ESP-NN lib compiled by @AIWintermuteAI. I’ve been using a small Yes/No project with XIAO-ESP32-S3 with the NN lib swapped and it’s working fine, but here I’m trying to build a running faucet demo with Edge Impulse provided running faucet dataset.
“ESP32-S3 optimized kernel support is in the works.”
Great to hear - we are just working on a sound recognition solution on ESP32-S3 - can u give a rough idea of schedule?
Also we could do a beta testing if helpful.
Hey, I am still facing the same issues. Was anyone able to resolve them. I am getting the error on xiao esp32s3 sense board.
00:21:33.692 > AllocateTensors() failedERR: Failed to run classifier (-3)
Edit - To anyone facing the issue - I was able to get it to work by choosing MobileNetV1 0.1 model in edge impluse rather than MobileNetV2 0.35 as it is much smaller.