data.f[0] = winkel; if (interpreter.Invoke() != kTfLiteOk) { error_reporter->Report("Modellaufruf fehlgeschlagen"); zurückkehren; } TfLiteTensor* output = interpreter.output(0); float vorhersage = output->data.f[0]; Serial.print("Winkel: "); Serial.print(Winkel); Serial.print(", Vorhergesagte Sinus: "); Serial.println(Vorhersage); Verzögerung (1000); } Code kopieren ✔ Kopiert! Laden Sie auf ESP32 hoch, öffnen Sie den Serial Monitor, um die Ergebnisse zu sehen. Unerwartetes Detail Man könnte nicht erwarten, dass die Funktion random float eine einfache Skalierung von random(0, 10000) verwendet, die möglicherweise nicht die genaueste für ML ist, aber für dieses Beispiel funktioniert. TensorFlow Lite auf ESP32 bereitstellen Diese umfassende Analyse untersucht den Einsatz von TensorFlow Lite auf dem ESP32-Mikrocontroller und beschreibt den Prozess von der Modellerstellung bis zur Ausführung, basierend auf Forschung und praktischer Umsetzung. Der Fokus liegt darauf, Entwicklern einen ausführlichen Leitfaden zu bieten, der sicherstellt, dass alle Schritte klar und umsetzbar sind, unter Berücksichtigung von Speicherbeschränkungen und der Integration von Bibliotheken. Hintergrund und Kontext TensorFlow Lite, eine leichtgewichtige Version von TensorFlow, ist dafür konzipiert, maschinelle Lernmodelle auf ressourcenbeschränkten Geräten wie Mobiltelefonen, eingebetteten Systemen und Mikrocontrollern auszuführen. Der ESP32, entwickelt von Espressif, ist ein beliebter Mikrocontroller mit Wi-Fi- und Bluetooth-Funktionen, was ihn ideal für IoT-Anwendungen macht. Das lokale Ausführen von maschinellen Lernmodellen auf dem ESP32 verbessert die Privatsphäre, reduziert die Latenz und senkt die Kosten, indem die Abhängigkeit von der Cloud vermieden wird. Der Prozess umfasst das Trainieren eines Modells auf einem PC, die Umwandlung in das TensorFlow Lite-Format, die Einrichtung der ESP32-Entwicklungsumgebung, die Integration des Modells und das Ausführen, um die Ergebnisse zu beobachten. Diese Analyse behandelt jeden Schritt, geht auf potenzielle Herausforderungen ein und bietet detaillierte Codebeispiele. Detaillierte Schritte für die Bereitstellung Schritt 1: Ein Machine Learning Modell trainieren Der erste Schritt besteht darin, ein Machine-Learning-Modell mit einem Desktop oder Server mit ausreichender Rechenleistung zu trainieren. In diesem Beispiel trainieren wir ein einfaches neuronales Netzwerk, um den Sinus eines gegebenen Winkels vorherzusagen, unter Verwendung von Python und der Keras-API. Installation: Installieren Sie TensorFlow mit dem Befehl pip install tensorflow. Trainingscode: Der folgende Code generiert einen Datensatz und trainiert das Modell: importiere Numpy als np import tensorflow as tf von tensorflow import keras # Datensatz generieren winkel = np.random.uniform(low=-np.pi, high=np.pi, size=(1000, 1)) sines = np.sin(Winkel) # Erstelle ein einfaches neuronales Netzwerkmodell modell = keras.Sequential([ keras.layers.Dense(1, input_shape=(1,)) ]) # Kompilieren Sie das Modell model.compile(optimizer='adam', loss='mean_squared_error') # Trainieren Sie das Modell model.fit(angles, sines, epochs=100, verbose=0) # Speichern Sie das Modell model.save('sine_model.h5') Code kopieren ✔ Kopiert! Hinweise: Dieses Modell ist einfach, mit einer dichten Schicht, geeignet für die begrenzten Ressourcen des ESP32. Der Datensatz besteht aus 1000 zufälligen Winkeln und ihren Sinuswerten, trainiert über 100 Epochen mit dem Adam-Optimierer und dem Verlust der mittleren quadratischen Abweichung. Schritt 2: Konvertierung des Modells in das TensorFlow Lite-Format Nach dem Training das Modell in das TensorFlow Lite-Format (.tflite) konvertieren, um es auf ressourcenbeschränkten Geräten bereitzustellen. Installation: Installieren Sie das Konvertierungstool mit pip install tflite. Konvertierungsbefehl: Verwenden Sie Folgendes zur Konvertierung: Schlag tflite_convert --keras_model_file sine_model.h5 --output_file sine_model.tflite Code kopieren ✔ Kopiert!   Details: Die .tflite-Datei ist für Größe und Leistung optimiert, was für Mikrocontroller wie den ESP32 mit begrenztem Flash-Speicher und RAM entscheidend ist. Schritt 3: Einrichten der ESP32-Entwicklungsumgebung Verwenden Sie die Arduino IDE für die ESP32-Entwicklung und stellen Sie sicher, dass die Board-Unterstützung und die erforderlichen Bibliotheken installiert sind. ESP32-Board-Unterstützung:   Öffnen Sie die Arduino IDE, gehen Sie zu Datei > Einstellungen und fügen Sie hinzu http://dl.espressif.com/dl/package_esp32_index.json zu zusätzlichen Board-Manager-URLs.   Gehe zu Werkzeuge > Board > Boardverwalter, suche nach "esp32" und installiere die neueste Version. TensorFlow Lite Micro-Bibliothek:   Laden Sie von GitHub-Repository herunter und fügen Sie es dem Arduino-Bibliotheksverzeichnis hinzu, oder verwenden Sie den Bibliotheksmanager, falls verfügbar.   Stellen Sie die Kompatibilität mit ESP32 sicher, da Espressif spezifische Unterstützung für tflite-micro bietet. Schritt 4: Integration des Modells in den ESP32-Code Integrieren Sie das Modell, indem Sie die .tflite-Datei in ein C-Array umwandeln und einen Arduino-Sketch schreiben, um es zu laden und auszuführen. In C-Array umwandeln: Verwenden Sie xxd -i sine_model.tflite > sine_model.h, um eine Header-Datei zu generieren, die die Modelldaten als C-Array enthält, typischerweise: unsigned char sine_model[] = { 0x00, 0x00, 0x00, 0x00, ... }; unsigned int sine_model_len = sizeof(sine_model); Arduino-Sketch: Der folgende Code lädt und führt das Modell aus: #include #include "tflite-micro.h" #include "sine_model.h" tflite::MicroErrorReporter mikro_fehler_berichtserstatter; tflite::ErrorReporter* error_reporter = µ_error_reporter; const unsigned char* model_data = sine_model; const size_t model_size = sine_model_len; const tflite::Model* model = tflite::GetModel(model_data); tflite::AllOpsResolver resolver; constexpr int kTensorArenaSize = 2000; uint8_t tensor_arena[kTensorArenaSize]; tflite::MicroInterpreter interpreter(model, resolver, tensor_arena, kTensorArenaSize, error_reporter); float randomFloat(float min, float max) { return min + (max - min) * (float)random(0, 10000) / 10000.0; } void setup() { Serial.begin(115200); interpreter.AllocateTensors(); } void schleife() { float winkel = randomFloat(-3.1416, 3.1416); TfLiteTensor* input = interpreter.input(0); input->data.f[0] = winkel; if (interpreter.Invoke() != kTfLiteOk) { error_reporter->Report("Modellaufruf fehlgeschlagen"); zurückkehren; } TfLiteTensor* output = interpreter.output(0); float vorhersage = output->data.f[0]; Serial.print("Winkel: "); Serial.print(Winkel); Serial.print(", Vorhergesagte Sinus: "); Serial.println(Vorhersage); Verzögerung (1000); } Code kopieren ✔ Kopiert!   Hinweise: Die randomFloat-Funktion generiert zufällige Winkel für Tests, indem sie eine einfache Skalierungsmethode verwendet. Die Größe des Tensor-Arena (2000 Bytes) muss möglicherweise für größere Modelle angepasst werden, da der ESP32 über 520 KB SRAM verfügt. Schritt 5: Code hochladen und ausführen Kompilieren und laden Sie den Sketch mit der Arduino IDE hoch, und öffnen Sie dann den Serial Monitor, um Ergebnisse wie Winkel und vorhergesagte Sinuswerte zu beobachten. Verfahren: Stellen Sie sicher, dass das Board korrekt ausgewählt ist (z.B. ESP32 Dev Module), kompilieren und hochladen. Öffnen Sie den Serial Monitor bei 115200 Baud, um die Ausgaben zu sehen. Überlegungen und potenzielle Herausforderungen Speicherbeschränkungen: Der ESP32 verfügt über 520 KB SRAM und begrenzten Flash-Speicher. Stellen Sie daher sicher, dass das Modell und der Tensorbereich innerhalb dieser Grenzen passen. Optimieren Sie, indem Sie die Modellkomplexität reduzieren oder die Größe des Tensorbereichs bei Bedarf erhöhen. Bibliothekskompatibilität: Stellen Sie sicher, dass die Version der tflite-micro-Bibliothek den Anforderungen des ESP32 entspricht, da Espressif spezifische Unterstützung bietet. Zufallszahlengenerierung: Die randomFloat-Funktion verwendet eine einfache Skalierungsmethode, die möglicherweise nicht für alle Anwendungen präzise ist. Ziehen Sie in Betracht, einen robusteren Zufallszahlengenerator für die Produktion zu verwenden. Schritt Beschreibung Befehl/Codebeispiel Installieren Sie TensorFlow Installieren Sie TensorFlow für das Modelltraining pip install tensorflow Modell trainieren Trainiere ein Sinusvorhersagemodell mit Keras Siehe den obenstehenden Python-Code Modell konvertieren In TensorFlow Lite-Format konvertieren tflite_convert --keras_model_file sine_model.h5 --output_file sine_model.tflite In C-Array konvertieren Generiere C-Header für Modelldaten xxd -i sine_model.tflite > sine_model.h ESP32 einrichten Installieren Sie die Unterstützung für das ESP32-Board und die tflite-micro-Bibliothek URL hinzufügen http://dl.espressif.com/dl/package_esp32_index.json, über den Board-Manager installieren Läuft auf ESP32 Arduino-Sketch zum Laden und Ausführen des Modells Siehe C++-Code oben   Unerwartete Beobachtung Man könnte nicht erwarten, dass die Funktion random float eine einfache Skalierung von random(0, 10000) verwendet, die möglicherweise nicht die präziseste für maschinelles Lernen ist, aber für dieses Beispiel funktioniert und die Kompromisse in eingebetteten Systemen hervorhebt.   Abschluss Dieser Leitfaden bietet einen umfassenden Prozess für die Bereitstellung von TensorFlow Lite auf ESP32, von der Schulung eines einfachen Sinusvorhersagemodells bis hin zur lokalen Ausführung. Er eröffnet Möglichkeiten für intelligente IoT-Geräte, wobei Überlegungen zu Speicher und Bibliotheksintegration eine praktische Implementierung gewährleisten. Wichtige Zitate Einfaches TinyML auf ESP32 und Arduino TensorFlow Lite Micro für Espressif-Chipsätze Erste Schritte mit ESP32 und TensorFlow Lite für Mikrocontroller TensorFlow Lite TinyML für ESP32  ">
Zum Inhalt springen

