Prueba de las funciones de Lambda previas y posteriores a la anotación - Amazon SageMaker AI

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Prueba de las funciones de Lambda previas y posteriores a la anotación

Puede probar las funciones de Lambda preanotación y postanotación en la consola de Lambda. Si es un usuario nuevo de Lambda, puede aprender a probar, o invocar, sus funciones de Lambda en la consola mediante el tutorial Crear una función de Lambda con la consola en la Guía para desarrolladores de AWS Lambda . Puedes usar las secciones de esta página para aprender a probar las plantillas de anotación previa y posterior a la anotación de Ground Truth que se proporcionan a través de un AWS Serverless Application Repository (SAR).

Requisitos previos

Debe hacer lo siguiente para utilizar las pruebas que se describen en esta página.

  • Necesita acceso a la consola de Lambda y permiso para crear e invocar funciones de Lambda. Para saber cómo configurar estos permisos, consulte Otorgue permiso para crear y seleccionar una función AWS Lambda

  • Si no ha implementado la receta de SAR de Ground Truth, utilice el procedimiento Creación de funciones de Lambda mediante las plantillas de Ground Truth para hacerlo.

  • Para probar la función de Lambda postanotación, debe tener un archivo de datos en Amazon S3 con ejemplos de datos de anotación. Para realizar una prueba sencilla, puede copiar y pegar el siguiente código en un archivo, guardarlo como sample-annotations.json y subirlo a Amazon S3. Anote el URI de S3 de este archivo; necesita esta información para configurar la prueba de Lambda postanotación.

    [{"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}]}}"}}]}]
  • Debe seguir las instrucciones para dar permiso Otorgue permisos de Lambda postanotación para acceder a la anotación a la función de ejecución de la función Lambda posterior a la anotación para que asuma la función de ejecución de SageMaker IA que utiliza para crear el trabajo de etiquetado. La función Lambda posterior a la anotación utiliza la función de ejecución de SageMaker IA para acceder al archivo de datos de la anotación, en S3. sample-annotations.json

Pruebe la función de Lambda preanotación

Utilice el siguiente procedimiento para probar la función Lambda previa a la anotación creada al implementar la receta Ground Truth AWS Serverless Application Repository (SAR).

Pruebe la función de Lambda preanotación de la receta de SAR de Ground Truth
  1. Abra la página Funciones en la consola de Lambda.

  2. Seleccione la función preanotación que se implementó a partir de la receta de SAR de Ground Truth. El nombre de esta función es similar a serverlessrepo-aws-sagema-GtRecipePreHumanTaskFunc-<id>.

  3. En la sección Código fuente, selecciona la flecha situada junto a Probar.

  4. Seleccione Configurar un evento de prueba.

  5. Mantenga seleccionada la opción Crear un evento de prueba nuevo.

  6. En Plantilla de evento, selecciona SageMakerGround Truth PreHumanTask.

  7. Asigne un Nombre de evento a su prueba.

  8. Seleccione Crear.

  9. Seleccione la flecha situada junto a Probar otra vez y verá que está seleccionada la prueba que ha creado, que se indica con un punto junto al nombre del evento. Si no está seleccionada, selecciónela.

  10. Seleccione Probar para ejecutar la prueba.

Después de ejecutar la prueba, podrá ver los Resultados de la ejecución. En Registros de la función, debería ver una respuesta similar a la siguiente:

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

En esta respuesta, podemos ver que el resultado de la función de Lambda coincide con la sintaxis de respuesta preanotación requerida:

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

Pruebe la función de Lambda postanotación

Utilice el siguiente procedimiento para probar la función Lambda posterior a la anotación creada al implementar la receta Ground Truth AWS Serverless Application Repository (SAR).

Pruebe la función de Lambda postanotación de la receta de SAR de Ground Truth
  1. Abra la página Funciones en la consola de Lambda.

  2. Seleccione la función postanotación que se implementó a partir de la receta de SAR de Ground Truth. El nombre de esta función es similar a serverlessrepo-aws-sagema-GtRecipeAnnotationConsol-<id>.

  3. En la sección Código fuente, selecciona la flecha situada junto a Probar.

  4. Seleccione Configurar un evento de prueba.

  5. Mantenga seleccionada la opción Crear un evento de prueba nuevo.

  6. En Plantilla de evento, selecciona SageMakerGround Truth AnnotationConsolidation.

  7. Asigne un Nombre de evento a su prueba.

  8. Modifique el código de la plantilla de la siguiente manera:

    • Sustituya el nombre del recurso de Amazon (ARN) por el roleArn ARN de la función de ejecución de SageMaker IA que utilizó para crear el trabajo de etiquetado.

    • Sustituya el URI de S3 en s3Uri por el URI del archivo sample-annotations.json que ha añadido a Amazon S3.

    Después de realizar estas modificaciones, la prueba debería tener un aspecto similar al siguiente:

    { "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. Seleccione Crear.

  10. Seleccione la flecha situada junto a Probar otra vez y verá que está seleccionada la prueba que ha creado, que se indica con un punto junto al nombre del evento. Si no está seleccionada, selecciónela.

  11. Seleccione Probar para ejecutar la prueba.

Tras ejecutar la prueba, debería ver una sección -- Consolidated Output -- en los Registros de las funciones, que contiene una lista de todas las anotaciones incluidas en sample-annotations.json.