Pi files/Directories needed to change for new model

This is a different angle on a similar question, however, it’s a real deployment bottleneck. I have an image on Pi deployed.

I change the model, download the new C++, build the image locally, and now I need to move that image…Obviously, sending 1.X gb is not the good solution.

What directories/files can I replace on the old image, with the correct files on the new image such that I have just a small amount of data to send.

Thank You.

Hi @garyschaffer,

Can you link to the question you are referring to that is similar?

Can you help me understand what you mean by “image?” Is this the C++ library, the .eim model file, or did you create a new Raspberry Pi OS image (e.g. using Yocto or flashing to an SD card)?

If you are using the C++ library, then I believe the only files you need to update are the ones in the model-parameters and tflite-model directories. That should be at most 20 MB of data (depending on the model you’re using).

Thank You for the response.

Image = Pi OS Image, flashed to SD Card with model on it.

Can you please confirm that only need to change two directories mentioned above?

Hi @garyschaffer,

I chatted with the team, and it seems the best practice is to update all three folders together (edge-impulse-sdk, model-parameters, and tflite-model). While only the last two should change with a new model, it’s possible that the SDK could change, so you’ll likely want to be on the latest version.

Hope that helps!

[update] From the lead dev: the SDK folders are tightly coupled, so you should definitely update all three if you are updating a model.