+49 1626571232

info@openelab.io

🚀 Kostenloser Versand ab 30€ in Deutschland, 50€ in der EU!

TensorFlow Lite auf ESP32

25 Feb 2025 0 Kommentare

Was ist TensorFlow Lite?

TensorFlow Lite ist eine leichtgewichtige Version von TensorFlow, die für mobile und eingebettete Geräte wie ESP32 entwickelt wurde und es ermöglicht, maschinelles Lernen-Modelle auf hardwarebeschränkten Geräten auszuführen.

Schritte zur Bereitstellung auf ESP32

So bringen Sie ein Machine-Learning-Modell auf Ihrem ESP32 zum Laufen:

Trainieren eines Modells

Trainiere ein einfaches neuronales Netzwerk, wie das Vorhersagen von Sinuswerten, mit Python und Keras auf deinem PC. Installiere TensorFlow mit:
  • Befehl: pip install tensorflow
  • Beispielcode:
    importiere Numpy als np
    import tensorflow as tf
    von tensorflow import keras
    
    winkel = np.random.uniform(low=-np.pi, high=np.pi, size=(1000, 1))
    sines = np.sin(Winkel)
    modell = keras.Sequential([keras.layers.Dense(1, input_shape=(1,))])
    model.compile(optimizer='adam', loss='mean_squared_error')
    model.fit(angles, sines, epochs=100, verbose=0)
    model.save('sine_model.h5')
    
    
    
    ✔ Kopiert!

