TensorFlow Lite-Laufzeit - AWS IoT Greengrass

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

TensorFlow Lite-Laufzeit

Die TensorFlow Lite-Runtime-Komponente (variant.TensorFlowLite) enthält ein Skript, das die TensorFlow Lite-Version 2.5.0 und ihre Abhängigkeiten in einer virtuellen Umgebung auf Ihrem Gerät installiert. Die TensorFlow Lite-Komponente zur Bildklassifizierung und TensorFlow Lite-Objekterkennung verwendet diese Laufzeitkomponente als Abhängigkeit für die Installation von TensorFlow Lite.

Anmerkung

TensorFlow Die Lite-Runtime-Komponente v2.5.6 und höher installiert bestehende Installationen der TensorFlow Lite-Runtime und ihrer Abhängigkeiten neu. Durch diese Neuinstallation wird sichergestellt, dass auf dem Kerngerät kompatible Versionen von TensorFlow Lite und seinen Abhängigkeiten ausgeführt werden.

Um eine andere Laufzeit zu verwenden, können Sie das Rezept dieser Komponente als Vorlage verwenden, um eine benutzerdefinierte Komponente für maschinelles Lernen zu erstellen.

Versionen

Diese Komponente hat die folgenden Versionen:

  • 2.5.x

Typ

Diese Komponente ist eine generische Komponente () aws.greengrass.generic. Der Greengrass-Kern führt die Lebenszyklusskripte der Komponente aus.

Weitere Informationen finden Sie unter Komponententypen.

Betriebssystem

Diese Komponente kann auf Kerngeräten installiert werden, auf denen die folgenden Betriebssysteme ausgeführt werden:

  • Linux

  • Windows

Voraussetzungen

Für diese Komponente gelten die folgenden Anforderungen:

  • Auf Greengrass-Core-Geräten, auf denen Amazon Linux 2 oder Ubuntu 18.04 ausgeführt wird, ist die GNU C Library (Glibc) Version 2.27 oder höher auf dem Gerät installiert.

  • Auf ARMv7L-Geräten wie Raspberry Pi sind Abhängigkeiten für OpenCV-Python auf dem Gerät installiert. Führen Sie den folgenden Befehl aus, um die Abhängigkeiten zu installieren.

    sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
  • Raspberry Pi-Geräte, auf denen Raspberry Pi OS Bullseye ausgeführt wird, müssen die folgenden Anforderungen erfüllen:

    • NumPy 1.22.4 oder höher auf dem Gerät installiert. Raspberry Pi OS Bullseye enthält eine frühere Version von NumPy, sodass Sie den folgenden Befehl ausführen können, um das Gerät zu aktualisieren NumPy .

      pip3 install --upgrade numpy
    • Der ältere Kamerastack ist auf dem Gerät aktiviert. Raspberry Pi OS Bullseye enthält einen neuen Kamerastack, der standardmäßig aktiviert und nicht kompatibel ist. Sie müssen also den älteren Kamerastack aktivieren.

      Um den alten Kamerastack zu aktivieren
      1. Führen Sie den folgenden Befehl aus, um das Raspberry Pi-Konfigurationstool zu öffnen.

        sudo raspi-config
      2. Wählen Sie Schnittstellenoptionen.

      3. Wählen Sie Legacy-Kamera aus, um den Legacy-Kamerastack zu aktivieren.

      4. Starten Sie den Raspberry Pi neu.

Endpunkte und Anschlüsse

Standardmäßig verwendet diese Komponente ein Installationsskript, um Pakete mit den pip Befehlenapt, yumbrew, und zu installieren, je nachdem, welche Plattform das Kerngerät verwendet. Diese Komponente muss in der Lage sein, ausgehende Anfragen an verschiedene Paketindizes und Repositorys auszuführen, um das Installationsskript auszuführen. Damit der ausgehende Datenverkehr dieser Komponente über einen Proxy oder eine Firewall übertragen werden kann, müssen Sie die Endpunkte für die Paketindizes und Repositorys identifizieren, zu denen Ihr Kerngerät eine Verbindung zur Installation herstellt.

Beachten Sie bei der Identifizierung von Endpunkten, die für das Installationsskript dieser Komponente erforderlich sind, Folgendes:

  • Die Endpunkte hängen von der Plattform des Kerngeräts ab. Beispielsweise verwendet ein Kerngerät, auf dem Ubuntu ausgeführt wird, apt eher als yum oderbrew. Darüber hinaus haben Geräte, die denselben Paketindex verwenden, möglicherweise unterschiedliche Quelllisten, sodass sie Pakete aus verschiedenen Repositorys abrufen können.

  • Die Endpunkte können sich bei mehreren Geräten, die denselben Paketindex verwenden, unterscheiden, da jedes Gerät über eigene Quelllisten verfügt, die definieren, wo Pakete abgerufen werden sollen.

  • Die Endpunkte können sich im Laufe der Zeit ändern. Jeder Paketindex enthält die URLs der Repositorys, in die Sie Pakete herunterladen, und der Besitzer eines Pakets kann ändern, welche URLs der Paketindex bereitstellt.

