

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
<a name="tensorflow-lite-object-detection-component"></a>

Die TensorFlow Lite-Objekterkennungskomponente (`aws.greengrass.TensorFlowLiteObjectDetection`) enthält einen Beispiel-Inferenzcode für die Durchführung von Inferenzen zur Objekterkennung mit [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python) und ein vortrainiertes Single Shot Detection (SSD) MobileNet 1.0-Modell als Beispiel. Diese Komponente verwendet die Variante [TensorFlow Modellspeicher für Lite-Objekterkennung](tensorflow-lite-object-detection-model-store-component.md) und die [TensorFlow Lite-Laufzeit](tensorflow-lite-component.md) Komponenten als Abhängigkeiten, um TensorFlow Lite und das Beispielmodell herunterzuladen. 

Um diese Inferenzkomponente mit einem speziell trainierten TensorFlow Lite-Modell zu verwenden, können Sie [eine benutzerdefinierte Version der abhängigen Modellspeicherkomponente erstellen](ml-customization.md#override-public-model-store). Um Ihren eigenen benutzerdefinierten Inferenzcode zu verwenden, verwenden Sie das Rezept dieser Komponente als Vorlage, um [eine benutzerdefinierte Inferenzkomponente zu erstellen](ml-customization.md#create-inference-component).

**Topics**
+ [Versionen](#tensorflow-lite-object-detection-component-versions)
+ [Typ](#tensorflow-lite-object-detection-component-type)
+ [Betriebssystem](#tensorflow-lite-object-detection-component-os-support)
+ [Voraussetzungen](#tensorflow-lite-object-detection-component-requirements)
+ [Abhängigkeiten](#tensorflow-lite-object-detection-component-dependencies)
+ [Konfiguration](#tensorflow-lite-object-detection-component-configuration)
+ [Lokale Protokolldatei](#tensorflow-lite-object-detection-component-log-file)
+ [Änderungsprotokoll](#tensorflow-lite-object-detection-component-changelog)

## Versionen
<a name="tensorflow-lite-object-detection-component-versions"></a>

Diese Komponente hat die folgenden Versionen:
+ 2.1.x

## Typ
<a name="tensorflow-lite-object-detection-component-type"></a>

<a name="public-component-type-generic"></a>Diese <a name="public-component-type-generic-phrase"></a>Komponente ist eine generische Komponente () `aws.greengrass.generic`. Der [Greengrass-Kern](greengrass-nucleus-component.md) führt die Lebenszyklusskripte der Komponente aus.

<a name="public-component-type-more-information"></a>Weitere Informationen finden Sie unter [Komponententypen](develop-greengrass-components.md#component-types).

## Betriebssystem
<a name="tensorflow-lite-object-detection-component-os-support"></a>

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

## Voraussetzungen
<a name="tensorflow-lite-object-detection-component-requirements"></a>

Für diese Komponente gelten die folgenden Anforderungen:<a name="ml-component-requirements"></a>
+ Auf Greengrass-Core-Geräten, auf denen Amazon Linux 2 oder Ubuntu 18.04 ausgeführt wird, ist die [GNU C Library](https://www.gnu.org/software/libc/) (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.<a name="raspberry-pi-bullseye-enable-legacy-camera-stack"></a>

**Um den Legacy-Kamerastack zu aktivieren**

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

       ```
       sudo raspi-config
       ```

    1. Wählen Sie **Schnittstellenoptionen**.

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

    1. Starten Sie den Raspberry Pi neu.

## Abhängigkeiten
<a name="tensorflow-lite-object-detection-component-dependencies"></a>

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](#tensorflow-lite-object-detection-component-changelog) 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](https://console.aws.amazon.com//greengrass) anzeigen. Suchen Sie auf der Seite mit den Komponentendetails nach der Liste der **Abhängigkeiten**.

------
#### [ 2.1.11 and 2.1.12 ]

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


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.13.0 | Weich | 
| [TensorFlow Lite-Modellspeicher zur Bildklassifizierung](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Hart | 
| [TensorFlow Leicht](tensorflow-lite-component.md) | >=2,5,0 <2,6,0 | Hart | 

------
#### [ 2.1.10 ]

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


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.12.0 | Weich | 
| [TensorFlow Lite-Modellspeicher zur Bildklassifizierung](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Hart | 
| [TensorFlow Leicht](tensorflow-lite-component.md) | >=2,5,0 <2,6,0 | Hart | 

------
#### [ 2.1.9 ]

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


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.11.0 | Weich | 
| [TensorFlow Lite-Modellspeicher zur Bildklassifizierung](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Hart | 
| [TensorFlow Leicht](tensorflow-lite-component.md) | >=2,5,0 <2,6,0 | Hart | 

------
#### [ 2.1.8 ]

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


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.10.0 | Weich | 
| [TensorFlow Lite-Modellspeicher zur Bildklassifizierung](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Hart | 
| [TensorFlow Leicht](tensorflow-lite-component.md) | >=2,5,0 <2,6,0 | Hart | 

------
#### [ 2.1.7 ]

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


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.9.0 | Weich | 
| [TensorFlow Lite-Modellspeicher zur Bildklassifizierung](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Hart | 
| [TensorFlow Leicht](tensorflow-lite-component.md) | >=2,5,0 <2,6,0 | Hart | 

------
#### [ 2.1.6 ]

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


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.8.0 | Weich | 
| [TensorFlow Lite-Modellspeicher zur Bildklassifizierung](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Hart | 
| [TensorFlow Leicht](tensorflow-lite-component.md) | >=2,5,0 <2,6,0 | Hart | 

------
#### [ 2.1.5 ]

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


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.7.0 | Weich | 
| [TensorFlow Lite-Modellspeicher zur Bildklassifizierung](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Hart | 
| [TensorFlow Leicht](tensorflow-lite-component.md) | >=2,5,0 <2,6,0 | Hart | 

------
#### [ 2.1.4 ]

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


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.6.0 | Weich | 
| [TensorFlow Lite-Modellspeicher zur Bildklassifizierung](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Hart | 
| [TensorFlow Leicht](tensorflow-lite-component.md) | >=2,5,0 <2,6,0 | Hart | 

------
#### [ 2.1.3 ]

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


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.5.0 | Weich | 
| [TensorFlow Lite-Modellspeicher zur Bildklassifizierung](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Hart | 
| [TensorFlow Leicht](tensorflow-lite-component.md) | >=2,5,0 <2,6,0 | Hart | 

------
#### [ 2.1.2 ]

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


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.4.0 | Weich | 
| [TensorFlow Lite-Modellspeicher zur Bildklassifizierung](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Hart | 
| [TensorFlow Leicht](tensorflow-lite-component.md) | >=2,5,0 <2,6,0 | Hart | 

------
#### [ 2.1.1 ]

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


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.3.0 | Weich | 
| [TensorFlow Lite-Modellspeicher zur Bildklassifizierung](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Hart | 
| [TensorFlow Leicht](tensorflow-lite-component.md) | >=2,5,0 <2,6,0 | Hart | 

------
#### [ 2.1.0 ]

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


| -Abhängigkeit | Kompatible Versionen | Art der Abhängigkeit | 
| --- | --- | --- | 
| [Grüngraskern](greengrass-nucleus-component.md) | >=2.0.0 <2.2.0 | Weich | 
| [TensorFlow Lite-Modellspeicher zur Bildklassifizierung](tensorflow-lite-image-classification-model-store-component.md) | >=2.1.0 <2.2.0 | Hart | 
| [TensorFlow Leicht](tensorflow-lite-component.md) | >=2,5,0 <2,6,0 | Hart | 

------

## Konfiguration
<a name="tensorflow-lite-object-detection-component-configuration"></a>

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

`accessControl`  
<a name="ml-config-accesscontrol-desc"></a>(Optional) Das Objekt, das die [Autorisierungsrichtlinie](interprocess-communication.md#ipc-authorization-policies) 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`  
<a name="ml-config-publishresultsontopic-desc"></a>(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` im `accessControl` Parameter so ändern, dass er Ihrem benutzerdefinierten Themennamen entspricht.  
Standard: `ml/tflite/object-detection`

`Accelerator`  <a name="ml-config-accelerator"></a>
Der Beschleuniger, den Sie verwenden möchten. Unterstützte Werte sind `cpu` und `gpu`.  
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](ml-customization.md#override-public-model-store), um die Komponente des öffentlichen Modells zu überschreiben.  
Standard: `cpu`

`ImageDirectory`  
<a name="ml-config-imagedirectory-desc"></a>(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 read/write Zugriff haben.  
<a name="ml-config-imagedirectory-obj-default"></a>Standard: `/greengrass/v2/packages/artifacts-unarchived/component-name/object_detection/sample_images/`  
Wenn Sie den Wert `UseCamera` auf setzen`true`, wird dieser Konfigurationsparameter ignoriert. 

`ImageName`  
<a name="ml-config-imagename-desc"></a>(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`, und`npy`.   
<a name="ml-config-imagename-obj-default"></a>Standard: `objects.jpg`  
Wenn Sie den Wert `UseCamera` auf setzen`true`, wird dieser Konfigurationsparameter ignoriert. 

`InferenceInterval`  <a name="ml-config-inferenceinterval"></a>
(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`  <a name="ml-config-modelresourcekey"></a>
<a name="ml-config-modelresourcekey-desc"></a>(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`  <a name="ml-config-usecamera"></a>
(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` und `false`.  
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 der `ImageDirectory` Parameter `ImageName` und werden ignoriert. Stellen Sie sicher, dass der Benutzer, der diese Komponente ausführt, read/write Zugriff auf den Speicherort hat, an dem die Kamera aufgenommene Bilder speichert.  
Standard: `false`  
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](update-component-configurations.md) ändern, wenn Sie die Komponente bereitstellen.   
Wenn Sie `UseCamera` auf setzen`true`, 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](ml-tutorial-image-classification-camera.md)

**Anmerkung**  <a name="ml-config-not-visible-note"></a>
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](update-component-configurations.md) ändern, wenn Sie die Komponente bereitstellen.   
Wenn Sie `UseCamera` auf setzen`true`, 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](ml-tutorial-image-classification-camera.md)

## Lokale Protokolldatei
<a name="tensorflow-lite-object-detection-component-log-file"></a>

Diese Komponente verwendet die folgende Protokolldatei.

------
#### [ Linux ]

```
/greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.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:\$1greengrass\$1v2* durch den Pfad zum AWS IoT Greengrass Stammordner.

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/aws.greengrass.TensorFlowLiteObjectDetection.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\aws.greengrass.TensorFlowLiteObjectDetection.log -Tail 10 -Wait
  ```

------

## Änderungsprotokoll
<a name="tensorflow-lite-object-detection-component-changelog"></a>

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  |  <a name="changelog-tensorflow-lite-object-detection-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/greengrass/v2/developerguide/tensorflow-lite-object-detection-component.html)  | 
|  2.1.0  |  Erste Version  | 