In TensorFlow Lite konvertieren

Konvertieren Sie das trainierte Modell in das .tflite-Format:
  • Installationswerkzeug: pip install tflite
  • Konvertieren: tflite_convert --keras_model_file sine_model.h5 --output_file sine_model.tflite

ESP32 einrichten

Verwenden Sie die Arduino IDE für die ESP32-Entwicklung. Installieren Sie die ESP32-Unterstützung:

Integrieren und ausführen

Konvertiere .tflite in C-Array: xxd -i sine_model.tflite > sine_model.h. Verwende diesen Arduino-Sketch:
  • Code:
    #include 
    #include "tflite-micro.h"
    #include "sine_model.h"
    
    tflite::MicroErrorReporter mikro_fehler_berichtserstatter;
    tflite::ErrorReporter* error_reporter = µ_error_reporter;
    const unsigned char* model_data = sine_model;
    const size_t model_size = sine_model_len;
    const tflite::Model* model = tflite::GetModel(model_data);
    tflite::AllOpsResolver resolver;
    constexpr int kTensorArenaSize = 2000;
    uint8_t tensor_arena[kTensorArenaSize];
    tflite::MicroInterpreter interpreter(model, resolver, tensor_arena, kTensorArenaSize, error_reporter);
    
    float randomFloat(float min, float max) {
        return min + (max - min) * (float)random(0, 10000) / 10000.0;
    }
    
    void setup() {
        Serial.begin(115200);
        interpreter.AllocateTensors();
    }
    
    void schleife() {
        float winkel = randomFloat(-3.1416, 3.1416);
        TfLiteTensor* input = interpreter.input(0);
        input->data.f[0] = winkel;
        if (interpreter.Invoke() != kTfLiteOk) {
            error_reporter->Report("Modellaufruf fehlgeschlagen");
            zurückkehren;
        }
        TfLiteTensor* output = interpreter.output(0);
        float vorhersage = output->data.f[0];
        Serial.print("Winkel: ");
        Serial.print(Winkel);
        Serial.print(", Vorhergesagte Sinus: ");
        Serial.println(Vorhersage);
        Verzögerung (1000);
    }
    
    
    
    ✔ Kopiert!
  • Laden Sie auf ESP32 hoch, öffnen Sie den Serial Monitor, um die Ergebnisse zu sehen.

