Can we deploy a model developed using EI python SDK on TI's OMAP- L138 (ARM9 CPU)?

Question/Issue: How can I deploy a Neural Network/ Regression model on TI’s OMAP L138 device?

Project ID: 410556

Context/Use case: I’ve developed a regression model, Now I’ve been assigned a task to deploy it on ti’s OMAP L138, Before deploying the model I’ve just tried to run it on Ubuntu 16.04 OS with GCC 5.4.0 where it didn’t run but later after upgrading gcc to 9.x, the model was able to predict the target value based on the raw features given the main.cpp program. Now the challenge is how do I make this model run on a processor which supports gcc 4.8.0. Is there any specific way to do that rather than downloading and deploying the model as a general c++ library?

Hi @rajkamal,

If you try to compile the C++ library with GCC 4.8 and run into errors, can you post the errors here? Your other option is to download the TensorFlow Lite model file (from the Dashboard of your project), use the TensorFlow Lite Micro converter (TensorFlow Lite para microcontroladores) to produce a binary that can be read using the TFLM interpreter (GitHub - tensorflow/tflite-micro: Infrastructure to enable deployment of ML models to low-power resource-constrained embedded targets (including microcontrollers and digital signal processors).). Note that you will not have the DSP or processing block by using that method if you need to process the data (e.g. FFT) prior to sending the features to the model. You would have to do that step manually in code (e.g. using an FFT library like kissfft).

Well, I am afraid that i can’t run the program directly on OMAP-L138 as the device which I am using itself does not have any supporting version of gcc , so I need to cross compile it first and then proceed. Can you please let me know about how cross compilation works with edge impulse’s c++ library? Is there any way that I could cross compile?

Hi @rajkamal,

Yes, I am referring to cross-compiling with GCC. I do not have experience with the OMAP-L138, so I don’t know if it will ultimately work. I recommend following the guide here: As a generic C++ library | Edge Impulse Documentation. It walks you through setting up a Makefile and GCC to compile a simple application and C++ SDK (along with how to set up the linking). It demonstrates the process for Linux, so you would need to extrapolate the process to TI’s toolchain in order to cross-compile.