v923z / micropython-ulab

a numpy-like fast vector module for micropython, circuitpython, and their derivatives
https://micropython-ulab.readthedocs.io/en/latest
MIT License
430 stars 117 forks source link

[FEATURE REQUEST] Support for Retrain the model on a device in MicroPython #624

Open alibukharai opened 1 year ago

alibukharai commented 1 year ago

Description: I am currently working on a project using ESP32 and ESP32-S3 boards and utilizing the ulab. First of all, I would like to express my gratitude for this excellent library and its support for numpy in MicroPython.

I am exploring ways to push the capabilities of the ESP32 board to its limits. As part of my project, I would like to investigate the possibility of training and retraining TFLite models or numpy based small Neural nets models in real-time using the ulab library.

Specifically, I am interested in the following capabilities:

Training Neural Network models: Is it possible to utilize the ulab to retrain, train or tune models directly on the ESP32 board? This would involve updating the model weights and biases during runtime based on real-time data. It would be beneficial for scenarios where the model needs to adapt and improve its performance continuously.

I would appreciate any insights, guidance, or examples on how to achieve these capabilities using the any libaray. Additionally, if these features are not currently supported, I would be interested to know if there are any plans or possibilities of adding such functionality in future updates.

Thank you for your attention and support. I look forward to any feedback or suggestions regarding training and real-time retraining of models using the libraries in MicroPython.

Here are some useful relevant resources

  1. Tensorflow
  2. Article 1
  3. Article 2
v923z commented 1 year ago

As this is not a request for implementing a specific function, method, or feature, I would suggest to move this to the discussion section. I would be happy to consider adding some Tensorflow features, if needed.