

Hinweis zum Ende des Supports: Am 7. Oktober 2026 AWS wird der Support für eingestellt. AWS IoT Greengrass Version 1 Nach dem 7. Oktober 2026 können Sie nicht mehr auf die Ressourcen zugreifen. AWS IoT Greengrass V1 Weitere Informationen finden Sie unter [Migrieren von AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

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.

# Anschluss zur ML-Objekterkennung
<a name="obj-detection-connector"></a>

**Warnung**  <a name="connectors-extended-life-phase-warning"></a>
Dieser Konnektor befindet sich in der *Phase mit verlängerter Lebensdauer* und veröffentlicht AWS IoT Greengrass keine Updates, die Funktionen, Verbesserungen vorhandener Funktionen, Sicherheitspatches oder Bugfixes bieten. Weitere Informationen finden Sie unter [AWS IoT Greengrass Version 1 Wartungspolitik](maintenance-policy.md).

Die [ML-Objekterkennungs-Konnektoren](connectors.md) bieten einen Inferenzdienst für maschinelles Lernen (ML), der auf dem AWS IoT Greengrass Kern ausgeführt wird. Dieser lokale Inferenzdienst führt die Objekterkennung mithilfe eines Objekterkennungsmodells durch, das vom SageMaker AI Neo Deep Learning-Compiler kompiliert wurde. Es werden zwei Arten von Objekterkennungsmodellen unterstützt: Single Shot Multibox Detector (SSD) und You Only Look Once (YOLO) v3. Weitere Informationen finden Sie unter [Objekterkennungsmodell-Anforderungen](#obj-detection-connector-req-model).

 Benutzerdefinierte Lambda-Funktionen verwenden das AWS IoT Greengrass Machine Learning SDK, um Inferenzanfragen an den lokalen Inferenzdienst zu senden. Der Service führt eine lokale Inferenz für ein Eingabebild aus und gibt eine Liste mit Voraussagen für jedes im Bild erkannte Objekt zurück. Jede Voraussage enthält eine Objektkategorie, einen Zuverlässigkeitswert für Voraussagen und Pixelkoordinaten, die einen Begrenzungsrahmen um das vorhergesagte Objekt angeben. 

AWS IoT Greengrass bietet Konnektoren zur ML-Objekterkennung für mehrere Plattformen:


| Konnektor | Beschreibung und ARN | 
| --- | --- | 
| ML-Objekterkennung (Aarch64) JTX2 |  Inferenzdienst zur Objekterkennung für NVIDIA Jetson. TX2 Unterstützt die GPU-Beschleunigung.  **ARN**: `arn:aws:greengrass:region::/connectors/ObjectDetectionAarch64JTX2/versions/1`   | 
| ML-Objekterkennung x86\$164 |  Inferenzservice für die Objekterkennung für x86\$164-Plattformen.  **ARN**: `arn:aws:greengrass:region::/connectors/ObjectDetectionx86-64/versions/1`   | 
| ML-Objekterkennung ARMv7 |   Inferenzdienst zur Objekterkennung für ARMv7 Plattformen.   **ARN**: `arn:aws:greengrass:region::/connectors/ObjectDetectionARMv7/versions/1`   | 

## Voraussetzungen
<a name="obj-detection-connector-req"></a>

Für diese Konnektoren gelten die folgenden Anforderungen:
+ AWS IoT Greengrass Kernsoftware v1.9.3 oder höher.
+ <a name="conn-req-py-3.7-and-3.8"></a>[Python-Version](https://www.python.org/) 3.7 oder 3.8 wurde auf dem Core-Gerät installiert und zur Umgebungsvariablen PATH hinzugefügt.
**Anmerkung**  <a name="use-runtime-py3.8"></a>
Um Python 3.8 zu verwenden, führen Sie den folgenden Befehl aus, um einen symbolischen Link vom standardmäßigen Python 3.7-Installationsordner zu den installierten Python 3.8-Binärdateien zu erstellen.  

  ```
  sudo ln -s path-to-python-3.8/python3.8 /usr/bin/python3.7
  ```
Dadurch wird Ihr Gerät so konfiguriert, dass es die Python-Anforderung für AWS IoT Greengrass erfüllt.
+ Abhängigkeiten für die SageMaker AI Neo Deep Learning-Runtime, die auf dem Kerngerät installiert ist. Weitere Informationen finden Sie unter [Installation der Deep-Learning-Laufzeitabhängigkeiten von Neo auf dem AWS IoT Greengrass Core](#obj-detection-connector-config).
+ Eine [ML-Ressource](ml-inference.md#ml-resources) in der Greengrass-Gruppe. Die ML-Ressource muss auf einen Amazon S3 S3-Bucket verweisen, der ein Objekterkennungsmodell enthält. Weitere Informationen finden Sie unter [Amazon S3 S3-Modellquellen](ml-inference.md#s3-ml-resources).
**Anmerkung**  
Das Modell muss ein Objekterkennungsmodell des Typs Single Shot Multibox Detector oder You Only Look Once v3 sein. Es muss mit dem SageMaker AI Neo Deep Learning-Compiler kompiliert werden. Weitere Informationen finden Sie unter [Objekterkennungsmodell-Anforderungen](#obj-detection-connector-req-model).
+ <a name="req-image-classification-feedback"></a>Der [ML Feedback-Connector](ml-feedback-connector.md) wurde der Greengrass-Gruppe hinzugefügt und konfiguriert. Nur erforderlich, wenn Sie den Konnektor verwenden möchten, um Modelleingabedaten hochzuladen und Prognosen in einem MQTT-Thema zu veröffentlichen.
+ AWS IoT Greengrass Für die Interaktion mit diesem Connector ist das [Machine Learning SDK](lambda-functions.md#lambda-sdks-ml) v1.1.0 erforderlich.

### Objekterkennungsmodell-Anforderungen
<a name="obj-detection-connector-req-model"></a>

Die ML-Objekterkennungsanschlüsse unterstützen die Objekterkennungsmodelle Single Shot Multibox Detector (SSD) und You Only Look Once (YOLO) v3. Sie können die von [GluonCV](https://gluon-cv.mxnet.io) bereitgestellten Objekterkennungskomponenten verwenden, um das Modell mit Ihrem eigenen Datensatz zu trainieren. Sie können auch vorab trainierte Modelle aus dem GluonCV Model Zoo verwenden:
+ [Vortrainiertes SSD-Modell](https://gluon-cv.mxnet.io/build/examples_detection/demo_ssd.html)
+ [Vortrainiertes YOLO v3-Modell](https://gluon-cv.mxnet.io/build/examples_detection/demo_yolo.html)

Ihr Objekterkennungsmodell muss mit 512-x-512-Eingabebildern trainiert worden sein. Die vortrainierten Modelle aus dem GluonCV Model Zoo erfüllen diese Anforderung bereits.

Trainierte Objekterkennungsmodelle müssen mit dem SageMaker AI Neo Deep Learning-Compiler kompiliert werden. Stellen Sie beim Kompilieren sicher, dass die Zielhardware mit der Hardware Ihres Greengrass Core-Geräts übereinstimmt. Weitere Informationen finden Sie unter [ SageMaker AI Neo](https://docs.aws.amazon.com/sagemaker/latest/dg/neo.html) im *Amazon SageMaker AI Developer Guide*.

Das kompilierte Modell muss als ML-Ressource ([Amazon S3 S3-Modellquelle](ml-inference.md#s3-ml-resources)) derselben Greengrass-Gruppe wie der Connector hinzugefügt werden.

## Konnektor-Parameter
<a name="obj-detection-connector-param"></a>

Diese Konnektoren stellen die folgenden Parameter bereit.

`MLModelDestinationPath`  
Der absolute Pfad zum Amazon S3 S3-Bucket, der das NEO-kompatible ML-Modell enthält. Dies ist der Zielpfad, der für die ML-Modellressource angegeben ist.  
Anzeigename in der AWS IoT Konsole: **Zielpfad des Modells**  
Erforderlich: `true`  
Typ: `string`  
Gültiges Muster: `.+`

`MLModelResourceId`  
Die ID der ML-Ressource, die auf das Quellmodell verweist.  
Anzeigename in der AWS IoT Konsole: **Greengrass-Gruppen-ML-Ressource**  
Erforderlich: `true`  
Typ: `S3MachineLearningModelResource`  
Gültiges Muster: `^[a-zA-Z0-9:_-]+$`

`LocalInferenceServiceName`  
Der Name für den lokalen Inferenzdienst. Benutzerdefinierte Lambda-Funktionen rufen den Dienst auf, indem sie den Namen an die `invoke_inference_service` Funktion des AWS IoT Greengrass Machine Learning SDK übergeben. Ein Beispiel finden Sie unter [Beispiel für eine Verwendung](#obj-detection-connector-usage).  
Anzeigename in der AWS IoT Konsole: Name des **lokalen Inferenzdienstes**  
Erforderlich: `true`  
Typ: `string`  
Gültiges Muster: `^[a-zA-Z0-9][a-zA-Z0-9-]{1,62}$`

`LocalInferenceServiceTimeoutSeconds`  
Die Zeitspanne (in Sekunden), nach der die Inferenzanforderung beendet wird. Der minimale Wert beträgt 1. Der Standardwert lautet 10.  
Anzeigename in der AWS IoT Konsole: **Timeout (Sekunde)**  
Erforderlich: `true`  
Typ: `string`  
Gültiges Muster: `^[1-9][0-9]*$`

`LocalInferenceServiceMemoryLimitKB`  
Die Speichergröße (in KB), auf die der Service Zugriff hat. Der minimale Wert beträgt 1.  
Anzeigename in der AWS IoT Konsole: **Speicherlimit**  
Erforderlich: `true`  
Typ: `string`  
Gültiges Muster: `^[1-9][0-9]*$`

`GPUAcceleration`  <a name="param-image-classification-gpuacceleration"></a>
Der CPU- oder GPU-(beschleunigte) Berechnungskontext. Diese Eigenschaft gilt nur für den JTX2 Aarch64-Konnektor von ML Image Classification.  
**Anzeigename in der AWS IoT Konsole: GPU-Beschleunigung**  
Erforderlich: `true`  
Typ: `string`  
Gültige Werte: `CPU` oder `GPU`.

`MLFeedbackConnectorConfigId`  <a name="param-image-classification-feedbackconfigid"></a>
Die ID der Feedback-Konfiguration, die zum Hochladen von Modelleingabedaten verwendet werden soll. Diese muss mit der ID einer Feedback-Konfiguration übereinstimmen, die für den [ML-Feedback-Konnektor](ml-feedback-connector.md)definiert ist.  
Dieser Parameter ist nur erforderlich, wenn Sie den ML-Feedback-Konnektor verwenden möchten, um Modelleingabedaten hochzuladen und Prognosen in einem MQTT-Thema zu veröffentlichen.  
Anzeigename in der AWS IoT Konsole: **Konfigurations-ID des ML Feedback-Connectors**  
Erforderlich: `false`  
Typ: `string`  
Gültiges Muster: `^$|^[a-zA-Z0-9][a-zA-Z0-9-]{1,62}$`

### Beispiel für das Erstellen eines Konnektors (AWS CLI)
<a name="obj-detection-connector-create"></a>

Der folgende CLI-Befehl erstellt eine `ConnectorDefinition` mit einer ersten Version, die einen ML-Objekterkennungs-Konnektor enthält. In diesem Beispiel wird eine Instanz des ML Object ARMv7l Detection-Konnektors erstellt.

```
aws greengrass create-connector-definition --name MyGreengrassConnectors --initial-version '{
    "Connectors": [
        {
            "Id": "MyObjectDetectionConnector",
            "ConnectorArn": "arn:aws:greengrass:region::/connectors/ObjectDetectionARMv7/versions/1",
            "Parameters": {
                "MLModelDestinationPath": "/path-to-model",
                "MLModelResourceId": "my-ml-resource",
                "LocalInferenceServiceName": "objectDetection",
                "LocalInferenceServiceTimeoutSeconds": "10",
                "LocalInferenceServiceMemoryLimitKB": "500000",
                "MLFeedbackConnectorConfigId" : "object-detector-random-sampling"
            }
        }
    ]
}'
```

**Anmerkung**  
Die Lambda-Funktion in diesen Steckverbindern hat einen [langlebigen Lebenszyklus](lambda-functions.md#lambda-lifecycle).

**In der AWS IoT Greengrass Konsole können Sie über die Connectors-Seite der Gruppe einen Connector hinzufügen.** Weitere Informationen finden Sie unter [Erste Schritte mit Greengrass-Konnektoren (Konsole)](connectors-console.md).

## Eingabedaten
<a name="obj-detection-connector-data-input"></a>

 Diese Konnektoren akzeptieren eine Bilddatei als Eingabe. Eingabebilddateien müssen im `jpeg`- oder `png`-Format vorliegen. Weitere Informationen finden Sie unter [Beispiel für eine Verwendung](#obj-detection-connector-usage). 

Diese Konnektoren akzeptieren keine MQTT-Nachrichten als Eingabedaten.

## Ausgabedaten
<a name="obj-detection-connector-data-output"></a>

 Diese Konnektoren geben eine formatierte Liste der Voraussageergebnisse für die identifizierten Objekte im Eingabebild zurück: 

```
     {
         "prediction": [
             [
                 14,
                 0.9384938478469849,
                 0.37763649225234985,
                 0.5110225081443787,
                 0.6697432398796082,
                 0.8544386029243469
             ],
             [
                 14,
                 0.8859519958496094,
                 0,
                 0.43536216020584106,
                 0.3314110040664673,
                 0.9538808465003967
             ],
             [
                 12,
                 0.04128098487854004,
                 0.5976729989051819,
                 0.5747185945510864,
                 0.704264223575592,
                 0.857937216758728
             ],
             ...
         ]
     }
```

Jede Voraussage in der Liste wird von eckigen Klammern umschlossen und enthält sechs Werte:
+  Der erste Wert stellt die vorausgesagte Objektkategorie für das identifizierte Objekt dar. Objektkategorien und ihre entsprechenden Werte werden beim Training Ihres Machine-Learning-Modells zur Objekterkennung im Neo Deep Learning-Compiler bestimmt.
+ Der zweite Wert ist der Zuverlässigkeitswert für die Objektkategorievoraussage. Dieser Wert stellt die Wahrscheinlichkeit dar, mit der die Voraussage korrekt ist. 
+ Die letzten vier Werte entsprechen den Pixeldimensionen, die einen Begrenzungsrahmen um das vorausgesagte Objekt im Bild darstellen.

Diese Konnektoren veröffentlichen keine MQTT-Nachrichten als Ausgabedaten.

## Beispiel für eine Verwendung
<a name="obj-detection-connector-usage"></a>

Die folgende Lambda-Beispielfunktion verwendet das [AWS IoT Greengrass Machine Learning SDK](lambda-functions.md#lambda-sdks-ml), um mit einem ML Object Detection-Konnektor zu interagieren.

**Anmerkung**  
 Sie können das SDK von der Downloadseite des [AWS IoT Greengrass Machine Learning SDK](what-is-gg.md#gg-ml-sdk-download) herunterladen. 

Das Beispiel initialisiert einen SDK-Client und ruft synchron die Funktion `invoke_inference_service` des SDK auf, um den lokalen Inferenzdienst aufzurufen. Es wird der Algorithmustyp, der Servicename, der Bildtyp und der Bildinhalt übergeben. Anschließend analysiert das Beispiel die Service-Antwort, um die Wahrscheinlichkeitsergebnisse (Vorhersagen) zu erhalten.

```
import logging
from threading import Timer

import numpy as np

import greengrass_machine_learning_sdk as ml

# We assume the inference input image is provided as a local file
# to this inference client Lambda function.
with open('/test_img/test.jpg', 'rb') as f:
    content = bytearray(f.read())

client = ml.client('inference')

def infer():
    logging.info('invoking Greengrass ML Inference service')

    try:
        resp = client.invoke_inference_service(
            AlgoType='object-detection',
            ServiceName='objectDetection',
            ContentType='image/jpeg',
            Body=content
        )
    except ml.GreengrassInferenceException as e:
        logging.info('inference exception {}("{}")'.format(e.__class__.__name__, e))
        return
    except ml.GreengrassDependencyException as e:
        logging.info('dependency exception {}("{}")'.format(e.__class__.__name__, e))
        return

    logging.info('resp: {}'.format(resp))
    predictions = resp['Body'].read().decode("utf-8")
    logging.info('predictions: {}'.format(predictions))
    predictions = eval(predictions) 

    # Perform business logic that relies on the predictions.
    
    # Schedule the infer() function to run again in ten second.
    Timer(10, infer).start()
    return

infer()

def function_handler(event, context):
    return
```

Die `invoke_inference_service` Funktion im AWS IoT Greengrass Machine Learning SDK akzeptiert die folgenden Argumente.


| Argument | Beschreibung | 
| --- | --- | 
| `AlgoType` | Der Name des Algorithmentyps, der für die Inferenz verwendet werden soll. Derzeit wird nur `object-detection` unterstützt. Erforderlich: `true` Typ: `string` Zulässige Werte: `object-detection` | 
| `ServiceName` | Der Name des lokalen Inferenzdienstes. Verwenden Sie den Namen, den Sie für den Parameter `LocalInferenceServiceName` bei der Konfiguration des Konnektors angegeben haben. Erforderlich: `true` Typ: `string` | 
| `ContentType` | Der Mime-Typ des Eingangsbildes. Erforderlich: `true` Typ: `string` Zulässige Werte: `image/jpeg, image/png` | 
| `Body` | Der Inhalt der Eingabebilddatei. Erforderlich: `true` Typ: `binary` | 

## Installation der Deep-Learning-Laufzeitabhängigkeiten von Neo auf dem AWS IoT Greengrass Core
<a name="obj-detection-connector-config"></a>

Die ML Object Detection-Konnektoren sind im Lieferumfang der SageMaker AI Neo Deep Learning Runtime (DLR) enthalten. Die Konnektoren verwenden die Laufzeit, um das ML-Modell zu bedienen. Um diese Konnektoren zu verwenden, müssen Sie die Abhängigkeiten für die DLR auf Ihrem Core-Gerät installieren. 

Stellen Sie vor der Installation der DLR-Abhängigkeiten sicher, dass die erforderlichen [Systembibliotheken](#obj-detection-connector-logging) (mit den angegebenen Mindestversionen) auf dem Gerät vorhanden sind.

------
#### [ NVIDIA Jetson TX2 ]

1. Installieren Sie CUDA Toolkit 9.0 und cuDNN 7.0. Befolgen Sie die Anweisungen unter [Einrichten anderer Geräte](setup-filter.other.md) im Tutorial "Erste Schritte".

1. Aktivieren Sie Universum-Repositorys, damit der Konnektor offene, von der Community verwaltete Software installieren kann. Weitere Informationen finden Sie unter [ Repositories/Ubuntu](https://help.ubuntu.com/community/Repositories/Ubuntu) in der Ubuntu-Dokumentation.

   1. Öffnen Sie die `/etc/apt/sources.list` Datei.

   1. Achten Sie darauf, dass die folgenden Zeilen nicht kommentiert sind.

      ```
      deb http://ports.ubuntu.com/ubuntu-ports/ xenial universe
      deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial universe
      deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
      deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
      ```

1. Speichern Sie eine Kopie des folgenden Installationsskripts in einer Datei namens `nvidiajtx2.sh` auf dem Core-Gerät.

   ```
   #!/bin/bash
   set -e
   
   echo "Installing dependencies on the system..."
   echo 'Assuming that universe repos are enabled and checking dependencies...'
   apt-get -y update
   apt-get -y dist-upgrade
   apt-get install -y liblapack3 libopenblas-dev liblapack-dev libatlas-base-dev
   apt-get install -y python3.7 python3.7-dev
   
   python3.7 -m pip install --upgrade pip
   python3.7 -m pip install numpy==1.15.0
   python3.7 -m pip install opencv-python || echo 'Error: Unable to install OpenCV with pip on this platform. Try building the latest OpenCV from source (https://github.com/opencv/opencv).'
   
   echo 'Dependency installation/upgrade complete.'
   ```
**Anmerkung**  
<a name="opencv-build-from-source"></a>Wenn [OpenCV](https://github.com/opencv/opencv) mit diesem Skript nicht erfolgreich installiert wird, können Sie versuchen, es aus der Quelle zu erstellen. Weitere Informationen finden Sie unter [ Installation in Linux](https://docs.opencv.org/4.1.0/d7/d9f/tutorial_linux_install.html) in der OpenCV-Dokumentation oder in anderen Online-Ressourcen für Ihre Plattform.

1. Führen Sie in dem Verzeichnis, in dem Sie die Datei gespeichert haben, den folgenden Befehl aus:

   ```
   sudo nvidiajtx2.sh
   ```

------
#### [ x86\$164 (Ubuntu or Amazon Linux)  ]

1. Speichern Sie eine Kopie des folgenden Installationsskripts in einer Datei namens `x86_64.sh` auf dem Core-Gerät.

   ```
   #!/bin/bash
   set -e
   
   echo "Installing dependencies on the system..."
   
   release=$(awk -F= '/^NAME/{print $2}' /etc/os-release)
   
   if [ "$release" == '"Ubuntu"' ]; then
     # Ubuntu. Supports EC2 and DeepLens. DeepLens has all the dependencies installed, so
     # this is mostly to prepare dependencies on Ubuntu EC2 instance.
     apt-get -y update
     apt-get -y dist-upgrade
   
     apt-get install -y libgfortran3 libsm6 libxext6 libxrender1
     apt-get install -y python3.7 python3.7-dev
   elif [ "$release" == '"Amazon Linux"' ]; then
     # Amazon Linux. Expect python to be installed already
     yum -y update
     yum -y upgrade
   
     yum install -y compat-gcc-48-libgfortran libSM libXrender libXext
   else
     echo "OS Release not supported: $release"
     exit 1
   fi
   
   python3.7 -m pip install --upgrade pip
   python3.7 -m pip install numpy==1.15.0
   python3.7 -m pip install opencv-python || echo 'Error: Unable to install OpenCV with pip on this platform. Try building the latest OpenCV from source (https://github.com/opencv/opencv).'
   
   echo 'Dependency installation/upgrade complete.'
   ```
**Anmerkung**  
<a name="opencv-build-from-source"></a>Wenn [OpenCV](https://github.com/opencv/opencv) mit diesem Skript nicht erfolgreich installiert wird, können Sie versuchen, es aus der Quelle zu erstellen. Weitere Informationen finden Sie unter [ Installation in Linux](https://docs.opencv.org/4.1.0/d7/d9f/tutorial_linux_install.html) in der OpenCV-Dokumentation oder in anderen Online-Ressourcen für Ihre Plattform.

1. Führen Sie in dem Verzeichnis, in dem Sie die Datei gespeichert haben, den folgenden Befehl aus:

   ```
   sudo x86_64.sh
   ```

------
#### [ ARMv7 (Raspberry Pi) ]

1. Speichern Sie eine Kopie des folgenden Installationsskripts in einer Datei namens `armv7l.sh` auf dem Core-Gerät.

   ```
   #!/bin/bash
   set -e
   
   echo "Installing dependencies on the system..."
   
   apt-get update
   apt-get -y upgrade
   
   apt-get install -y liblapack3 libopenblas-dev liblapack-dev
   apt-get install -y python3.7 python3.7-dev
   
   python3.7 -m pip install --upgrade pip
   python3.7 -m pip install numpy==1.15.0
   python3.7 -m pip install opencv-python || echo 'Error: Unable to install OpenCV with pip on this platform. Try building the latest OpenCV from source (https://github.com/opencv/opencv).'
   
   echo 'Dependency installation/upgrade complete.'
   ```
**Anmerkung**  
<a name="opencv-build-from-source"></a>Wenn [OpenCV](https://github.com/opencv/opencv) mit diesem Skript nicht erfolgreich installiert wird, können Sie versuchen, es aus der Quelle zu erstellen. Weitere Informationen finden Sie unter [ Installation in Linux](https://docs.opencv.org/4.1.0/d7/d9f/tutorial_linux_install.html) in der OpenCV-Dokumentation oder in anderen Online-Ressourcen für Ihre Plattform.

1. Führen Sie in dem Verzeichnis, in dem Sie die Datei gespeichert haben, den folgenden Befehl aus:

   ```
   sudo bash armv7l.sh
   ```
**Anmerkung**  
Auf einem Raspberry Pi ist die Installation von Machine Learning-Abhängigkeiten mithilfe von `pip` eine speicherintensive Operation, die dazu führen kann, dass das Gerät nicht mehr genügend Arbeitsspeicher hat und nicht mehr reagiert. Um dieses Problem zu umgehen, können Sie vorübergehend die Auslagerungsgröße erhöhen. Erhöhen Sie in `/etc/dphys-swapfile` den Wert der `CONF_SWAPSIZE`-Variable und führen Sie dann den folgenden Befehl aus, um `dphys-swapfile` neu zu starten.  

   ```
   /etc/init.d/dphys-swapfile restart
   ```

------

## Protokollierung und Problembehandlung
<a name="obj-detection-connector-logging"></a>

Abhängig von Ihren Gruppeneinstellungen werden Ereignis- und Fehlerprotokolle in CloudWatch Logs, in das lokale Dateisystem oder in beide geschrieben. Protokolle von diesem Konnektor verwenden das Präfix `LocalInferenceServiceName`. Wenn sich der Konnektor nicht wie erwartet verhält, überprüfen Sie die Protokolle des Konnektors. Diese enthalten in der Regel nützliche Debugging-Informationen, wie z. B. eine fehlende ML-Bibliothek-Abhängigkeit oder die Ursache eines Fehlers beim Starten des Konnektors.

Wenn die AWS IoT Greengrass Gruppe so konfiguriert ist, dass sie lokale Protokolle schreibt, schreibt der Connector Protokolldateien in`greengrass-root/ggc/var/log/user/region/aws/`. Weitere Hinweise zur Greengrass-Protokollierung finden Sie unter[Überwachung mit AWS IoT Greengrass Protokollen](greengrass-logs-overview.md).

Verwenden Sie die folgenden Informationen, um Probleme mit den ML-Objekterkennungs-Konnektoren zu beheben.

**Erforderliche Systembibliotheken**

Auf den folgenden Registerkarten sind die Systembibliotheken aufgeführt, die für jeden ML Object Detection-Konnektor erforderlich sind.

------
#### [ ML Object Detection Aarch64 JTX2 ]


| Bibliothek | Mindestversion | 
| --- | --- | 
| ld-linux-aarch64.so.1 | GLIBC\$12.17 | 
| libc.so.6 | GLIBC\$12.17 | 
| libcublas.so.9.0 | nicht zutreffend | 
| libcudart.so.9.0 | nicht zutreffend | 
| libcudnn.so.7 | nicht zutreffend | 
| libcufft.so.9.0 | nicht zutreffend | 
| libcurand.so.9.0 | nicht zutreffend | 
| libcusolver.so.9.0 | nicht zutreffend | 
| libgcc\$1s.so.1 | GCC\$14.2.0 | 
| libgomp.so.1 | GOMP\$14.0, OMP\$11.0 | 
| libm.so.6 | GLIBC\$12.23 | 
| libnvinfer.so.4 | nicht zutreffend | 
| libnvrm\$1gpu.so | nicht zutreffend | 
| libnvrm.so | nicht zutreffend | 
| libnvidia-fatbinaryloader.so.28.2.1 | nicht zutreffend | 
| libnvos.so | nicht zutreffend | 
| libpthread.so.0 | GLIBC\$12.17 | 
| librt.so.1 | GLIBC\$12.17 | 
| libstdc\$1\$1.so.6 | GLIBCXX\$13.4.21, CXXABI\$11.3.8 | 

------
#### [ ML Object Detection x86\$164 ]


| Bibliothek | Mindestversion | 
| --- | --- | 
| ld-linux-x86-64.so.2 | GCC\$14.0.0 | 
| libc.so.6 | GLIBC\$12.4 | 
| libgfortran.so.3 | GFORTRAN\$11.0 | 
| libm.so.6 | GLIBC\$12.23 | 
| libpthread.so.0 | GLIBC\$12.2.5 | 
| librt.so.1 | GLIBC\$12.2.5 | 
| libstdc\$1\$1.so.6 | CXXABI\$11.3.8, GLIBCXX\$13.4.21 | 

------
#### [ ML Object Detection ARMv7 ]


| Bibliothek | Mindestversion | 
| --- | --- | 
| ld-linux-armhf.so.3 | GLIBC\$12.4 | 
| libc.so.6 | GLIBC\$12.7 | 
| libgcc\$1s.so.1 | GCC\$14.0.0 | 
| libgfortran.so.3 | GFORTRAN\$11.0 | 
| libm.so.6 | GLIBC\$12.4 | 
| libpthread.so.0 | GLIBC\$12.4 | 
| librt.so.1 | GLIBC\$12.4 | 
| libstdc\$1\$1.so.6 | CXXABI\$11.3.8, CXXABI\$1ARM\$11.3.3, GLIBCXX\$13.4.20 | 

------

**Problembereiche**


| Symptom | Lösung | 
| --- | --- | 
|  Auf einem Raspberry Pi wird die folgende Fehlermeldung protokolliert, und Sie verwenden nicht die Kamera: `Failed to initialize libdc1394`   |  Führen Sie den folgenden Befehl aus, um den Treiber zu deaktivieren: <pre>sudo ln /dev/null /dev/raw1394</pre> Diese Operation ist flüchtig. Der symbolische Link ist nach dem Neustart nicht mehr vorhanden. Schlagen Sie im Handbuch Ihrer Betriebssystemverteilung nach, wie der Link beim Neustart automatisch erstellt werden kann.  | 

## Lizenzen
<a name="obj-detection-connector-license"></a>

Die ML Object Detection-Konnektoren beinhalten die folgende Software/Lizenzierung von Drittanbietern:<a name="boto-3-licenses"></a>
+ [AWS SDK für Python (Boto3)](https://pypi.org/project/boto3/)/Apache-Lizenz 2.0
+ [botocore](https://pypi.org/project/botocore/)/Apache-Lizenz 2.0
+ [dateutil](https://pypi.org/project/python-dateutil/1.4/)/PSF-Lizenz
+ [docutils](https://pypi.org/project/docutils/)/BSD-Lizenz, GNU General Public License (GPL), Python Software Foundation License, Public Domain
+ [jmespath](https://pypi.org/project/jmespath/)/MIT-Lizenz
+ [s3transfer](https://pypi.org/project/s3transfer/)/Apache-Lizenz 2.0
+ [urllib3](https://pypi.org/project/urllib3/)/MIT-Lizenz
+ [Deep Learning Runtime](https://github.com/neo-ai/neo-ai-dlr)/Apache-Lizenz 2.0
+ <a name="six-license"></a>[six](https://github.com/benjaminp/six)/MIT

Dieser Connector ist im Rahmen der [Greengrass Core Software-Lizenzvereinbarung](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf) veröffentlicht.

## Weitere Informationen finden Sie auch unter
<a name="obj-detection-connector-see-also"></a>
+ [Integrieren von Services und Protokollen mit Greengrass-Konnektoren](connectors.md)
+ [Erste Schritte mit Greengrass-Konnektoren (Konsole)](connectors-console.md)
+ [Erste Schritte mit Greengrass-Konnektoren (CLI)](connectors-cli.md)
+ [Durchführen von Machine Learning-Inferenzen](ml-inference.md)
+ [Algorithmus zur Objekterkennung](https://docs.aws.amazon.com/sagemaker/latest/dg/object-detection.html) im *Amazon SageMaker AI Developer Guide*