Weitere Informationen zu den Abhängigkeiten, die diese Komponente installiert, und zur Deaktivierung des Installationsskripts finden Sie im UseInstallerKonfigurationsparameter.

Weitere Informationen zu Endpunkten und Ports, die für den Basisbetrieb erforderlich sind, finden Sie unterZulassen von Gerätedatenverkehr über einen Proxy oder eine Firewall.

Abhängigkeiten

Wenn Sie eine Komponente bereitstellen, stellt AWS IoT Greengrass auch kompatible Versionen ihrer Abhängigkeiten bereit. Das bedeutet, dass Sie die Anforderungen für die Komponente und all ihre Abhängigkeiten erfüllen müssen, um die Komponente erfolgreich bereitstellen zu können. In diesem Abschnitt werden die Abhängigkeiten für die veröffentlichten Versionen dieser Komponente sowie die semantischen Versionseinschränkungen aufgeführt, die die Komponentenversionen für jede Abhängigkeit definieren. Sie können auch die Abhängigkeiten für jede Version der Komponente in der AWS IoT Greengrass Konsole anzeigen. Suchen Sie auf der Seite mit den Komponentendetails nach der Liste der Abhängigkeiten.

2.5.14 and 2.5.15

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.5.14 und 2.5.15 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.13.0 Weich
2.5.13

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.5.13 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.12.0 Weich
2.5.12

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.5.12 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.11.0 Weich
2.5.11

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.5.11 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.10.0 Weich
2.5.10

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.5.10 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.9.0 Weich
2.5.9

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.5.9 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.8.0 Weich
2.5.8

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.5.8 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.7.0 Weich
2.5.5 - 2.5.7

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.5.5 bis 2.5.7 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.6.0 Weich
2.5.3 and 2.5.4

In der folgenden Tabelle sind die Abhängigkeiten für die Versionen 2.5.3 und 2.5.4 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.5.0 Weich
2.5.2

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.5.2 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.4.0 Weich
2.5.1

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.5.1 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.3.0 Weich
2.5.0

In der folgenden Tabelle sind die Abhängigkeiten für Version 2.5.0 dieser Komponente aufgeführt.

-Abhängigkeit Kompatible Versionen Art der Abhängigkeit
Grüngraskern >=2.0.0 <2.2.0 Weich

Weitere Informationen zu Komponentenabhängigkeiten finden Sie in der Referenz zu den Komponentenrezepten.

Konfiguration

Diese Komponente stellt die folgenden Konfigurationsparameter bereit, die Sie bei der Bereitstellung der Komponente anpassen können.

MLRootPath

(Optional) Der Pfad des Ordners auf Linux-Kerngeräten, in dem Inferenzkomponenten Bilder lesen und Inferenzergebnisse schreiben. Sie können diesen Wert in einen beliebigen Speicherort auf Ihrem Gerät ändern, auf den der Benutzer, der diese Komponente ausführt, Lese-/Schreibzugriff hat.

Standard: /greengrass/v2/work/variant.TensorFlowLite/greengrass_ml

WindowsMLRootPath

Diese Funktion ist in Version 1.6.6 und höher dieser Komponente verfügbar.

(Optional) Der Pfad des Ordners auf dem Windows Core-Gerät, in dem Inferenzkomponenten Bilder lesen und Inferenzergebnisse schreiben. Sie können diesen Wert in einen beliebigen Speicherort auf Ihrem Gerät ändern, auf den der Benutzer, der diese Komponente ausführt, Lese-/Schreibzugriff hat.

Standard: C:\greengrass\v2\\work\\variant.DLR\\greengrass_ml

UseInstaller

(Optional) Zeichenkettenwert, der definiert, ob das Installationsskript in dieser Komponente verwendet werden soll, um TensorFlow Lite und seine Abhängigkeiten zu installieren. Unterstützte Werte sind true und false.

Legen Sie diesen Wert auf fest, false wenn Sie ein benutzerdefiniertes Skript für die TensorFlow Lite-Installation verwenden möchten oder wenn Sie Laufzeitabhängigkeiten in ein vorgefertigtes Linux-Image aufnehmen möchten. Um diese Komponente mit den von AWS-bereitgestellten TensorFlow Lite-Inferenzkomponenten zu verwenden, installieren Sie die folgenden Bibliotheken, einschließlich aller Abhängigkeiten, und stellen Sie sie dem Systembenutzer zur Verfügung, z. B. ggc_user dem Systembenutzer, der die ML-Komponenten ausführt.

Standard: true

Verwendung

Verwenden Sie diese Komponente mit dem UseInstaller Konfigurationsparameter auf, true um TensorFlow Lite und seine Abhängigkeiten auf Ihrem Gerät zu installieren. Die Komponente richtet eine virtuelle Umgebung auf Ihrem Gerät ein, die OpenCV und die NumPy Bibliotheken enthält, die für TensorFlow Lite erforderlich sind.

Anmerkung

