eloquentarduino / EloquentTinyML

Eloquent interface to Tensorflow Lite for Microcontrollers
288 stars 57 forks source link

update to recent tensorflow version #33

Closed fazerlab closed 8 months ago

fazerlab commented 2 years ago

I see that EloquentTinyML lib use a old version of Tensorflow lite. Is there some plan to upgrade to a new version? Maybe a tutorial about upgrade. Anyway this a great job. Thank you Marco

eloquentarduino commented 2 years ago

Hi @fazerlab, I tried upgrading but it's not as simple as you (or I) could expect. Tensorflow released their own Arduino library with a different layout from the previous.

I'll take the time to make it working; there's not a timeline, but I think I have some time to dedicate to this in the next 10 days.

fazerlab commented 2 years ago

Great! I tried upgrading and agree it's not simple. I will follow your work. Thank you again

eloquentarduino commented 2 years ago

I made it to compile Tf version 2.4. Can you please share with me your .tfilte model trained on Tf 2.4? Please, tell me the size / dtype of input/output. Or share the Python script if it's not a secret model.

eloquentarduino commented 2 years ago

I updated the library. Please install from Github since I didn't published on the Arduino Library Manager yet since I made a major update and need to test yet. Report back if it works now or not please.

fazerlab commented 2 years ago

I updated the library. Please install from Github since I didn't published on the Arduino Library Manager yet since I made a major update and need to test yet. Report back if it works now or not please.

I will install and try, Thank you very much!!

shooorf commented 1 year ago

@eloquentarduino latest tensorflow lite micro has 97 builtin operators in AllOpsResolver Do you have any plans to upgrade EloquentTinyML to this new version?

Thanks for a great job you've done already!

eloquentarduino commented 1 year ago

Hi @shooorf , I have plans to upgrade the library. Problem is, the last time I checked (December), TensorFlow for Microcontrollers was completely refactored and I was only able to find a build for the Arduino Nano. When I tried to compile for Arduino Rp2040, I got a compilation error. That was an easy fix. Then I compiled for Portenta. Another compilation error.

I don't have to knowledge nor the patience to patch every single board out there. If you can point me to a document on how to install the latest version of TLMicro that is cross-board, I will be happy to do the upgrade. Lots of users are awaiting for the LSTM operator, for example.