주석 전 및 주석 후 Lambda 함수 테스트 - Amazon SageMaker AI

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

주석 전 및 주석 후 Lambda 함수 테스트

Lambda 콘솔에서 주석 전 및 주석 후 Lambda 함수를 테스트할 수 있습니다. Lambda를 처음 사용하는 경우 AWS Lambda 개발자 안내서의 콘솔과 함께 Lambda 함수 생성 자습서를 사용하여 콘솔에서 Lambda 함수를 테스트하거나 호출하는 방법을 배울 수 있습니다. 이 페이지의 섹션을 사용하여 AWS Serverless Application Repository (SAR)를 통해 제공된 Ground Truth 주석 전 및 주석 후 템플릿을 테스트하는 방법을 배울 수 있습니다.

사전 조건

이 페이지에 설명된 테스트 방법을 이용하려면 다음을 수행해야 합니다.

  • Lambda 콘솔에 대한 액세스 권한이 필요하며 Lambda 함수를 생성하고 호출할 수 있는 권한이 필요합니다. 이러한 권한을 설정하는 방법에 대해 알아보려면 AWS Lambda 함수를 생성하고 선택할 수 있는 권한 부여 섹션을 참조하세요.

  • Ground Truth SAR 레시피를 배포하지 않은 경우 Ground Truth 템플릿을 사용하여 Lambda 함수 생성 의 절차를 이용하여 배포합니다.

  • 주석 후 Lambda 함수를 테스트하려면 Amazon S3에 샘플 주석 데이터가 있는 데이터 파일이 있어야 합니다. 간단한 테스트를 위해 다음 코드를 복사하여 파일에 붙여 넣고 sample-annotations.json으로 저장한 후 이 파일을 Amazon S3에 업로드할 수 있습니다. 이 파일의 S3 URI를 기록해 둡니다. 주석 후 Lambda 테스트를 구성하려면 이 정보가 필요하기 때문입니다.

    [{"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}]}}"}}]}]
  • 의 지침을 사용하여 주석 후 Lambda 함수의 실행 역할에 레이블 지정 작업을 생성하는 데 사용하는 SageMaker AI 실행 역할을 수임할 수 있는 권한을 주석에 액세스할 수 있는 주석 후 Lambda 권한 부여 부여해야 합니다. 주석 후 Lambda 함수는 SageMaker AI 실행 역할을 사용하여 S3의 주석 데이터 파일 sample-annotations.json에 액세스합니다.

주석 전 Lambda 함수 테스트

다음 절차에 따라 Ground Truth AWS Serverless Application Repository (SAR) 레시피를 배포할 때 생성된 주석 전 Lambda 함수를 테스트합니다.

Ground Truth SAR 레시피 주석 전 Lambda 함수 테스트
  1. Lambda 콘솔에서 함수 페이지를 엽니다.

  2. Ground Truth SAR 레시피에서 배포된 주석 전 기능을 선택합니다. 이 함수의 이름은 serverlessrepo-aws-sagema-GtRecipePreHumanTaskFunc-<id>와 비슷합니다.

  3. 코드 소스 섹션에서 테스트 옆의 화살표를 선택합니다.

  4. 테스트 이벤트 구성을 선택합니다.

  5. 새 테스트 이벤트 생성 옵션을 선택한 상태로 유지합니다.

  6. 이벤트 템플릿에서 SageMaker Ground Truth PreHumanTask를 선택합니다.

  7. 테스트에 이벤트 이름을 지정합니다.

  8. 생성을 선택합니다.

  9. 테스트 옆의 화살표를 다시 선택하면 생성한 테스트가 선택된 것을 확인할 수 있으며, 이벤트 이름 옆에 점이 표시됩니다. 선택되지 않은 경우 선택합니다.

  10. 테스트를 선택하여 테스트를 실행합니다.

테스트를 실행한 후 실행 결과를 볼 수 있습니다. 함수 로그에 다음과 비슷한 응답이 표시되어야 합니다.

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

이 응답에서 Lambda 함수의 출력이 필수 주석 전 응답 구문과 일치하는 것을 확인할 수 있습니다.

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

주석 후 Lambda 함수 테스트

다음 절차에 따라 Ground Truth AWS Serverless Application Repository (SAR) 레시피를 배포할 때 생성된 주석 후 Lambda 함수를 테스트합니다.

Ground Truth SAR 레시피 주석 후 Lambda 테스트
  1. Lambda 콘솔에서 함수 페이지를 엽니다.

  2. Ground Truth SAR 레시피에서 배포된 주석 후 함수를 선택합니다. 이 함수의 이름은 serverlessrepo-aws-sagema-GtRecipeAnnotationConsol-<id>와 비슷합니다.

  3. 코드 소스 섹션에서 테스트 옆의 화살표를 선택합니다.

  4. 테스트 이벤트 구성을 선택합니다.

  5. 새 테스트 이벤트 생성 옵션을 선택한 상태로 유지합니다.

  6. 이벤트 템플릿에서 SageMaker Ground Truth AnnotationConsolidation을 선택합니다.

  7. 테스트에 이벤트 이름을 지정합니다.

  8. 제공된 템플릿 코드를 다음과 같이 수정합니다.

    • 의 Amazon 리소스 이름(ARN)을 레이블 지정 작업을 생성하는 데 사용한 SageMaker AI 실행 역할의 ARNroleArn으로 바꿉니다.

    • s3Uri의 S3 URI를 Amazon S3에 추가한 sample-annotations.json 파일의 URI로 바꿉니다.

    이렇게 수정한 후에는 테스트가 다음과 비슷한 형태가 됩니다.

    { "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. 생성을 선택합니다.

  10. 테스트 옆의 화살표를 다시 선택하면 생성한 테스트가 선택된 것을 확인할 수 있으며, 이벤트 이름 옆에 점이 표시됩니다. 선택되지 않은 경우 선택합니다.

  11. 테스트를 선택하여 테스트를 실행합니다.

테스트를 실행한 후에는 sample-annotations.json에 포함된 모든 주석의 목록을 포함하고 있는 함수 로그-- Consolidated Output -- 섹션이 표시됩니다.