Allowed ops for Tensorflow Lite for Microcontrollers


Currently, I am studying Tensorflow Lite For Microcontrollers (TLFM). I have gone over all the tutorials. Now I will write my own code where I will try to detect some anomalies based on the accelerometer data. However, I am just confused about one thing.

To generate TLFM model (I mean that byte array), first we are creating our main model based on the main TensorFlow API. Then, we are generating a Lite model. Finally, we are generating a byte array from that model.

Here are the list of supported TLFM operations. So, if I understand right, when we run ML algorithms on the microcontrollers, we are limited with these. Hence I expect an error, if I add LSTM layer on the main code, and try to generate a lite version out of it.

In one of the tutorials, dense layer were used, which got me confused, because it was not included in the supported operations list. Then, I have realized there was a addFullyConnected() method, which corresponds to a dense layer. Sadly, some of the ops have non-matching names. For example, stack and unstack are named in the supported ops as AddPack and AddUnpack.

I would be happy, if someone can confirm my understanding, or point out where I am wrong.