Train and deploy model per device

I’m interested in a use-case where a different model is trained and deployed for each device (the same model architecture). the model is trained on sensor data collected from each device.

is it possible to do so with Edge Impulse?

Hello @gbenhaim,

So Edge Impulse Studio is not particularly made for this type of application but you could build your project with one device’s data and then clone your project to a new one, delete the data, add your new device’s data and train it again. You may automate this using our API but you’ll need to create one project per device and you will probably encounter limitations due to the maximum number of projects you can use.

How many devices do you have?



thanks for your answer, i’m trying to understand if Edge Impulse can be used for our type of use-case… it makes no sense to have a project per device.

is it possible to do things around this limitation? for example update only a different .tflite file for each device rather than the entire c++ library/device firmware ?

Maybe you would like to do something like post-calibration instead of retraining the entire NN network with custom data per device.
It is something we’ve been thinking of but not sure about the status nor if it would be applicable per-device.

I’ll ask internally and come back to you.

What is your hardware target?



thanks. our current devices are based on nRF52840

1 Like

Also, could you explain why you would need a dedicated model per device so I can better understand the context / use case? Is it because the data are too different between your devices and the model cannot generalize well?



the use case is some sort of anomaly detection/deviation from a “baseline” collected by each device for some period of time. the data between devices will be different. theoretically i would train a model per device after taking the baseline and have a way to deploy only the model to the relevant device without replacing the device firmware.

i don’t know enough about the post calibration you mentioned to say if it’s a relevant direction.