---+ The !TinyML examples written in C++ The !TinyML examples in C++, ported to the ESP32 can be found at https://github.com/espressif/tflite-micro-esp-examples/tree/master/examples ---++ The Hello World application There you can also find procedure to get the examples compiled. Let's start with the hello_world example. This example uses a pre-built model that has gone through the training process and it has been quantized to reduce its size such that it can be loaded into the small micro-controller memory. Building, training and quantization is described at https://github.com/tensorflow/tflite-micro/tree/main/tensorflow/lite/micro/examples/hello_world. We must first tell the idf.py that we are using an !ESP32S3 chip: <verbatim>idf.py set-target esp32s3</verbatim> After that we may have to clean previous builds: <verbatim>idf.py fullclean</verbatim> and finally we can build the hello_world program: <verbatim>idf.py build</verbatim> Once the program is built we can flash it and connect the serial monitor to see the results: <verbatim>idf.py flash monitor</verbatim> The program repeatedly runs the induction for 20 angle values between 0 and 2Π. These values can easily be captured by redirecting the output to a file. I then used an editor to prepare the data to be plotted with gnuplot. <verbatim>idf.py flash monitor | tee results.txt</verbatim> Finally I wrote a simple Python program calculating the correct 20 sine values, which allows to compare them to the results from TinyML. <img alt="results.png" height="481" src="%ATTACHURL%/results.png" title="results.png" width="631" /> ---++ Creating the model and training it When working with Machine Learning, data play a primordal role because data are used to train the model and therefore influence the opaque algorithm within the model. The model for the hello world example is created with the Python script train.py. -- %USERSIG{UliRaich - 2023-09-02}% ---++ Comments <br />%COMMENT%
Attachments
Attachments
Topic attachments
I
Attachment
History
Action
Size
Date
Who
Comment
png
results.png
r1
manage
24.2 K
2023-09-02 - 14:28
UliRaich
This topic: IoT_Course_English
>
WebHome
>
TinyML
>
CExamples
Topic revision: r2 - 2023-09-03 - UliRaich
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback