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.
Testen Sie Lambda-Funktionen vor und nach der Annotation
Sie können Ihre Lambda-Funktionen zur Vorverarbeitung und zur Nachbearbeitung in der Lambda-Konsole testen. Wenn Sie ein neuer Benutzer von Lambda sind, können Sie mithilfe des Tutorials Erstellen einer Lambda-Funktion im AWS Lambda -Entwicklerhandbuch lernen, wie Sie Ihre Lambda-Funktionen in der Konsole testen oder aufrufen. In den Abschnitten auf dieser Seite erfahren Sie, wie Sie die über eine AWS Serverless Application Repository (SAR) bereitgestellten Ground Truth-Vorlagen vor und nach der Anmerkung testen können.
Themen
Voraussetzungen
Um die auf dieser Seite beschriebenen Tests verwenden zu können, müssen Sie wie folgt vorgehen.
-
Sie benötigen Zugriff auf die Lambda-Konsole und Berechtigungen, Lambda-Funktionen zu erstellen und aufzurufen. Informationen zum Einrichten dieser Berechtigungen finden Sie unter Erteilen Sie die Berechtigung zum Erstellen und Auswählen einer Funktion AWS Lambda.
-
Wenn Sie das Ground-Truth-SAR-Rezept nicht bereitgestellt haben, verwenden Sie dazu das Verfahren in Lambda-Funktionen mithilfe von Ground Truth Truth-Vorlagen erstellen .
-
Um die Lambda-Funktion zur Nachbearbeitung zu testen, benötigen Sie in Amazon S3 eine Datendatei mit Beispiel-Annotationsdaten. Für einen einfachen Test können Sie den folgenden Code kopieren und in eine Datei einfügen, ihn unter
sample-annotations.json
speichern und diese Datei auf Amazon S3 hochladen. Notieren Sie sich den S3-URI dieser Datei – Sie benötigen diese Informationen, um den Lambda-Test nach der Annotation zu konfigurieren.[{"datasetObjectId":"0","dataObject":{"content":"To train a machine learning model, you need a large, high-quality, labeled dataset. Ground Truth helps you build high-quality training datasets for your machine learning models."},"annotations":[{"workerId":"private.us-west-2.0123456789","annotationData":{"content":"{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":8,\"label\":\"verb\",\"startOffset\":3},{\"endOffset\":27,\"label\":\"adjective\",\"startOffset\":11},{\"endOffset\":33,\"label\":\"object\",\"startOffset\":28},{\"endOffset\":51,\"label\":\"adjective\",\"startOffset\":46},{\"endOffset\":65,\"label\":\"adjective\",\"startOffset\":53},{\"endOffset\":74,\"label\":\"adjective\",\"startOffset\":67},{\"endOffset\":82,\"label\":\"adjective\",\"startOffset\":75},{\"endOffset\":102,\"label\":\"verb\",\"startOffset\":97},{\"endOffset\":112,\"label\":\"verb\",\"startOffset\":107},{\"endOffset\":125,\"label\":\"adjective\",\"startOffset\":113},{\"endOffset\":134,\"label\":\"adjective\",\"startOffset\":126},{\"endOffset\":143,\"label\":\"object\",\"startOffset\":135},{\"endOffset\":169,\"label\":\"adjective\",\"startOffset\":153},{\"endOffset\":176,\"label\":\"object\",\"startOffset\":170}]}}"}}]},{"datasetObjectId":"1","dataObject":{"content":"Sift 3 cups of flour into the bowl."},"annotations":[{"workerId":"private.us-west-2.0123456789","annotationData":{"content":"{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":4,\"label\":\"verb\",\"startOffset\":0},{\"endOffset\":6,\"label\":\"number\",\"startOffset\":5},{\"endOffset\":20,\"label\":\"object\",\"startOffset\":15},{\"endOffset\":34,\"label\":\"object\",\"startOffset\":30}]}}"}}]},{"datasetObjectId":"2","dataObject":{"content":"Jen purchased 10 shares of the stock on Janurary 1st, 2020."},"annotations":[{"workerId":"private.us-west-2.0123456789","annotationData":{"content":"{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":3,\"label\":\"person\",\"startOffset\":0},{\"endOffset\":13,\"label\":\"verb\",\"startOffset\":4},{\"endOffset\":16,\"label\":\"number\",\"startOffset\":14},{\"endOffset\":58,\"label\":\"date\",\"startOffset\":40}]}}"}}]},{"datasetObjectId":"3","dataObject":{"content":"The narrative was interesting, however the character development was weak."},"annotations":[{"workerId":"private.us-west-2.0123456789","annotationData":{"content":"{\"crowd-entity-annotation\":{\"entities\":[{\"endOffset\":29,\"label\":\"adjective\",\"startOffset\":18},{\"endOffset\":73,\"label\":\"adjective\",\"startOffset\":69}]}}"}}]}]
-
Sie müssen die Anweisungen unter verwendenErteilen von Lambda-Berechtigungen zur Nachbearbeitung für den Zugriff auf Anmerkungen, um der Ausführungsrolle Ihrer Lambda-Funktion nach der Annotation die Berechtigung zu erteilen, die SageMaker KI-Ausführungsrolle anzunehmen, die Sie zum Erstellen des Labeling-Jobs verwenden. Die Lambda-Funktion nach der Annotation verwendet die SageMaker AI-Ausführungsrolle, um auf die Annotationsdatendatei in
sample-annotations.json
S3 zuzugreifen.
Testen der Lambda-Funktion zur Vorverarbeitung
Verwenden Sie das folgende Verfahren, um die Lambda-Funktion vor der Annotation zu testen, die bei der Bereitstellung des Ground Truth AWS Serverless Application Repository (SAR) -Rezepts erstellt wurde.
Testen der Lambda-Funktion zur Vorverarbeitung des Ground-Truth-SAR-Rezepts
-
Öffnen Sie die Seite Funktionen
in der Lambda-Konsole. -
Wählen Sie die Funktion zur Vorverarbeitung, die aus dem Ground-Truth-SAR-Rezept bereitgestellt wurde. Der Name dieser Funktion ist
serverlessrepo-aws-sagema-GtRecipePreHumanTaskFunc-
ähnlich.<id>
-
Wählen Sie im Abschnitt Codequelle den Pfeil neben Test aus.
-
Wählen Sie Testereignis konfigurieren.
-
Lassen Sie die Option Neues Testereignis erstellen ausgewählt.
-
Wählen Sie unter Eventvorlage die Option SageMakerGround Truth aus PreHumanTask.
-
Geben Sie Ihrem Test einen Ereignisnamen.
-
Wählen Sie Erstellen aus.
-
Klicken Sie erneut auf den Pfeil neben Test. Sie sollten nun sehen, dass der von Ihnen erstellte Test ausgewählt ist, was durch einen Punkt neben dem Namen des Ereignisses gekennzeichnet ist. Wenn er nicht ausgewählt ist, wählen Sie ihn aus.
-
Wählen Sie Test aus, um den Test auszuführen.
Nachdem Sie den Test ausgeführt haben, können Sie die Ausführungsergebnisse sehen. Unter Funktionsprotokolle sollten Sie eine Antwort ähnlich der folgenden sehen:
START RequestId: cd117d38-8365-4e1a-bffb-0dcd631a878f Version: $LATEST Received event: { "version": "2018-10-16", "labelingJobArn": "arn:aws:sagemaker:us-east-2:123456789012:labeling-job/example-job", "dataObject": { "source-ref": "s3://sagemakerexample/object_to_annotate.jpg" } } {'taskInput': {'taskObject': 's3://sagemakerexample/object_to_annotate.jpg'}, 'isHumanAnnotationRequired': 'true'} END RequestId: cd117d38-8365-4e1a-bffb-0dcd631a878f REPORT RequestId: cd117d38-8365-4e1a-bffb-0dcd631a878f Duration: 0.42 ms Billed Duration: 1 ms Memory Size: 128 MB Max Memory Used: 43 MB
In dieser Antwort können wir sehen, dass die Ausgabe der Lambda-Funktion der erforderlichen Antwortsyntax zur Vorverarbeitung entspricht:
{'taskInput': {'taskObject': 's3://sagemakerexample/object_to_annotate.jpg'}, 'isHumanAnnotationRequired': 'true'}
Testen der Lambda-Funktion zur Nachbearbeitung
Verwenden Sie das folgende Verfahren, um die Lambda-Funktion nach der Annotation zu testen, die bei der Bereitstellung des Ground Truth AWS Serverless Application Repository (SAR) -Rezepts erstellt wurde.
Testen der Lambda-Funktion zur Nachbearbeitung des Ground-Truth-SAR-Rezepts
-
Öffnen Sie die Seite Funktionen
in der Lambda-Konsole. -
Wählen Sie die Funktion zur Nachbearbeitung, die aus dem Ground-Truth-SAR-Rezept bereitgestellt wurde. Der Name dieser Funktion ist
serverlessrepo-aws-sagema-GtRecipeAnnotationConsol-
ähnlich.<id>
-
Wählen Sie im Abschnitt Codequelle den Pfeil neben Test aus.
-
Wählen Sie Testereignis konfigurieren.
-
Lassen Sie die Option Neues Testereignis erstellen ausgewählt.
-
Wählen Sie unter Eventvorlage die Option SageMakerGround Truth aus AnnotationConsolidation.
-
Geben Sie Ihrem Test einen Ereignisnamen.
-
Ändern Sie den bereitgestellten Vorlagencode folgendermaßen:
-
Ersetzen Sie den Amazon-Ressourcennamen (ARN) durch den ARN der SageMaker KI-Ausführungsrolle,
roleArn
mit der Sie den Labeling-Job erstellt haben. -
Ersetzen Sie den S3-URI in
s3Uri
durch den URI der Datei
, die Sie Amazon S3 hinzugefügt haben.sample-annotations.json
Nachdem Sie diese Änderungen vorgenommen haben, sollte Ihr Test wie folgt aussehen:
{ "version": "2018-10-16", "labelingJobArn": "arn:aws:sagemaker:us-east-2:123456789012:labeling-job/example-job", "labelAttributeName": "example-attribute", "roleArn": "arn:aws:iam::
222222222222
:role/sm-execution-role
", "payload": { "s3Uri": "s3://your-bucket
/sample-annotations.json" } } -
-
Wählen Sie Erstellen aus.
-
Klicken Sie erneut auf den Pfeil neben Test. Sie sollten nun sehen, dass der von Ihnen erstellte Test ausgewählt ist, was durch einen Punkt neben dem Namen des Ereignisses gekennzeichnet ist. Wenn er nicht ausgewählt ist, wählen Sie ihn aus.
-
Wählen Sie den Test aus, um den Test auszuführen.
Nachdem Sie den Test ausgeführt haben, sollten Sie einen Abschnitt -- Consolidated Output
--
in den Funktionsprotokollen sehen, der eine Liste aller enthaltenen sample-annotations.json
-Anmerkungen enthält.