Sine wave predictor
This document provides a guide to using Consentium's TinyML library for a continuous sine function inference example. This example uses TensorFlow Lite Micro with an Edge board compatible with ESP32/Raspberry Pi Pico W.
Overview
This example demonstrates how to perform continuous inference on a sine function using a TensorFlow Lite model. The model predicts the sine value for a given input ( x ), and the results are compared with the actual sine value calculated using the sin
function.
Prerequisites
Hardware: ESP32 or Raspberry Pi Pico W compatible Edge board.
Software: Consentium's TinyML library, EdgeNeuron library, TensorFlow Lite Micro.
Code Explanation
Includes and Constants
EdgeNeuron.h
: Include the EdgeNeuron library.model.h
: Include the header file for the TensorFlow Lite model.tensor_arena
: Defines the memory arena for TensorFlow Lite to manage tensor allocations.
Global Variables
x
: The input value for the sine function.step
: The increment value forx
in each loop iteration.
Setup Function
Initializes the serial communication.
Prints initialization messages.
Calls
initializeModel()
to load and set up the TensorFlow Lite model.
Loop Function
Resets
x
to 0 if it exceeds (2\pi).Sets the input value
x
in the model.Runs the inference and retrieves the output.
Calculates and prints both the predicted and actual sine values.
Increments
x
and includes a delay to make the output readable.
License
This code is licensed under the MIT license. All text in the license header must be included in any redistribution.
Last updated