Fraunhofer-IMS / AIfES_for_Arduino

This is the Arduino® compatible port of the AIfES machine learning framework, developed and maintained by Fraunhofer Institute for Microelectronic Circuits and Systems.
GNU Affero General Public License v3.0
216 stars 45 forks source link

Impressed with the weights loading #5

Open hpssjellis opened 2 years ago

hpssjellis commented 2 years ago

It has been a while since I was loading weights using TensorflowJS https://www.rocksetta.com/tensorflowjs/beginner-examples/tfjs11-load-weights.html

I will have to try loading a saved TensorflowJS set of weights into an AIfES program.

Presently I think the most important example would be showing how to Serial print a trained model set of weights (or save to an SD card) and then to have a different sketch that is pre-programmed to load the generated set of weights. (Or load them from the SD card). Kind of like how Tensforflow-Micro allows the user to save a c header file (a converted TFlite file).

I actually prefer just saving the weights than a TFLITE file (which contains the model structure) as it makes more sense to me to just load the weights since I already know the structure of my model.

Any opinions about generating weights and re-loading those weights?

PierreGembaczka commented 2 years ago

Hi @hpssjellis,

perfect timing for this question 😀. I uploaded a tutorial to the Arduino Project Hub last week on this topic: https://create.arduino.cc/projecthub/aifes_team/aifes-inference-tutorial-f44d96?ref=user&ref_id=1924948&offset=0

In AIfES there are different ways to insert the weights. This is all described in the tutorial. What order the weights must have and also a Keras Python script is included, where the printing of the weights is shown.

We regularly upload new tutorials and projects. Here is the link to our Arduino Project Hub page: https://create.arduino.cc/projecthub/aifes_team

Many greetings Pierre