Running multiple (two) Edge impulse model simultaneously in a single device

Is there any way to run two edge impulse model in a single device .
I wanted to run the gesture recognition and the speech recognition model simultaneously in Arduino Nano 33 ble sense

Hi @vinaycs,

It’s not something you can do at the moment on MCU devices. However it works on Linux-based devices, you can run several models in parallels.

Aurelien

Even thought its not officially supported , is it possible have a workaround for that?

Is it possible with rasberry pi , since its a linux based system , if so can you give a link to the reference for that

Yes you can run multiple models on Raspberry Pi. You can follow our tutorial here first: https://docs.edgeimpulse.com/docs/raspberry-pi-4

Then you can run the models as following:

# download models
edge-impulse-linux-runner --download modelfile1.eim
edge-impulse-linux-runner --download modelfile2.eim --clean # <- clean flag to select new project

# run models
edge-impulse-linux-runner --model-file modelfile1.eim
edge-impulse-linux-runner --model-file modelfile2.eim

You can also use our Linux SDKs to integrate your own application code with different models.

Aurelien

hi @aurel
why the model we download uses .eim extension? doesn’t use .tflite? can we convert manually from tflite or other model to eim? I mean is the source code available?

Yes, you can download the tflite files from the main dashboard of your Edge Impulse project, for example:

The eim model contains all preprocessing code, neural networks, other ML code, and postprocessing code + all hardware acceleration for your target. See https://docs.edgeimpulse.com/docs/edge-impulse-for-linux#eim-models for more info.

@aurel
This will only run one by one right ,
I need to run it simultaneously at the same time
Is there any method to do that ?

Hi @vinaycs,

You could run models in parallel on different threads.

We don’t have examples available but you can check our Python SDK examples here:

Then you instance 2 ImpulseRunner on separate threads and they should work in parallel.

Aurelien

2 Likes

Hi @aurel If convenient, would you please take a look at my issue:

I hope to design an impulse based on two channels of audio input rather than just one channel on MCU. Thank you in advance for any help.

Best,

Larry

Hello @LarryWang,

@ei_francesco just answered:

Best,

Louis