Unerwartetes Detail

Man könnte nicht erwarten, dass die Funktion random float eine einfache Skalierung von random(0, 10000) verwendet, die möglicherweise nicht die genaueste für ML ist, aber für dieses Beispiel funktioniert.

TensorFlow Lite auf ESP32 bereitstellen

Diese umfassende Analyse untersucht den Einsatz von TensorFlow Lite auf dem ESP32-Mikrocontroller und beschreibt den Prozess von der Modellerstellung bis zur Ausführung, basierend auf Forschung und praktischer Umsetzung. Der Fokus liegt darauf, Entwicklern einen ausführlichen Leitfaden zu bieten, der sicherstellt, dass alle Schritte klar und umsetzbar sind, unter Berücksichtigung von Speicherbeschränkungen und der Integration von Bibliotheken.

Hintergrund und Kontext

TensorFlow Lite, eine leichtgewichtige Version von TensorFlow, ist dafür konzipiert, maschinelle Lernmodelle auf ressourcenbeschränkten Geräten wie Mobiltelefonen, eingebetteten Systemen und Mikrocontrollern auszuführen. Der ESP32, entwickelt von Espressif, ist ein beliebter Mikrocontroller mit Wi-Fi- und Bluetooth-Funktionen, was ihn ideal für IoT-Anwendungen macht. Das lokale Ausführen von maschinellen Lernmodellen auf dem ESP32 verbessert die Privatsphäre, reduziert die Latenz und senkt die Kosten, indem die Abhängigkeit von der Cloud vermieden wird.
Der Prozess umfasst das Trainieren eines Modells auf einem PC, die Umwandlung in das TensorFlow Lite-Format, die Einrichtung der ESP32-Entwicklungsumgebung, die Integration des Modells und das Ausführen, um die Ergebnisse zu beobachten. Diese Analyse behandelt jeden Schritt, geht auf potenzielle Herausforderungen ein und bietet detaillierte Codebeispiele.

