tensorflow / tflite-support

TFLite Support is a toolkit that helps users to develop ML and deploy TFLite models onto mobile / ioT devices.
Apache License 2.0
369 stars 124 forks source link

TFLite Model personalization on IoT devices #397

Open ivelin opened 3 years ago

ivelin commented 3 years ago

Hello tflite-support team!

Thank you for building an awesome project.

Do you have roadmap visibility for model personalization (transfer learning) on IoT devices (e.g. rpi) ? The feature has been available for Android since 2019 and the blog post hints to an upcoming implementation for other platforms.

Future work The evolution of the transfer learning pipeline in the future is likely to be coupled with the development of the full training solution in TensorFlow Lite. Today we provide the transfer learning pipeline as a separate example on GitHub, and in the future we plan to support full training. The transfer learning converter would then be adapted to produce a single TensorFlow Lite model that would be able to run without an additional runtime library.

Thank you,

Ivelin

lu-wang-g commented 3 years ago

@ziyeqinghan @lintian06 can you please share the roadmap for Model Maker?

lintian06 commented 3 years ago

Model Maker can do transfer learning, and those models are able to run on Raspberry Pi.

ivelin commented 3 years ago

@lintian06 thank you for the update. That is great!

Is there roadmap visibility on support for tasks other than the 3 currently listed. Possibly via lower level API that is not task specific:

Supported Tasks Task Utility
Image Classification Classify images into predefined categories.
Text Classification Classify text into predefined categories.
BERT Question Answer Find the answer in a certain context for a given question with BERT.

For example is it possible to do transfer learning with Model Maker for object detection, image-to-text or voice commands?

lintian06 commented 3 years ago

Hi @ivelin ,

There are a couple of new tasks in progress. We will have object detection, sound classification and recommendation soon.

ivelin commented 3 years ago

Thank you for sharing, @lintian06 . That's great to know.

It is very impressive how the overall size of the TFLite binary keeps shrinking and at the same time its becoming more capable.

Would you be able to share whether a lower level API would be available to train a more general class of models, no specifically tied to a task. I am not sure if this is possible without pulling a big lump of Keras/TF code. Just curious.

lu-wang-g commented 3 years ago

@lintian06 can you please help with the question above? Thanks!