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-Objekterkennung
Die TensorFlow Lite-Objekterkennungskomponente (aws.greengrass.TensorFlowLiteObjectDetection
) enthält einen Beispiel-Inferenzcode für die Durchführung von Inferenzen zur Objekterkennung mit TensorFlow Lite
Um diese Inferenzkomponente mit einem speziell trainierten TensorFlow Lite-Modell zu verwenden, können Sie eine benutzerdefinierte Version der abhängigen Modellspeicherkomponente erstellen. Um Ihren eigenen benutzerdefinierten Inferenzcode zu verwenden, verwenden Sie das Rezept dieser Komponente als Vorlage, um eine benutzerdefinierte Inferenzkomponente zu erstellen.
Themen
Versionen
Diese Komponente hat die folgenden Versionen:
-
2.1.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
-
Führen Sie den folgenden Befehl aus, um das Raspberry Pi-Konfigurationstool zu öffnen.
sudo raspi-config
-
Wählen Sie Schnittstellenoptionen.
-
Wählen Sie Legacy-Kamera aus, um den Legacy-Kamerastack zu aktivieren.
-
Starten Sie den Raspberry Pi neu.
-
-
Abhängigkeiten
Wenn Sie eine Komponente bereitstellen, stellt sie 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
Konfiguration
Diese Komponente stellt die folgenden Konfigurationsparameter bereit, die Sie bei der Bereitstellung der Komponente anpassen können.
accessControl
-
(Optional) Das Objekt, das die Autorisierungsrichtlinie enthält, die es der Komponente ermöglicht, Nachrichten unter dem Standardthema für Benachrichtigungen zu veröffentlichen.
Standard:
{ "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.TensorFlowLiteObjectDetection:mqttproxy:1": { "policyDescription": "Allows access to publish via topic ml/tflite/object-detection.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "ml/tflite/object-detection" ] } } }
PublishResultsOnTopic
-
(Optional) Das Thema, zu dem Sie die Inferenzergebnisse veröffentlichen möchten. Wenn Sie diesen Wert ändern, müssen Sie auch den Wert von
resources
imaccessControl
Parameter so ändern, dass er Ihrem benutzerdefinierten Themennamen entspricht.Standard:
ml/tflite/object-detection
Accelerator
-
Der Beschleuniger, den Sie verwenden möchten. Unterstützte Werte sind
cpu
undgpu
.Die Beispielmodelle in der abhängigen Modellkomponente unterstützen nur CPU-Beschleunigung. Um die GPU-Beschleunigung mit einem anderen benutzerdefinierten Modell zu verwenden, erstellen Sie eine benutzerdefinierte Modellkomponente, um die öffentliche Modellkomponente zu überschreiben.
Standard:
cpu
ImageDirectory
-
(Optional) Der Pfad des Ordners auf dem Gerät, in dem Inferenzkomponenten Bilder lesen. Sie können diesen Wert an einen beliebigen Ort auf Ihrem Gerät ändern, auf den Sie Lese-/Schreibzugriff haben.
Standard:
/packages/artifacts-unarchived//greengrass/v2
component-name
/object_detection/sample_images/Anmerkung
Wenn Sie den Wert auf setzen
UseCamera
true
, wird dieser Konfigurationsparameter ignoriert. ImageName
-
(Optional) Der Name des Bilds, das die Inferenzkomponente als Eingabe für eine Make-Vorhersage verwendet. Die Komponente sucht in dem unter angegebenen Ordner nach dem Bild.
ImageDirectory
Standardmäßig verwendet die Komponente das Beispielbild im Standard-Bildverzeichnis. AWS IoT Greengrass unterstützt die folgenden Bildformate:jpeg
jpg
,png
, undnpy
.Standard:
objects.jpg
Anmerkung
Wenn Sie den Wert
UseCamera
auf setzentrue
, wird dieser Konfigurationsparameter ignoriert. InferenceInterval
-
(Optional) Die Zeit in Sekunden zwischen den einzelnen Vorhersagen des Inferenzcodes. Der Beispiel-Inferenzcode wird unbegrenzt ausgeführt und wiederholt seine Vorhersagen im angegebenen Zeitintervall. Sie können dieses Intervall beispielsweise auf ein kürzeres Intervall ändern, wenn Sie mit einer Kamera aufgenommene Bilder für Vorhersagen in Echtzeit verwenden möchten.
Standard:
3600
ModelResourceKey
-
(Optional) Die Modelle, die in der abhängigen öffentlichen Modellkomponente verwendet werden. Ändern Sie diesen Parameter nur, wenn Sie die Komponente des öffentlichen Modells durch eine benutzerdefinierte Komponente überschreiben.
Standard:
{ "model": "TensorFlowLite-SSD" }
UseCamera
-
(Optional) Zeichenkettenwert, der definiert, ob Bilder von einer Kamera verwendet werden sollen, die mit dem Greengrass-Core-Gerät verbunden ist. Unterstützte Werte sind
true
undfalse
.Wenn Sie diesen Wert auf setzen
true
, greift der Beispiel-Inferenzcode auf die Kamera auf Ihrem Gerät zu und führt die Inferenz lokal für das aufgenommene Bild aus. Die Werte derImageDirectory
ParameterImageName
und werden ignoriert. Stellen Sie sicher, dass der Benutzer, der diese Komponente ausführt, Lese-/Schreibzugriff auf den Speicherort hat, an dem die Kamera aufgenommene Bilder speichert.Standard:
false
Anmerkung
Wenn Sie sich das Rezept für diese Komponente ansehen, erscheint der
UseCamera
Konfigurationsparameter nicht in der Standardkonfiguration. Sie können den Wert dieses Parameters jedoch in einem Update zur Zusammenführung der Konfiguration ändern, wenn Sie die Komponente bereitstellen.Wenn Sie
UseCamera
auf setzentrue
, müssen Sie auch einen Symlink erstellen, damit die Inferenzkomponente über die virtuelle Umgebung, die von der Runtime-Komponente erstellt wurde, auf Ihre Kamera zugreifen kann. Weitere Hinweise zur Verwendung einer Kamera mit den Beispiel-Inferenzkomponenten finden Sie unter. Komponentenkonfigurationen aktualisieren
Anmerkung
Wenn Sie sich das Rezept für diese Komponente ansehen, wird der UseCamera
Konfigurationsparameter in der Standardkonfiguration nicht angezeigt. Sie können den Wert dieses Parameters jedoch in einem Update zur Zusammenführung der Konfiguration ändern, wenn Sie die Komponente bereitstellen.
Wenn Sie UseCamera
auf setzentrue
, müssen Sie auch einen Symlink erstellen, damit die Inferenzkomponente über die virtuelle Umgebung, die von der Runtime-Komponente erstellt wurde, auf Ihre Kamera zugreifen kann. Weitere Hinweise zur Verwendung einer Kamera mit den Beispiel-Inferenzkomponenten finden Sie unter. Komponentenkonfigurationen aktualisieren
Lokale Protokolldatei
Diese Komponente verwendet die folgende Protokolldatei.
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
oder/greengrass/v2
C:\greengrass\v2
durch den Pfad zum AWS IoT Greengrass Stammordner.
Änderungsprotokoll
In der folgenden Tabelle werden die Änderungen in den einzelnen Versionen der Komponente beschrieben.
Version |
Änderungen |
---|---|
2.1.12 |
Die Version wurde für die Version Greengrass Nucleus 2.12.5 aktualisiert. |
2.1.11 |
Die Version wurde für die Version 2.12.0 von Greengrass Nucleus aktualisiert. |
2.1.10 |
Die Version wurde für die Version 2.11.0 von Greengrass Nucleus aktualisiert. |
2.1.9 |
Die Version wurde für die Version 2.10.0 von Greengrass Nucleus aktualisiert. |
2.1.8 |
Die Version wurde für die Version 2.9.0 von Greengrass Nucleus aktualisiert. |
2.1.7 |
Die Version wurde für die Version 2.8.0 von Greengrass Nucleus aktualisiert. |
2.1.6 |
Die Version wurde für die Version 2.7.0 von Greengrass Nucleus aktualisiert. |
2.1.5 |
Die Version wurde für die Version 2.6.0 von Greengrass Nucleus aktualisiert. |
2.1.4 |
Die Version wurde für die Version 2.5.0 von Greengrass Nucleus aktualisiert. |
2.1.3 |
Die Version wurde für die Version 2.4.0 von Greengrass Nucleus aktualisiert. |
2.1.2 |
Die Version wurde für die Version 2.3.0 von Greengrass Nucleus aktualisiert. |
2.1.1 |
|
2.1.0 |
Erste Version |