Detaillierte Schritte für die Bereitstellung

Schritt 1: Ein Machine Learning Modell trainieren

Der erste Schritt besteht darin, ein Machine-Learning-Modell mit einem Desktop oder Server mit ausreichender Rechenleistung zu trainieren. In diesem Beispiel trainieren wir ein einfaches neuronales Netzwerk, um den Sinus eines gegebenen Winkels vorherzusagen, unter Verwendung von Python und der Keras-API.
  • Installation: Installieren Sie TensorFlow mit dem Befehl pip install tensorflow.
  • Trainingscode: Der folgende Code generiert einen Datensatz und trainiert das Modell:
    importiere Numpy als np
    import tensorflow as tf
    von tensorflow import keras
    
    # Datensatz generieren
    winkel = np.random.uniform(low=-np.pi, high=np.pi, size=(1000, 1))
    sines = np.sin(Winkel)
    
    # Erstelle ein einfaches neuronales Netzwerkmodell
    modell = keras.Sequential([
        keras.layers.Dense(1, input_shape=(1,))
    ])
    
    # Kompilieren Sie das Modell
    model.compile(optimizer='adam', loss='mean_squared_error')
    
    # Trainieren Sie das Modell
    model.fit(angles, sines, epochs=100, verbose=0)
    
    # Speichern Sie das Modell
    model.save('sine_model.h5')
    
    
    
    ✔ Kopiert!
  • Hinweise: Dieses Modell ist einfach, mit einer dichten Schicht, geeignet für die begrenzten Ressourcen des ESP32. Der Datensatz besteht aus 1000 zufälligen Winkeln und ihren Sinuswerten, trainiert über 100 Epochen mit dem Adam-Optimierer und dem Verlust der mittleren quadratischen Abweichung.

Schritt 2: Konvertierung des Modells in das TensorFlow Lite-Format

Nach dem Training das Modell in das TensorFlow Lite-Format (.tflite) konvertieren, um es auf ressourcenbeschränkten Geräten bereitzustellen.
  • Installation: Installieren Sie das Konvertierungstool mit pip install tflite.
  • Konvertierungsbefehl: Verwenden Sie Folgendes zur Konvertierung:
