View a markdown version of this page

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-Laufzeitkomponente (variant.TensorFlowLite) enthält ein Skript, das TensorFlow Lite-Version 2.5.0 und ihre Abhängigkeiten in einer virtuellen Umgebung auf Ihrem Gerät installiert. Die TensorFlow Lite-Bildklassifizierung und die TensorFlow Lite-Objekterkennungskomponente verwenden diese Laufzeitkomponente als Abhängigkeit für die Installation von TensorFlow Lite.

Anmerkung

TensorFlow Die Lite-Laufzeitkomponente v2.5.6 und höher installiert bestehende Installationen der TensorFlow Lite-Runtime und ihrer Abhängigkeiten neu. Diese Neuinstallation hilft sicherzustellen, 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 Lifecycle-Skripte 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 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 auf dem Gerät installiert. OpenCV-Python 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 Kamerastapel ist auf dem Gerät aktiviert. Raspberry Pi OS Bullseye enthält einen neuen Kamerastapel, der standardmäßig aktiviert und nicht kompatibel ist. Sie müssen also den alten Kamerastapel aktivieren.

      Um den alten Kamerastapel 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, um den Legacy-Kamera-Stack zu aktivieren.

      4. Starten Sie den Raspberry Pi neu.

Endpunkte und Anschlüsse

Standardmäßig verwendet diese Komponente ein Installationsskript, um Pakete mithilfe der pip Befehleapt,yum, brew 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 ausführen zu können. Damit der ausgehende Datenverkehr dieser Komponente einen Proxy oder eine Firewall passieren kann, müssen Sie die Endpunkte für die Paketindizes und Repositorys identifizieren, an die sich Ihr Kerngerät zur Installation anschließt.

Beachten Sie Folgendes, wenn Sie die Endpunkte identifizieren, die für das Installationsskript dieser Komponente erforderlich sind:

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

  • Bei mehreren Geräten, die denselben Paketindex verwenden, können sich die Endpunkte unterscheiden, da jedes Gerät seine eigenen Quelllisten hat, die definieren, wo Pakete abgerufen werden.

  • 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 zum Deaktivieren des Installationsskripts finden Sie im UseInstaller Konfigurationsparameter.

Weitere Informationen zu Endpunkten und Ports, die für den grundlegenden Betrieb erforderlich sind, finden Sie unter. Geräteverkehr über einen Proxy oder eine Firewall zulassen

Abhängigkeiten

Wenn Sie eine Komponente bereitstellen, werden AWS IoT Greengrass auch kompatible Versionen ihrer Abhängigkeiten bereitgestellt. Das bedeutet, dass Sie die Anforderungen für die Komponente und alle ihre Abhängigkeiten erfüllen müssen, um die Komponente erfolgreich bereitzustellen. 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 die Abhängigkeiten für jede Version der Komponente auch 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 Typ der Abhängigkeit
Nukleus von Greengrass > =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 Typ der Abhängigkeit
Nukleus von Greengrass > =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 Typ der Abhängigkeit
Nukleus von Greengrass > =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 Typ der Abhängigkeit
Nukleus von Greengrass > =2,0,0 <2,1,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 Typ der Abhängigkeit
Nukleus von Greengrass > =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 Typ der Abhängigkeit
Nukleus von Greengrass > =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 Typ der Abhängigkeit
Nukleus von Greengrass > =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 Typ der Abhängigkeit
Nukleus von Greengrass > =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 Typ der Abhängigkeit
Nukleus von Greengrass > =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 Typ der Abhängigkeit
Nukleus von Greengrass > =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 Typ der Abhängigkeit
Nukleus von Greengrass > =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 Typ der Abhängigkeit
Grüngras-Kern > =2,0,0 <2,2,0 Weich

Weitere Informationen zu Komponentenabhängigkeiten finden Sie in der Komponentenrezeptreferenz.

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-Core-Geräten, in dem Inferenzkomponenten Bilder lesen und Inferenzergebnisse schreiben. Sie können diesen Wert an jeden Ort auf Ihrem Gerät ändern, auf den der Benutzer, der diese Komponente ausführt, Zugriff hat read/write .

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 an jeder Stelle auf Ihrem Gerät ändern, auf die der Benutzer, der diese Komponente ausführt, Zugriff hat read/write .

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

UseInstaller

(Optional) Zeichenkettenwert, der definiert, ob das Installationsskript in dieser Komponente zur Installation von TensorFlow Lite und seinen Abhängigkeiten verwendet werden soll. Unterstützte Werte sind true und false.

Setzen Sie diesen Wert auf, 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 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

Usage

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 für TensorFlow Lite erforderlichen NumPy Bibliotheken enthält.

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 für die Verwendung des installierten Frameworks für maschinelles Lernen erforderlich sind. Dadurch werden möglicherweise die vorhandenen Systembibliotheken auf Ihrem Gerät aktualisiert. 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 Keine
Ubuntu wget Keine

Wenn Sie Ihre Inferenzkomponente bereitstellen, überprüft diese Laufzeitkomponente 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

Die Version wurde für die Veröffentlichung von Greengrass Nucleus 2.12.5 aktualisiert.

2.5.14

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

2.5.13

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

2.5.12

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

2.5.11

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

2.5.10

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

2.5.9

Version für die Veröffentlichung von Greengrass Nucleus Version 2.7.0 aktualisiert.

2.5.8

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

2.5.7

Fehlerbehebungen und Verbesserungen
  • Aktualisiert das UseInstaller Installationsskript, um LibGL zu installieren, das auf bestimmten Linux-Plattformen standardmäßig nicht verfügbar ist.

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

2.5.6

Fehlerbehebungen 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 stattdessen installierttflite-runtime-2.5.0.

  • Aktualisiert diese Komponente, um bestehende Installationen von TensorFlow Lite und seinen Abhängigkeiten neu zu installieren. Diese Änderung trägt dazu bei, 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-Kerngerä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 Greengrass Nucleus-Version 2.4.0 aktualisiert.

2.5.2

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

2.5.1

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

2.5.0

Erste Version