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.
Passen Sie Ihre Komponenten für maschinelles Lernen an
In können Sie Beispielkomponenten für maschinelles Lernen konfigurieren AWS IoT Greengrass, um die Art und Weise, wie Sie Inferenzen für maschinelles Lernen auf Ihren Geräten durchführen, mit den Komponenten Inferenz, Modell und Laufzeit als Bausteinen anzupassen. AWS IoT Greengrass bietet Ihnen außerdem die Flexibilität, die Beispielkomponenten als Vorlagen zu verwenden und nach Bedarf Ihre eigenen benutzerdefinierten Komponenten zu erstellen. Sie können diesen modularen Ansatz beliebig kombinieren, um Ihre Inferenzkomponenten für maschinelles Lernen auf folgende Weise individuell anzupassen:
- Verwenden von Beispiel-Inferenzkomponenten
-
-
Ändern Sie die Konfiguration der Inferenzkomponenten, wenn Sie sie bereitstellen.
-
Verwenden Sie ein benutzerdefiniertes Modell mit der Beispiel-Inferenzkomponente, indem Sie die Mustermodellspeicherkomponente durch eine benutzerdefinierte Modellkomponente ersetzen. Ihr benutzerdefiniertes Modell muss mit derselben Laufzeit wie das Beispielmodell trainiert werden.
-
- Verwenden von benutzerdefinierten Inferenzkomponenten
-
-
Verwenden Sie benutzerdefinierten Inferenzcode mit den Beispielmodellen und Laufzeiten, indem Sie Komponenten des öffentlichen Modells und Laufzeitkomponenten als Abhängigkeiten von benutzerdefinierten Inferenzkomponenten hinzufügen.
-
Erstellen und fügen Sie benutzerdefinierte Modellkomponenten oder Laufzeitkomponenten als Abhängigkeiten von benutzerdefinierten Inferenzkomponenten hinzu. Sie müssen benutzerdefinierte Komponenten verwenden, wenn Sie benutzerdefinierten Inferenzcode oder eine Laufzeit verwenden möchten, für die AWS IoT Greengrass keine Beispielkomponente bereitgestellt wird.
-
Themen
Ändern Sie die Konfiguration einer öffentlichen Inferenzkomponente
In der AWS IoT Greengrass Konsole
{ "accessControl": { "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.TensorFlowLiteImageClassification:mqttproxy:1": { "policyDescription": "Allows access to publish via topic ml/tflite/image-classification.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "ml/tflite/image-classification" ] } } }, "PublishResultsOnTopic": "ml/tflite/image-classification", "ImageName": "cat.jpeg", "InferenceInterval": 3600, "ModelResourceKey": { "model": "TensorFlowLite-Mobilenet" } }
Wenn Sie eine öffentliche Inferenzkomponente bereitstellen, können Sie die Standardkonfiguration ändern, um Ihre Bereitstellung anzupassen. Informationen zu den verfügbaren Konfigurationsparametern für jede öffentliche Inferenzkomponente finden Sie im Komponententhema unter. AWS-bereitgestellte Komponenten für maschinelles Lernen
In diesem Abschnitt wird beschrieben, wie Sie eine modifizierte Komponente von der AWS IoT Greengrass Konsole aus bereitstellen. Hinweise zur Bereitstellung von Komponenten mithilfe von finden Sie unterErstellen von Bereitstellungen. AWS CLI
So stellen Sie eine modifizierte öffentliche Inferenzkomponente (Konsole) bereit
-
Melden Sie sich an der AWS IoT Greengrass -Konsole
an. -
Wählen Sie im Navigationsmenü Komponenten.
-
Wählen Sie auf der Seite Komponenten auf der Registerkarte Öffentliche Komponenten die Komponente aus, die Sie bereitstellen möchten.
-
Wählen Sie auf der Komponentenseite die Option Bereitstellen aus.
-
Wählen Sie unter Zur Bereitstellung hinzufügen eine der folgenden Optionen aus:
-
Um diese Komponente mit einer auf Ihrem Zielgerät vorhandenen Bereitstellung zusammenzuführen, wählen Sie Zu vorhandener Bereitstellung hinzufügen und wählen Sie dann die Bereitstellung aus, die Sie überarbeiten möchten.
-
Um auf Ihrem Zielgerät eine neue Bereitstellung zu erstellen, wählen Sie Neue Bereitstellung erstellen aus. Wenn auf Ihrem Gerät bereits eine Bereitstellung vorhanden ist, ersetzt die Auswahl in diesem Schritt die vorhandene Bereitstellung.
-
-
Gehen Sie auf der Seite Ziel angeben wie folgt vor:
-
Geben Sie unter Bereitstellungsinformationen den Anzeigenamen für Ihre Bereitstellung ein oder ändern Sie ihn.
-
Wählen Sie unter Bereitstellungsziele ein Ziel für Ihre Bereitstellung aus und klicken Sie auf Weiter. Wenn Sie eine vorhandene Bereitstellung überarbeiten, können Sie das Bereitstellungsziel nicht ändern.
-
-
Vergewissern Sie sich auf der Seite Komponenten auswählen unter Öffentliche Komponenten, dass die Inferenzkomponente mit Ihrer geänderten Konfiguration ausgewählt ist, und wählen Sie Weiter aus.
-
Gehen Sie auf der Seite Komponenten konfigurieren wie folgt vor:
-
Wählen Sie die Inferenzkomponente und anschließend Komponente konfigurieren aus.
-
Geben Sie unter Konfigurationsupdate die Konfigurationswerte ein, die Sie aktualisieren möchten. Geben Sie beispielsweise das folgende Konfigurationsupdate in das Feld Konfiguration zum Zusammenführen ein, um das Inferenzintervall auf 15 Sekunden zu ändern, und weisen Sie die Komponente an, nach dem
custom.jpg
/custom-ml-inference/images/
im Ordner genannten Bild zu suchen.{ "InferenceInterval": "15", "ImageName": "custom.jpg", "ImageDirectory": "/custom-ml-inference/images/" }
Um die gesamte Konfiguration einer Komponente auf ihre Standardwerte zurückzusetzen, geben Sie eine einzelne leere Zeichenfolge
""
in das Feld Pfade zurücksetzen ein. -
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 Bereitstellen
Verwenden Sie ein benutzerdefiniertes Modell mit der Beispiel-Inferenzkomponente
Wenn Sie die Beispiel-Inferenzkomponente mit Ihren eigenen Machine-Learning-Modellen für eine Laufzeit verwenden möchten, für die eine Beispiel-Laufzeitkomponente AWS IoT Greengrass bereitgestellt wird, müssen Sie die Komponenten des öffentlichen Modells durch Komponenten überschreiben, die diese Modelle als Artefakte verwenden. Auf hoher Ebene führen Sie die folgenden Schritte aus, um ein benutzerdefiniertes Modell mit der Beispiel-Inferenzkomponente zu verwenden:
-
Erstellen Sie eine Modellkomponente, die ein benutzerdefiniertes Modell in einem S3-Bucket als Artefakt verwendet. Ihr benutzerdefiniertes Modell muss mit derselben Laufzeit trainiert werden wie das Modell, das Sie ersetzen möchten.
-
Ändern Sie den
ModelResourceKey
Konfigurationsparameter in der Inferenzkomponente, um das benutzerdefinierte Modell zu verwenden. Hinweise zur Aktualisierung der Konfiguration der Inferenzkomponente finden Sie unter Ändern Sie die Konfiguration einer öffentlichen Inferenzkomponente
Sucht bei der Bereitstellung der Inferenzkomponente AWS IoT Greengrass nach der neuesten Version ihrer Komponentenabhängigkeiten. Sie überschreibt die abhängige öffentliche Modellkomponente, wenn eine spätere benutzerdefinierte Version der Komponente im selben AWS-Konto und vorhanden ist. AWS-Region
-
Laden Sie Ihr Modell in einen S3-Bucket hoch. Informationen zum Hochladen Ihrer Modelle in einen S3-Bucket finden Sie unter Arbeiten mit Amazon S3 S3-Buckets im Amazon Simple Storage Service-Benutzerhandbuch.
Anmerkung
Sie müssen Ihre Artefakte in S3-Buckets speichern, die sich im selben AWS-Konto und AWS-Region wie die Komponenten befinden. Um auf diese Artefakte zugreifen AWS IoT Greengrass zu können, muss die Greengrass-Geräterolle die
s3:GetObject
Aktion zulassen. Weitere Informationen zur Geräterolle finden Sie unterAutorisieren Sie Kerngeräte für die Interaktion mit Diensten AWS. -
Wählen Sie im Navigationsmenü der AWS IoT Greengrass Konsole
die Option Komponenten aus. -
Rufen Sie das Komponentenrezept für die Public Model Store-Komponente ab.
-
Suchen Sie auf der Seite Komponenten auf der Registerkarte Öffentliche Komponenten nach der öffentlichen Modellkomponente, für die Sie eine neue Version erstellen möchten, und wählen Sie sie aus. Beispiel,
variant.DLR.ImageClassification.ModelStore
. -
Wählen Sie auf der Komponentenseite die Option Rezeptur anzeigen aus und kopieren Sie das angezeigte JSON Rezept.
-
-
Wählen Sie auf der Seite Komponenten auf der Registerkarte Meine Komponenten die Option Komponente erstellen aus.
-
Wählen Sie auf der Seite Komponente erstellen unter Komponenteninformationen die Option Rezeptur eingeben JSON als Komponentenquelle aus.
-
Fügen Sie in das Feld Rezept das Komponentenrezept ein, das Sie zuvor kopiert haben.
-
Aktualisieren Sie im Rezept die folgenden Werte:
-
ComponentVersion
: Erhöhen Sie die Nebenversion der Komponente.Wenn Sie eine benutzerdefinierte Komponente erstellen, um eine Komponente eines öffentlichen Modells zu überschreiben, müssen Sie nur die Nebenversion der vorhandenen Komponentenversion aktualisieren. Wenn es sich bei der öffentlichen Komponentenversion beispielsweise um eine Version handelt
2.1.0
, können Sie eine benutzerdefinierte Komponente mit Version erstellen2.1.1
. -
Manifests.Artifacts.Uri
: Aktualisieren Sie jeden URI Wert auf Amazon S3 URI des Modells, das Sie verwenden möchten.
Anmerkung
Ändern Sie nicht den Namen der Komponente.
-
-
Wählen Sie Komponente erstellen.
-
Laden Sie Ihr Modell in einen S3-Bucket hoch. Informationen zum Hochladen Ihrer Modelle in einen S3-Bucket finden Sie unter Arbeiten mit Amazon S3 S3-Buckets im Amazon Simple Storage Service-Benutzerhandbuch.
Anmerkung
Sie müssen Ihre Artefakte in S3-Buckets speichern, die sich im selben AWS-Konto und AWS-Region wie die Komponenten befinden. Um auf diese Artefakte zugreifen AWS IoT Greengrass zu können, muss die Greengrass-Geräterolle die
s3:GetObject
Aktion zulassen. Weitere Informationen zur Geräterolle finden Sie unterAutorisieren Sie Kerngeräte für die Interaktion mit Diensten AWS. -
Führen Sie den folgenden Befehl aus, um das Komponentenrezept der öffentlichen Komponente abzurufen. Dieser Befehl schreibt das Komponentenrezept in die Ausgabedatei, die Sie in Ihrem Befehl angeben. Konvertieren Sie die abgerufene Base64-kodierte Zeichenfolge nach Bedarf in JSON oderYAML.
-
Ändern Sie den Namen der Rezeptdatei auf
, wobei Komponentenversion die Zielversion der neuen Komponente ist. Beispiel,<component-name>
-<component-version>
variant.DLR.ImageClassification.ModelStore-2.1.1.yaml
. -
Aktualisieren Sie im Rezept die folgenden Werte:
-
ComponentVersion
: Erhöhen Sie die Nebenversion der Komponente.Wenn Sie eine benutzerdefinierte Komponente erstellen, um eine Komponente eines öffentlichen Modells zu überschreiben, müssen Sie nur die Nebenversion der vorhandenen Komponentenversion aktualisieren. Wenn es sich bei der öffentlichen Komponentenversion beispielsweise um eine Version handelt
2.1.0
, können Sie eine benutzerdefinierte Komponente mit Version erstellen2.1.1
. -
Manifests.Artifacts.Uri
: Aktualisieren Sie jeden URI Wert auf Amazon S3 URI des Modells, das Sie verwenden möchten.
Anmerkung
Ändern Sie nicht den Namen der Komponente.
-
-
Führen Sie den folgenden Befehl aus, um mit dem abgerufenen und geänderten Rezept eine neue Komponente zu erstellen.
aws greengrassv2 create-component-version \ --inline-recipe fileb://
path/to/component/recipe
Anmerkung
In diesem Schritt wird die Komponente im AWS IoT Greengrass Dienst in der erstellt AWS Cloud. Sie können Greengrass verwenden, CLI um Ihre Komponente lokal zu entwickeln, zu testen und bereitzustellen, bevor Sie sie in die Cloud hochladen. Weitere Informationen finden Sie unter AWS IoT Greengrass Komponenten entwickeln.
Weitere Informationen zum Erstellen von Komponenten finden Sie unterAWS IoT Greengrass Komponenten entwickeln.
Erstellen Sie benutzerdefinierte Komponenten für maschinelles Lernen
Sie müssen benutzerdefinierte Komponenten erstellen, wenn Sie benutzerdefinierten Inferenzcode oder eine Runtime verwenden möchten, für die AWS IoT Greengrass keine Beispielkomponente bereitgestellt wird. Sie können Ihren benutzerdefinierten Inferenzcode mit den AWS bereitgestellten Beispielmodellen und Laufzeiten für maschinelles Lernen verwenden, oder Sie können eine vollständig angepasste Inferenzlösung für maschinelles Lernen mit Ihren eigenen Modellen und Ihrer eigenen Laufzeit entwickeln. Wenn Ihre Modelle eine Runtime verwenden, für die AWS IoT Greengrass eine Beispiel-Laufzeitkomponente bereitgestellt wird, können Sie diese Laufzeitkomponente verwenden, und Sie müssen benutzerdefinierte Komponenten nur für Ihren Inferenzcode und die Modelle erstellen, die Sie verwenden möchten.
Themen
Rufen Sie das Rezept für eine öffentliche Komponente ab
Sie können das Rezept einer vorhandenen öffentlichen Komponente für maschinelles Lernen als Vorlage verwenden, um eine benutzerdefinierte Komponente zu erstellen. Um das Komponentenrezept für die neueste Version einer öffentlichen Komponente anzuzeigen, verwenden Sie die Konsole oder AWS CLI wie folgt:
-
Verwenden der Konsole
-
Suchen Sie auf der Seite Komponenten auf der Registerkarte Öffentliche Komponenten nach der öffentlichen Komponente und wählen Sie sie aus.
-
Wählen Sie auf der Komponentenseite die Option Rezept anzeigen aus.
-
-
Verwenden AWS CLI
Führen Sie den folgenden Befehl aus, um das Komponentenrezept der öffentlichen Variantenkomponente abzurufen. Dieser Befehl schreibt das Komponentenrezept in die Rezeptdatei JSON oder die YAML Rezeptdatei, die Sie in Ihrem Befehl angeben.
Ersetzen Sie die Werte in Ihrem Befehl wie folgt:
-
. Der Amazon-Ressourcenname (ARN) der öffentlichen Komponente.<arn>
-
. Das Format, in dem Sie die Rezeptdatei erstellen möchten. Unterstützte Werte sind<recipe-format>
JSON
undYAML
. -
. Der Name des Rezepts im Format<recipe-file>
.<component-name>
-<component-version>
-
Rufen Sie Beispielartefakte von Komponenten ab
Sie können die Artefakte, die von den öffentlichen Komponenten für maschinelles Lernen verwendet werden, als Vorlagen verwenden, um Ihre benutzerdefinierten Komponentenartefakte wie Inferenzcode oder Runtime-Installationsskripten zu erstellen.
Um die Beispielartefakte anzuzeigen, die in den öffentlichen Komponenten für maschinelles Lernen enthalten sind, stellen Sie die öffentliche Inferenzkomponente bereit und sehen Sie sich dann die Artefakte auf Ihrem Gerät im
Ordner an.
/packages/artifacts-unarchived//greengrass/v2
component-name
/component-version
/
Laden Sie Komponentenartefakte in einen S3-Bucket hoch
Bevor Sie eine benutzerdefinierte Komponente erstellen können, müssen Sie die Komponentenartefakte in einen S3-Bucket hochladen und den S3 URIs in Ihrem Komponentenrezept verwenden. Um beispielsweise benutzerdefinierten Inferenzcode in Ihrer Inferenzkomponente zu verwenden, laden Sie den Code in einen S3-Bucket hoch. Sie können dann den Amazon S3 URI Ihres Inferenzcodes als Artefakt in Ihrer Komponente verwenden.
Informationen zum Hochladen von Inhalten in einen S3-Bucket finden Sie unter Arbeiten mit Amazon S3 S3-Buckets im Amazon Simple Storage Service-Benutzerhandbuch.
Anmerkung
Sie müssen Ihre Artefakte in S3-Buckets speichern, die sich im selben AWS-Konto und AWS-Region wie die Komponenten befinden. Um auf diese Artefakte zugreifen AWS IoT Greengrass zu können, muss die Greengrass-Geräterolle die s3:GetObject
Aktion zulassen. Weitere Informationen zur Geräterolle finden Sie unterAutorisieren Sie Kerngeräte für die Interaktion mit Diensten AWS.
Erstellen Sie benutzerdefinierte Komponenten
Sie können die Artefakte und Rezepte, die Sie abgerufen haben, verwenden, um Ihre benutzerdefinierten Komponenten für maschinelles Lernen zu erstellen. Ein Beispiel finden Sie unter Erstellen Sie eine benutzerdefinierte Inferenzkomponente.
Ausführliche Informationen zum Erstellen und Bereitstellen von Komponenten auf Greengrass-Geräten finden Sie unter AWS IoT Greengrass Komponenten entwickeln undBereitstellen von AWS IoT Greengrass Komponenten auf Geräten.
Erstellen Sie eine benutzerdefinierte Inferenzkomponente
In diesem Abschnitt erfahren Sie, wie Sie mithilfe der DLR Bildklassifizierungskomponente als Vorlage eine benutzerdefinierte Inferenzkomponente erstellen.
Themen
Laden Sie Ihren Inferenzcode in einen Amazon S3 S3-Bucket hoch
Erstellen Sie Ihren Inferenzcode und laden Sie ihn dann in einen S3-Bucket hoch. Informationen zum Hochladen von Inhalten in einen S3-Bucket finden Sie unter Arbeiten mit Amazon S3 S3-Buckets im Amazon Simple Storage Service-Benutzerhandbuch.
Anmerkung
Sie müssen Ihre Artefakte in S3-Buckets speichern, die sich im selben AWS-Konto und AWS-Region wie die Komponenten befinden. Um auf diese Artefakte zugreifen AWS IoT Greengrass zu können, muss die Greengrass-Geräterolle die s3:GetObject
Aktion zulassen. Weitere Informationen zur Geräterolle finden Sie unterAutorisieren Sie Kerngeräte für die Interaktion mit Diensten AWS.
Erstellen Sie ein Rezept für Ihre Inferenzkomponente
-
Führen Sie den folgenden Befehl aus, um das Komponentenrezept der DLR Bildklassifizierungskomponente abzurufen. Mit diesem Befehl wird das Komponentenrezept in die Rezeptdatei JSON oder in die YAML Rezeptdatei geschrieben, die Sie in Ihrem Befehl angeben.
<recipe-file>
Ersetzen Sie es durch den Namen des Rezepts im Format
.<component-name>
-<component-version>
-
Führen Sie in dem
ComponentDependencies
Objekt in Ihrem Rezept je nach Modell und Laufzeitkomponenten, die Sie verwenden möchten, eine oder mehrere der folgenden Aktionen aus:-
Behalten Sie die DLR Komponentenabhängigkeit bei, wenn Sie DLR -kompilierte Modelle verwenden möchten. Sie können sie auch durch eine Abhängigkeit von einer benutzerdefinierten Laufzeitkomponente ersetzen, wie im folgenden Beispiel gezeigt.
Runtime-Komponente
-
Behalten Sie die Abhängigkeit vom DLR Bildklassifizierungsmodell bei, um die bereitgestellten vortrainierten ResNet -50-Modelle zu verwenden, oder ändern Sie sie, um eine benutzerdefinierte Modellkomponente zu verwenden. AWS Wenn Sie eine Abhängigkeit für eine Komponente eines öffentlichen Modells hinzufügen AWS-Konto und eine spätere benutzerdefinierte Version der Komponente in derselben Hand vorhanden ist AWS-Region, verwendet die Inferenzkomponente diese benutzerdefinierte Komponente. Geben Sie die Abhängigkeit von der Modellkomponente an, wie in den folgenden Beispielen gezeigt.
Öffentliche Modellkomponente
Komponente für benutzerdefiniertes Modell
-
-
Fügen Sie im
ComponentConfiguration
Objekt die Standardkonfiguration für diese Komponente hinzu. Sie können diese Konfiguration später ändern, wenn Sie die Komponente bereitstellen. Der folgende Auszug zeigt die Komponentenkonfiguration für die DLR Bildklassifizierungskomponente.Wenn Sie beispielsweise eine benutzerdefinierte Modellkomponente als Abhängigkeit für Ihre benutzerdefinierte Inferenzkomponente verwenden, ändern Sie sie so, dass
ModelResourceKey
sie die Namen der Modelle angeben, die Sie verwenden. -
Geben Sie im
Manifests
Objekt Informationen zu den Artefakten und der Konfiguration dieser Komponente an, die verwendet werden, wenn die Komponente auf verschiedenen Plattformen bereitgestellt wird, sowie alle anderen Informationen, die für die erfolgreiche Ausführung der Komponente erforderlich sind. Der folgende Auszug zeigt die Konfiguration desManifests
Objekts für die Linux-Plattform in der Komponente zur DLR Bildklassifizierung.
Ausführliche Informationen zum Erstellen von Komponentenrezepten finden Sie unterAWS IoT Greengrass Referenz zum Komponenten-Rezept.
Erstellen Sie die Inferenzkomponente
Verwenden Sie die AWS IoT Greengrass Konsole oder die AWS CLI , um eine Komponente mit dem Rezept zu erstellen, das Sie gerade definiert haben. Nachdem Sie die Komponente erstellt haben, können Sie sie bereitstellen, um Inferenzen auf Ihrem Gerät durchzuführen. Ein Beispiel für die Bereitstellung einer Inferenzkomponente finden Sie unter. Tutorial: Durchführen einer Inferenz bei der Bildklassifizierung mit TensorFlow Lite
-
Melden Sie sich an der AWS IoT Greengrass -Konsole
an. -
Wählen Sie im Navigationsmenü Komponenten.
-
Wählen Sie auf der Seite Komponenten auf der Registerkarte Meine Komponenten die Option Komponente erstellen aus.
-
Wählen Sie auf der Seite Komponente erstellen unter Komponenteninformationen entweder Rezeptur eingeben als JSON oder Rezeptur eingeben als YAML als Komponentenquelle aus.
-
Geben Sie im Feld Rezept das benutzerdefinierte Rezept ein, das Sie erstellt haben.
-
Klicken Sie auf Komponente erstellen.
Führen Sie den folgenden Befehl aus, um eine neue benutzerdefinierte Komponente mit dem von Ihnen erstellten Rezept zu erstellen.
aws greengrassv2 create-component-version \ --inline-recipe fileb://
path/to/recipe/file
Anmerkung
In diesem Schritt wird die Komponente im AWS IoT Greengrass Dienst in der erstellt AWS Cloud. Sie können Greengrass verwenden, CLI um Ihre Komponente lokal zu entwickeln, zu testen und bereitzustellen, bevor Sie sie in die Cloud hochladen. Weitere Informationen finden Sie unter AWS IoT Greengrass Komponenten entwickeln.