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.
Tutorial: Erste Schritte mit SageMaker AI Edge Manager
Wichtig
SageMaker AI Edge Manager wurde am 26. April 2024 eingestellt. Weitere Informationen zur weiteren Bereitstellung Ihrer Modelle auf Edge-Geräten finden Sie unter Ende des Lebenszyklus von SageMaker AI Edge Manager.
Amazon SageMaker AI Edge Manager ist ein Softwareagent, der auf Edge-Geräten ausgeführt wird. SageMaker AI Edge Manager bietet Modellmanagement für Edge-Geräte, sodass Sie Amazon SageMaker Neo-compiled AI-Modelle direkt auf Greengrass-Kerngeräten verpacken und verwenden können. Mithilfe von SageMaker AI Edge Manager können Sie auch Modelleingabe- und -ausgabedaten von Ihren Kerngeräten abtasten und diese Daten AWS Cloud zur Überwachung und Analyse an die senden. Weitere Informationen zur Funktionsweise von SageMaker AI Edge Manager auf Greengrass-Core-Geräten finden Sie unterVerwenden Sie Amazon SageMaker AI Edge Manager auf Greengrass-Kerngeräten.
Dieses Tutorial zeigt Ihnen, wie Sie mit der Verwendung von SageMaker AI Edge Manager beginnen, und zwar AWS mit den bereitgestellten Beispielkomponenten auf einem vorhandenen Kerngerät. Diese Beispielkomponenten verwenden die SageMaker AI Edge Manager-Komponente als Abhängigkeit, um den Edge Manager-Agenten bereitzustellen und mithilfe vortrainierter Modelle, die mit AI Neo kompiliert wurden, Inferenzen durchzuführen. SageMaker Weitere Informationen zum SageMaker AI Edge Manager-Agenten finden Sie unter SageMaker AI Edge Manager im Amazon SageMaker AI Developer Guide.
Hier finden Sie Beispielcode, mit dem Sie die folgenden Beispielinferenz- und Modellkomponenten erstellen können, AWS um den SageMaker AI Edge Manager-Agenten auf einem vorhandenen Greengrass-Core-Gerät einzurichten und zu verwenden.
-
Klassifizierung von Bildern
-
com.greengrass.SageMakerEdgeManager.ImageClassification -
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
-
Erkennung von Objekten
-
com.greengrass.SageMakerEdgeManager.ObjectDetection -
com.greengrass.SageMakerEdgeManager.ObjectDetection.Model
-
Dieses Tutorial zeigt Ihnen, wie Sie die Beispielkomponenten und den SageMaker AI Edge Manager-Agenten bereitstellen.
Themen
Voraussetzungen
Um dieses Tutorial abzuschließen, müssen Sie die folgenden Voraussetzungen erfüllen:
-
Ein Greengrass-Core-Gerät, das auf Amazon Linux 2, einer Debian-based Linux-Plattform (x86_64 oder Armv8) oder Windows (x86_64) läuft. Falls Sie noch keines haben, beachten Sie die Informationen unter Tutorial: Erste Schritte mit AWS IoT Greengrass V2.
-
Python
3.6 oder höher, auch pipfür Ihre Version von Python, ist auf Ihrem Kerngerät installiert. -
Die OpenGL API GLX Runtime (
libgl1-mesa-glx) ist auf Ihrem Kerngerät installiert. -
Ein AWS Identity and Access Management (IAM) -Benutzer mit Administratorrechten.
-
Ein internetfähiger Windows-, Mac- oder Unix-like Entwicklungscomputer, der die folgenden Anforderungen erfüllt:
-
Python
3.6 oder höher ist installiert. -
AWS CLI mit Ihren IAM-Administrator-Benutzeranmeldeinformationen installiert und konfiguriert. Weitere Informationen finden Sie unter Installation AWS CLI und Konfiguration von. AWS CLI
-
-
Die folgenden S3-Buckets wurden im selben AWS-Konto und AWS-Region wie Ihr Greengrass-Core-Gerät erstellt:
-
Ein S3-Bucket zum Speichern der Artefakte, die in den Beispielinferenz- und Modellkomponenten enthalten sind. In diesem Tutorial wird amzn-s3-demo-bucket1 verwendet, um auf diesen Bucket zu verweisen.
-
Ein S3-Bucket, den Sie Ihrer KI-Edge-Geräteflotte zuordnen. SageMaker SageMaker AI Edge Manager benötigt einen S3-Bucket, um die Edge-Geräteflotte zu erstellen und Beispieldaten aus der Ausführung von Inferenzen auf Ihrem Gerät zu speichern. In diesem Tutorial wird amzn-s3-demo-bucket2 verwendet, um auf diesen Bucket zu verweisen.
Informationen zum Erstellen von S3-Buckets finden Sie unter Erste Schritte mit Amazon S3. https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html
-
-
Die Greengrass-Geräterolle ist wie folgt konfiguriert:
-
Eine Vertrauensbeziehung, die die Rolle zulässt
credentials.iot.amazonaws.com.rproxy.goskope.comundsagemaker.amazonaws.comübernimmt, wie im folgenden Beispiel für eine IAM-Richtlinie gezeigt.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "credentials.iot.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } -
Die von AmazonSageMakerEdgeDeviceFleetPolicy
IAM verwaltete Richtlinie. -
Die vom AmazonSageMakerFullAccess
IAM verwaltete Richtlinie. -
Die
s3:GetObjectAktion für den S3-Bucket, der Ihre Komponentenartefakte enthält, wie im folgenden Beispiel für eine IAM-Richtlinie gezeigt.
-
Richten Sie Ihr Greengrass-Core-Gerät im SageMaker AI Edge Manager ein
Edge-Geräteflotten in SageMaker AI Edge Manager sind Sammlungen logisch gruppierter Geräte. Um SageMaker AI Edge Manager mit zu verwenden AWS IoT Greengrass, müssen Sie eine Edge-Geräteflotte erstellen, die denselben AWS IoT Rollenalias wie das Greengrass-Core-Gerät verwendet, auf dem Sie den SageMaker AI Edge Manager-Agenten bereitstellen. Anschließend müssen Sie das Kerngerät als Teil dieser Flotte registrieren.
Erstellen Sie eine Flotte von Edge-Geräten
Um eine Edge-Geräteflotte (Konsole) zu erstellen
-
Wählen Sie in der Amazon SageMaker AI-Konsole
Edge Manager und dann Edge-Geräteflotten aus. -
Wählen Sie auf der Seite Geräteflotten die Option Geräteflotte erstellen aus.
-
Gehen Sie unter Eigenschaften der Geräteflotte wie folgt vor:
-
Geben Sie unter Name der Geräteflotte einen Namen für Ihre Geräteflotte ein.
-
Geben Sie für die IAM-Rolle den Amazon-Ressourcennamen (ARN) des AWS IoT Rollenalias ein, den Sie bei der Einrichtung Ihres Greengrass-Hauptgeräts angegeben haben.
-
Deaktivieren Sie den Schalter IAM-Rollenalias erstellen.
-
-
Wählen Sie Weiter aus.
-
Geben Sie unter Ausgabekonfiguration für den S3-Bucket-URI den URI des S3-Buckets ein, den Sie der Geräteflotte zuordnen möchten.
-
Wählen Sie Absenden aus.
Registrieren Sie Ihr Greengrass-Core-Gerät
Um Ihr Greengrass-Core-Gerät als Edge-Gerät (Konsole) zu registrieren
-
Wählen Sie in der Amazon SageMaker AI-Konsole
Edge Manager und dann Edge-Geräte aus. -
Wählen Sie auf der Seite Geräte die Option Geräte registrieren aus.
-
Geben Sie unter Geräteeigenschaften für den Namen der Geräteflotte den Namen der Geräteflotte ein, die Sie erstellt haben, und wählen Sie dann Weiter aus.
-
Wählen Sie Weiter aus.
-
Geben Sie unter Gerätequelle für Gerätename den AWS IoT Ding-Namen Ihres Greengrass-Core-Geräts ein.
-
Wählen Sie Absenden aus.
Erstellen Sie die Beispielkomponenten
Um Ihnen den Einstieg in die Verwendung der SageMaker AI Edge Manager-Komponente zu erleichtern, AWS stellt ein Python-Skript zur Verfügung GitHub , das die Beispielinferenz- und Modellkomponenten erstellt und sie AWS Cloud für Sie in das hochlädt. Führen Sie die folgenden Schritte auf einem Entwicklungscomputer aus.
Um die Beispielkomponenten zu erstellen
-
Laden Sie das Repository mit den
AWS IoT Greengrass Komponentenbeispielen GitHub auf Ihren Entwicklungscomputer herunter. -
Navigieren Sie zum heruntergeladenen
/machine-learning/sagemaker-edge-managerOrdner.cddownload-directory/machine-learning/sagemaker-edge-manager -
Führen Sie den folgenden Befehl aus, um die Beispielkomponenten zu erstellen und in den hochzuladen AWS Cloud.
python3 create_components.py -rregion-b amzn-s3-demo-bucketregionErsetzen Sie durch den AWS-Region Ort, an dem Sie Ihr Greengrass-Core-Gerät erstellt haben, und ersetzen Sie amzn-s3-demo-bucket1 durch den Namen des S3-Buckets, in dem Ihre Komponentenartefakte gespeichert werden.Anmerkung
Standardmäßig erstellt das Skript Beispielkomponenten sowohl für die Bildklassifizierung als auch für die Objekterkennungsinferenz. Um Komponenten nur für einen bestimmten Inferenztyp zu erstellen, geben Sie das
-iArgument an.ImageClassification | ObjectDetection
Beispielinferenz- und Modellkomponenten zur Verwendung mit SageMaker AI Edge Manager werden jetzt in Ihrem erstellt. AWS-Konto Um die Beispielkomponenten in der AWS IoT Greengrass Konsole anzuzeigen
-
com.greengrass.SageMakerEdgeManager.ImageClassification -
com.greengrass.SageMakerEdgeManager.ImageClassification.Model -
com.greengrass.SageMakerEdgeManager.ObjectDetection -
com.greengrass.SageMakerEdgeManager.ObjectDetection.Model
Führen Sie eine Beispiel-Inferenz zur Bildklassifizierung durch
Um die Inferenz zur Bildklassifizierung mithilfe der AWS bereitgestellten Beispielkomponenten und des SageMaker AI Edge Manager-Agenten auszuführen, müssen Sie diese Komponenten auf Ihrem Hauptgerät bereitstellen. Durch die Bereitstellung dieser Komponenten wird ein Neo-compiled vorab trainiertes SageMaker Resnet-50 KI-Modell heruntergeladen und der SageMaker AI Edge Manager-Agent auf Ihrem Gerät installiert. Der SageMaker AI Edge Manager-Agent lädt das Modell und veröffentlicht die Inferenzergebnisse zum Thema. gg/sageMakerEdgeManager/image-classification Um diese Inferenzergebnisse anzuzeigen, verwenden Sie den AWS IoT MQTT-Client in der AWS IoT Konsole, um dieses Thema zu abonnieren.
Themen
Abonnieren Sie das Thema Benachrichtigungen
In diesem Schritt konfigurieren Sie den AWS IoT MQTT-Client in der AWS IoT Konsole so, dass er MQTT-Nachrichten überwacht, die von der Beispiel-Inferenzkomponente veröffentlicht wurden. Standardmäßig veröffentlicht die Komponente Inferenzergebnisse zum Thema. gg/sageMakerEdgeManager/image-classification Abonnieren Sie dieses Thema, bevor Sie die Komponente auf Ihrem Greengrass-Core-Gerät bereitstellen, um die Inferenzergebnisse zu sehen, wenn die Komponente zum ersten Mal ausgeführt wird.
Um das Thema „Standardbenachrichtigungen“ zu abonnieren
-
Wählen Sie im Navigationsmenü der
AWS IoT Konsole Test, MQTT-Testclient aus. -
Geben
gg/sageMakerEdgeManager/image-classificationSie unter Ein Thema abonnieren in das Feld Themenname den Text ein. -
Wählen Sie Subscribe (Abonnieren) aus.
Stellen Sie die Beispielkomponenten bereit
In diesem Schritt konfigurieren Sie die folgenden Komponenten und stellen sie auf Ihrem Hauptgerät bereit:
-
aws.greengrass.SageMakerEdgeManager -
com.greengrass.SageMakerEdgeManager.ImageClassification -
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
Wählen Sie im Navigationsmenü der
AWS IoT Greengrass Konsole Bereitstellungen und wählen Sie dann die Bereitstellung für Ihr Zielgerät aus, das Sie überarbeiten möchten. -
Wählen Sie auf der Bereitstellungsseite Revise und anschließend Revise deployment aus.
-
Wählen Sie auf der Seite „Ziel angeben“ die Option Weiter aus.
-
Gehen Sie auf der Seite „Komponenten auswählen“ wie folgt vor:
-
Wählen Sie unter Meine Komponenten die folgenden Komponenten aus:
-
com.greengrass.SageMakerEdgeManager.ImageClassification -
com.greengrass.SageMakerEdgeManager.ImageClassification.Model
-
-
Deaktivieren Sie unter Öffentliche Komponenten die Option Nur ausgewählte Komponenten anzeigen, und wählen Sie dann die
aws.greengrass.SageMakerEdgeManagerKomponente aus. -
Wählen Sie Weiter aus.
-
-
Wählen Sie auf der Seite „Komponenten konfigurieren“ die
aws.greengrass.SageMakerEdgeManagerKomponente aus und gehen Sie wie folgt vor.-
Wählen Sie Komponente konfigurieren aus.
-
Geben Sie unter Konfigurationsupdate unter Zusammenzuführende Konfiguration die folgende Konfiguration ein.
{ "DeviceFleetName": "device-fleet-name", "BucketName": "amzn-s3-demo-bucket" }device-fleet-nameErsetzen Sie durch den Namen der Edge-Geräteflotte, die Sie erstellt haben, undamzn-s3-demo-bucketersetzen Sie ihn durch den Namen des S3-Buckets, der Ihrer Geräteflotte zugeordnet ist. -
Wählen Sie Bestätigen aus, und wählen Sie dann Weiter.
-
-
Behalten Sie auf der Seite Erweiterte Einstellungen konfigurieren die Standardkonfigurationseinstellungen bei und wählen Sie Weiter.
-
Wählen Sie auf der Seite „Überprüfen“ die Option Deploy aus
-
Erstellen Sie auf Ihrem Entwicklungscomputer eine
deployment.jsonDatei, um die Bereitstellungskonfiguration für Ihre SageMaker AI Edge Manager-Komponenten zu definieren. Diese Datei sollte wie im folgenden Beispiel aussehen.{ "targetArn":"targetArn", "components": { "aws.greengrass.SageMakerEdgeManager": { "componentVersion": "1.0.x", "configurationUpdate": { "merge": "{\"DeviceFleetName\":\"device-fleet-name\",\"BucketName\":\"amzn-s3-demo-bucket2\"}" } }, "com.greengrass.SageMakerEdgeManager.ImageClassification": { "componentVersion": "1.0.x", "configurationUpdate": { } }, "com.greengrass.SageMakerEdgeManager.ImageClassification.Model": { "componentVersion": "1.0.x", "configurationUpdate": { } }, } }-
Ersetzen Sie im
targetArnFelddurch den Amazon-Ressourcennamen (ARN) des Objekts oder der Objektgruppe, auf die die Bereitstellung ausgerichtet werden soll, und zwar im folgenden Format:targetArn-
Objekt:
arn:aws:iot:region:account-id:thing/thingName -
Objektgruppe:
arn:aws:iot:region:account-id:thinggroup/thingGroupName
-
-
Ersetzen Sie in dem
mergeFelddevice-fleet-namedurch den Namen der Edge-Geräteflotte, die Sie erstellt haben. Ersetzen Sie dannamzn-s3-demo-bucket2durch den Namen des S3-Buckets, der Ihrer Geräteflotte zugeordnet ist. -
Ersetzen Sie die Versionen aller Komponenten durch die neueste verfügbare Version.
-
-
Führen Sie den folgenden Befehl aus, um die Komponenten auf dem Gerät bereitzustellen:
aws greengrassv2 create-deployment \ --cli-input-json file://path/to/deployment.json
Es kann einige Minuten dauern, bis die Bereitstellung abgeschlossen ist. Überprüfen Sie im nächsten Schritt im Komponentenprotokoll, ob die Bereitstellung erfolgreich abgeschlossen wurde, und schauen Sie sich die Inference-Ergebnisse an.
Inferenzergebnisse anzeigen
Nachdem Sie die Komponenten bereitgestellt haben, können Sie die Inferenzergebnisse im Komponentenprotokoll auf Ihrem Greengrass-Core-Gerät und im AWS IoT MQTT-Client in der Konsole einsehen. AWS IoT Informationen zum Abonnieren des Themas, zu dem die Komponente Inferenzergebnisse veröffentlicht, finden Sie unter. Abonnieren Sie das Thema Benachrichtigungen
-
AWS IoT MQTT-Client — Gehen Sie wie folgt vor, um die Ergebnisse anzuzeigen, die die Inferenzkomponente zum Thema Abonnieren Sie das Thema Benachrichtigungen Standardbenachrichtigungen veröffentlicht:
-
Wählen Sie im Navigationsmenü der
AWS IoT Konsole Test, MQTT-Testclient aus. -
Wählen Sie unter Abonnements die Option
gg/sageMakerEdgeManager/image-classification.
-
-
Komponentenprotokoll — Um die Inferenzergebnisse im Komponentenprotokoll anzuzeigen, führen Sie den folgenden Befehl auf Ihrem Greengrass-Core-Gerät aus.
sudo tail -f/logs/com.greengrass.SageMakerEdgeManager.ImageClassification.log/greengrass/v2
Wenn Sie im Komponentenprotokoll oder im MQTT-Client keine Inferenzergebnisse sehen können, ist die Bereitstellung fehlgeschlagen oder hat das Kerngerät nicht erreicht. Dies kann vorkommen, wenn Ihr Kerngerät nicht mit dem Internet verbunden ist oder nicht über die erforderlichen Berechtigungen zum Ausführen der Komponente verfügt. Führen Sie den folgenden Befehl auf Ihrem Hauptgerät aus, um die Protokolldatei der AWS IoT Greengrass Core-Software anzuzeigen. Diese Datei enthält Protokolle aus dem Bereitstellungsdienst des Greengrass-Core-Geräts.
sudo tail -f/logs/greengrass.log/greengrass/v2
Weitere Informationen finden Sie unter Fehlerbehebung bei Inferenz für maschinelles Lernen.