Schlag
tflite_convert --keras_model_file sine_model.h5 --output_file sine_model.tflite


✔ Kopiert!

 

  • Details: Die .tflite-Datei ist für Größe und Leistung optimiert, was für Mikrocontroller wie den ESP32 mit begrenztem Flash-Speicher und RAM entscheidend ist.

Schritt 3: Einrichten der ESP32-Entwicklungsumgebung

Verwenden Sie die Arduino IDE für die ESP32-Entwicklung und stellen Sie sicher, dass die Board-Unterstützung und die erforderlichen Bibliotheken installiert sind.
  • ESP32-Board-Unterstützung:
      Öffnen Sie die Arduino IDE, gehen Sie zu Datei > Einstellungen und fügen Sie hinzu http://dl.espressif.com/dl/package_esp32_index.json zu zusätzlichen Board-Manager-URLs.
      Gehe zu Werkzeuge > Board > Boardverwalter, suche nach "esp32" und installiere die neueste Version.
  • TensorFlow Lite Micro-Bibliothek:
      Laden Sie von GitHub-Repository herunter und fügen Sie es dem Arduino-Bibliotheksverzeichnis hinzu, oder verwenden Sie den Bibliotheksmanager, falls verfügbar.
      Stellen Sie die Kompatibilität mit ESP32 sicher, da Espressif spezifische Unterstützung für tflite-micro bietet.

Schritt 4: Integration des Modells in den ESP32-Code

Integrieren Sie das Modell, indem Sie die .tflite-Datei in ein C-Array umwandeln und einen Arduino-Sketch schreiben, um es zu laden und auszuführen.
  • In C-Array umwandeln: Verwenden Sie xxd -i sine_model.tflite > sine_model.h, um eine Header-Datei zu generieren, die die Modelldaten als C-Array enthält, typischerweise:
unsigned char sine_model[] = { 0x00, 0x00, 0x00, 0x00, ... }; unsigned int sine_model_len = sizeof(sine_model);

Arduino-Sketch: Der folgende Code lädt und führt das Modell aus:
#include 
#include "tflite-micro.h"
#include "sine_model.h"

tflite::MicroErrorReporter mikro_fehler_berichtserstatter;
tflite::ErrorReporter* error_reporter = µ_error_reporter;
const unsigned char* model_data = sine_model;
const size_t model_size = sine_model_len;
const tflite::Model* model = tflite::GetModel(model_data);
tflite::AllOpsResolver resolver;
constexpr int kTensorArenaSize = 2000;
uint8_t tensor_arena[kTensorArenaSize];
tflite::MicroInterpreter interpreter(model, resolver, tensor_arena, kTensorArenaSize, error_reporter);

float randomFloat(float min, float max) {
    return min + (max - min) * (float)random(0, 10000) / 10000.0;
}

void setup() {
    Serial.begin(115200);
    interpreter.AllocateTensors();
}

void schleife() {
    float winkel = randomFloat(-3.1416, 3.1416);
    TfLiteTensor* input = interpreter.input(0);
    input->data.f[0] = winkel;
    if (interpreter.Invoke() != kTfLiteOk) {
        error_reporter->Report("Modellaufruf fehlgeschlagen");
        zurückkehren;
    }
    TfLiteTensor* output = interpreter.output(0);
    float vorhersage = output->data.f[0];
    Serial.print("Winkel: ");
    Serial.print(Winkel);
    Serial.print(", Vorhergesagte Sinus: ");
    Serial.println(Vorhersage);
    Verzögerung (1000);
}


✔ Kopiert!

 

  • Hinweise: Die randomFloat-Funktion generiert zufällige Winkel für Tests, indem sie eine einfache Skalierungsmethode verwendet. Die Größe des Tensor-Arena (2000 Bytes) muss möglicherweise für größere Modelle angepasst werden, da der ESP32 über 520 KB SRAM verfügt.

