Question/Issue:
I want to deploy a continuous audio classifier to Arduino Nano 33 BLE Sense Lite. For this, audio is processed into spectrograms and then a 2D-CNN is used for the classification task. When defining and training the 2D-CNN directly on the Edge Impulse platform, I could successfully deploy the pipeline to an Arduino Nano 33 BLE Sense Lite:
Now, I would like to train a TF Keras model on my computer and then use the “Bring your own model” feature. I have successfully uploaded my TFLite converted (and quantised) model to the Edge Impulse project.
However, how can I now deploy the preprocessing pipeline (e.g. generating (MFE) spectrograms) as in the previous case? Somehow I couldn’t figure it out. In particular, I cannot select any processing blocks anymore on the platform.
Secondly, is there a way to fine-tune the model on the platform with uploaded data?
Are you referring to custom blocks? When using BYOM, the view can restrict editing processing blocks. To regain this functionality:
Duplicate Project: Consider duplicating your project without the BYOM to configure processing blocks, then reintroduce your model. or using impulse experiments
I was referring to creating for example an Impulse with
Time series data
A processing block, e.g. Audio (MFE) spectrogram
Then defining the MFE parameters to create the features
Instead of defining a classifier model in the next step, I would like to import my own TFLite model with the BOYM functionality. However, it seems to be “either”-“or”.
If a create an Impulse preprocessing pipeline, I do not have the option to BYOM and vice versa. I do not quite see, how duplicating the project with the Impulse preprocessing helps, as I still do not see a way to import my own model to the project.
Hi @Eoin
I wanted to clarify that I believe my initial questions are still unanswered (or I misunderstood your reply). I hope my recent explanations have made my issues more clear.
as I did not get an answer to my (follow-up) question, I assume it is not possible to integrate a BOY-model directly into an Impulse pipeline. If that is really the case, I would like to suggest that as a future feature. Since it can be useful to train a model separately and then integrate it to an Impulse pipeline which then is deployed to a microcontroller.
Ah my mistake what you may be looking for is multi-impulse. One impulse as the BYOM and the other as the processing. (not 100% sure how to implement that, but you can speak with our solutions team if this is for an enterprise / production use)
Check the docs here and if this is for an industry use or enterprise you can speak with our solutions / sales teams who work on this level of customization: