Classifying failed, error code was -24

Question/Issue: When running edge-impulse-linux-runner on Raspberry Pi 4 terminal, we get the error visible on the photo (Classifying failed, error code was -24).

Project ID:

Context/Use case:
We built our classifying model using the EdgeImpulse plateform, we then deployed the model on RaspberryPi 4B following the tutorial given on EdgeImpulse. We are using ReSpeaker 4MicArray as microphone. When using the command edge-impulse-linux the model works fine. We are able to use our microphone and the classifying works in the EdgeImpulse browser on our profile. BUT when we use edge-impulse-linux-runner the model iterates only 3 times before returning an error.
Node.js v21.6.2
Python 3.11
RaspberryPi 4B
Debian/Linux 12 (bookworm)

Hi @MathBkhc,

Thank you for letting us know. I have filed an issue with the engineering team.

As a workaround, you can try using one of our SDKs (e.g. Python, Node.js) for Linux (Edge Impulse for Linux - Edge Impulse Documentation) to build a classification application.

Hi @MathBkhc,

This should be fixed in production. I recommend redploying your model and running edge-impulse-linux-runner again.

Hi @shawn_edgeimpulse,
Actually it was my mistake… I tried to deploy my model with “Raspberry Pi RP2040” configuration on my Raspberry Pi 4. It worked when I used C++ library.
Although I have another question, as my model is now deployed, I am willing to have a live audio classifier… I saw Edge Impulse made it possible for Arduino and ST boards. I am trying to understand what I need to do to make it possible on Raspberry Pi 4. If you have answers or ideas I would love to exchange with you !

1 Like

Hi @MathBkhc,

You can deploy your model to a Raspberry Pi (or other single-board computer) using the .eim deployment option. I recommend checking out the following tutorials:

Just another note, while debugging, noticed you’re feeding all of the spectrogram / mfe blocks in to the learn block. That’s a lot of duplication of features and will cause you to have to train unnecessary weights. I would recommend just experimenting with one DSP block at a time. You can unselect 3 of the 4 so that you can move quickly between options and compare, without having to regenerate features each time