Verifica le funzioni Lambda di pre-annotazione e post-annotazione - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Verifica le funzioni Lambda di pre-annotazione e post-annotazione

Puoi testare le funzioni Lambda di pre-annotazione e post-annotazione nella console Lambda. Se sei un nuovo utente di Lambda, puoi scoprire come testare o richiamare le funzioni Lambda nella console consultando il tutorial Crea una funzione Lambda con la console nella Guida per sviluppatori AWS Lambda .

Puoi utilizzare le sezioni di questa pagina per imparare a testare i modelli di pre-annotazione e post-annotazione di Ground Truth forniti tramite un AWS Serverless Application Repository (SAR).

Prerequisiti

È necessario effettuare le seguenti operazioni per effettuare i test descritti in questa pagina.

  • È necessario accedere alla console Lambda e sono necessaire le autorizzazioni per creare e richiamare le funzioni Lambda. Per scoprire come configurare queste autorizzazioni, consulta Concedi l'autorizzazione a creare e selezionare una funzione AWS Lambda.

  • Se non hai implementato la ricetta SAR di Ground Truth, segui la procedura descritta in Crea funzioni Lambda per un flusso di lavoro di etichettatura personalizzato per farlo.

  • Per testare la funzione Lambda post-annotazione, è necessario disporre di un file di dati in Amazon S3 con dati di annotazione di esempio. Per un semplice test, puoi copiare e incollare il seguente codice in un file, salvarlo come sample-annotations.json e caricare il file su Amazon S3. Prendi nota dell'URI S3 di questo file: hai bisogno di queste informazioni per configurare il test Lambda post-annotazione.

    [{"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}]}}"}}]}]
  • È necessario utilizzare le istruzioni riportate in Concedi le autorizzazioni Lambda post-annotazione per accedere all'annotazione per autorizzare il ruolo di esecuzione della funzione Lambda post-annotazione ad assumere il ruolo di SageMaker esecuzione utilizzato per creare il processo di etichettatura. La funzione Lambda post-annotazione utilizza il ruolo di SageMaker esecuzione per accedere al file di dati di annotazione, in S3. sample-annotations.json

Testa la funzione Lambda di pre-annotazione

Usa la seguente procedura per testare la funzione Lambda di pre-annotazione creata quando hai distribuito la ricetta Ground AWS Serverless Application Repository Truth (SAR).

Test della funzione Lambda di pre-annotazione della ricetta SAR di Ground Truth
  1. Apri la pagina Funzioni nella console Lambda.

  2. Seleziona la funzione di pre-annotazione che è stata implementata dalla ricetta SAR di Ground Truth. Il nome di questa funzione è simile a serverlessrepo-aws-sagema-GtRecipePreHumanTaskFunc-<id>.

  3. Nella sezione Codice sorgente, seleziona la freccia accanto a Test.

  4. Seleziona Configura evento di test.

  5. Mantieni selezionata l'opzione Crea nuovo evento di test.

  6. In Modello di evento, seleziona SageMakerGround Truth PreHumanTask.

  7. Assegna al test un Nome evento.

  8. Seleziona Crea.

  9. Seleziona nuovamente la freccia accanto a Test. Dovresti notare che il test che hai creato è selezionato e ciò è indicato con un punto accanto al nome dell'evento. Se non è selezionato, selezionalo.

  10. Seleziona Test per eseguire il test.

Dopo aver eseguito il test, puoi vedere i Risultati di esecuzione. Nei Log delle funzioni, dovresti visualizzare una risposta simile alla seguente:

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 questa risposta, possiamo vedere che l'output della funzione Lambda corrisponde alla sintassi di risposta pre-annotazione richiesta:

{'taskInput': {'taskObject': 's3://sagemakerexample/object_to_annotate.jpg'}, 'isHumanAnnotationRequired': 'true'}

Test della funzione Lambda di post-annotazione

Usa la seguente procedura per testare la funzione Lambda post-annotazione creata quando hai distribuito la ricetta Ground AWS Serverless Application Repository Truth (SAR).

Testa della Lambda di post-annotazione della ricetta SAR di Ground Truth
  1. Apri la pagina Funzioni nella console Lambda.

  2. Seleziona la funzione di post-annotazione che è stata implementata dalla ricetta SAR di Ground Truth. Il nome di questa funzione è simile a serverlessrepo-aws-sagema-GtRecipeAnnotationConsol-<id>.

  3. Nella sezione Codice sorgente, seleziona la freccia accanto a Test.

  4. Seleziona Configura evento di test.

  5. Mantieni selezionata l'opzione Crea nuovo evento di test.

  6. In Modello di evento, seleziona SageMakerGround Truth AnnotationConsolidation.

  7. Assegna al test un Nome evento.

  8. Modifica il codice del modello fornito come segue:

    • Sostituisci Amazon Resource Name (ARN) roleArn con l'ARN del ruolo di SageMaker esecuzione utilizzato per creare il processo di etichettatura.

    • Sostituisci l'URI S3 in s3Uri con l'URI del file sample-annotations.json che hai aggiunto ad Amazon S3.

    Dopo aver apportato queste modifiche, il test dovrebbe essere simile al seguente:

    { "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" } }
  9. Seleziona Crea.

  10. Seleziona nuovamente la freccia accanto a Test. Dovresti notare che il test che hai creato è selezionato e ciò è indicato con un punto accanto al nome dell'evento. Se non è selezionato, selezionalo.

  11. Seleziona Test per eseguire il test.

Dopo aver eseguito il test, dovresti visualizzare una sezione -- Consolidated Output -- nei Log delle funzioni, che contiene un elenco di tutte le annotazioni incluse in sample-annotations.json.