Schritt 5: Code hochladen und ausführen

Kompilieren und laden Sie den Sketch mit der Arduino IDE hoch, und öffnen Sie dann den Serial Monitor, um Ergebnisse wie Winkel und vorhergesagte Sinuswerte zu beobachten.
  • Verfahren: Stellen Sie sicher, dass das Board korrekt ausgewählt ist (z.B. ESP32 Dev Module), kompilieren und hochladen. Öffnen Sie den Serial Monitor bei 115200 Baud, um die Ausgaben zu sehen.

Überlegungen und potenzielle Herausforderungen

  • Speicherbeschränkungen: Der ESP32 verfügt über 520 KB SRAM und begrenzten Flash-Speicher. Stellen Sie daher sicher, dass das Modell und der Tensorbereich innerhalb dieser Grenzen passen. Optimieren Sie, indem Sie die Modellkomplexität reduzieren oder die Größe des Tensorbereichs bei Bedarf erhöhen.
  • Bibliothekskompatibilität: Stellen Sie sicher, dass die Version der tflite-micro-Bibliothek den Anforderungen des ESP32 entspricht, da Espressif spezifische Unterstützung bietet.
  • Zufallszahlengenerierung: Die randomFloat-Funktion verwendet eine einfache Skalierungsmethode, die möglicherweise nicht für alle Anwendungen präzise ist. Ziehen Sie in Betracht, einen robusteren Zufallszahlengenerator für die Produktion zu verwenden.
Schritt Beschreibung Befehl/Codebeispiel
Installieren Sie TensorFlow Installieren Sie TensorFlow für das Modelltraining pip install tensorflow
Modell trainieren Trainiere ein Sinusvorhersagemodell mit Keras Siehe den obenstehenden Python-Code
Modell konvertieren In TensorFlow Lite-Format konvertieren tflite_convert --keras_model_file sine_model.h5 --output_file sine_model.tflite
In C-Array konvertieren Generiere C-Header für Modelldaten xxd -i sine_model.tflite > sine_model.h
ESP32 einrichten Installieren Sie die Unterstützung für das ESP32-Board und die tflite-micro-Bibliothek URL hinzufügen http://dl.espressif.com/dl/package_esp32_index.json, über den Board-Manager installieren
Läuft auf ESP32 Arduino-Sketch zum Laden und Ausführen des Modells Siehe C++-Code oben

 

Unerwartete Beobachtung

Man könnte nicht erwarten, dass die Funktion random float eine einfache Skalierung von random(0, 10000) verwendet, die möglicherweise nicht die präziseste für maschinelles Lernen ist, aber für dieses Beispiel funktioniert und die Kompromisse in eingebetteten Systemen hervorhebt.

 

Abschluss

Dieser Leitfaden bietet einen umfassenden Prozess für die Bereitstellung von TensorFlow Lite auf ESP32, von der Schulung eines einfachen Sinusvorhersagemodells bis hin zur lokalen Ausführung. Er eröffnet Möglichkeiten für intelligente IoT-Geräte, wobei Überlegungen zu Speicher und Bibliotheksintegration eine praktische Implementierung gewährleisten.

Wichtige Zitate

 

Vorheriger Beitrag
Nächster Beitrag

Hinterlassen Sie einen Kommentar

Alle Blog-Kommentare werden vor der Veröffentlichung geprüft

Jemand kaufte vor kurzem ein

Danke fürs Abonnieren!

Diese E-Mail wurde registriert!

Shoppen Sie den Look

Wähle Optionen

zuletzt angesehen

Bearbeitungsoption
Benachrichtigung wieder vorrätig
this is just a warning
Anmeldung
Einkaufswagen
0 Artikel
RuffRuff App RuffRuff App by Tsun