Das Installationsskript in dieser Komponente installiert auch die neuesten Versionen zusätzlicher Systembibliotheken, die für die Konfiguration der virtuellen Umgebung auf Ihrem Gerät und die Verwendung des installierten Frameworks für maschinelles Lernen erforderlich sind. Dadurch könnten die vorhandenen Systembibliotheken auf Ihrem Gerät aktualisiert werden. In der folgenden Tabelle finden Sie eine Liste der Bibliotheken, die diese Komponente für jedes unterstützte Betriebssystem installiert. Wenn Sie diesen Installationsvorgang anpassen möchten, setzen Sie den UseInstaller Konfigurationsparameter auf false und entwickeln Sie Ihr eigenes Installationsskript.

Plattform Auf dem Gerätesystem installierte Bibliotheken In der virtuellen Umgebung installierte Bibliotheken
Armv7l build-essential, cmake, ca-certificates, git setuptools, wheel
Amazon Linux 2 mesa-libGL None
Ubuntu wget None

Wenn Sie Ihre Inferenzkomponente bereitstellen, überprüft diese Runtime-Komponente zunächst, ob TensorFlow Lite und die zugehörigen Abhängigkeiten auf Ihrem Gerät bereits installiert sind. Wenn nicht, installiert die Runtime-Komponente sie für Sie.

Lokale Protokolldatei

Diese Komponente verwendet die folgende Protokolldatei.

Linux
/greengrass/v2/logs/variant.TensorFlowLite.log
Windows
C:\greengrass\v2\logs\variant.TensorFlowLite.log
Um die Protokolle dieser Komponente einzusehen
  • Führen Sie den folgenden Befehl auf dem Kerngerät aus, um die Protokolldatei dieser Komponente in Echtzeit anzuzeigen. Ersetzen Sie /greengrass/v2 oder C:\greengrass\v2 durch den Pfad zum AWS IoT Greengrass Stammordner.

    Linux
    sudo tail -f /greengrass/v2/logs/variant.TensorFlowLite.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\variant.TensorFlowLite.log -Tail 10 -Wait

Änderungsprotokoll

In der folgenden Tabelle werden die Änderungen in den einzelnen Versionen der Komponente beschrieben.

Version

Änderungen

2.5.15

Version für Greengrass Nucleus 2.12.5 aktualisiert.

2.5.14

Die Version wurde für die Version 2.12.0 von Greengrass Nucleus aktualisiert.

2.5.13

Die Version wurde für die Version 2.11.0 von Greengrass Nucleus aktualisiert.

2.5.12

Die Version wurde für die Version 2.10.0 von Greengrass Nucleus aktualisiert.

2.5.11

Die Version wurde für die Version 2.9.0 von Greengrass Nucleus aktualisiert.

2.5.10

Die Version wurde für die Version 2.8.0 von Greengrass Nucleus aktualisiert.

2.5.9

Die Version wurde für die Version 2.7.0 von Greengrass Nucleus aktualisiert.

2.5.8

Die Version wurde für die Version 2.6.0 von Greengrass Nucleus aktualisiert.

2.5.7

Fehlerkorrekturen und Verbesserungen
  • Aktualisiert das UseInstaller Installationsskript zur Installation von LibGL, das auf bestimmten Linux-Plattformen standardmäßig nicht verfügbar ist.

  • Aktualisiert das UseInstaller Installationsskript, sodass es in der virtuellen Umgebung dieser Komponente immer Python 3.9 verwendet. Diese Änderung trägt dazu bei, die Kompatibilität mit anderen Bibliotheken sicherzustellen.

2.5.6

Fehlerkorrekturen und Verbesserungen
  • Aktualisiert diese Komponente, um den neuesten Patch von TensorFlow Lite 2.5.0 (tflite-runtime-2.5.0.post1) zu installieren, sodass Sie diese Komponente mit Python 3.9 verwenden können. Wenn diese Komponente diesen Patch nicht installieren kann, wird sie tflite-runtime-2.5.0 stattdessen installiert.

  • Aktualisiert diese Komponente, um bestehende Installationen von TensorFlow Lite und seinen Abhängigkeiten neu zu installieren. Durch diese Änderung wird sichergestellt, dass auf dem Kerngerät kompatible Versionen von TensorFlow Lite und seinen Abhängigkeiten ausgeführt werden.

2.5.5

Neue Features
  • Fügt Unterstützung für Kerngeräte hinzu, auf denen Windows ausgeführt wird.

  • Fügt den neuen WindowsMLRootPath Konfigurationsparameter hinzu, mit dem Sie den Ordner mit den Inferenzergebnissen auf Windows-Core-Geräten konfigurieren können.

2.5.4

Neue Features
  • Fügt den neuen UseInstaller Konfigurationsparameter hinzu, mit dem Sie das Installationsskript in dieser Komponente deaktivieren können.

2.5.3

Die Version wurde für die Version 2.4.0 von Greengrass Nucleus aktualisiert.

2.5.2

Die Version wurde für die Version 2.3.0 von Greengrass Nucleus aktualisiert.

2.5.1

Die Version wurde für die Version 2.2.0 von Greengrass Nucleus aktualisiert.

2.5.0

Erste Version