监控标注作业状态 - Amazon SageMaker

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

监控标注作业状态

要监控标签任务的状态,您可以为 Amazon Ground Truth(CloudWatch G SageMaker round Truth)设置亚马逊 CloudWatch 事件( CloudWatch 事件)规则,以便在标签作业状态更改为CompletedFailedStopped或工作人员接受、拒绝、提交或返回任务时向事件发送事件。

创建规则后,可以向其添加目标。 CloudWatch 事件使用此目标来调用其他 AWS 服务来处理事件。例如,您可以使用 Amazon Simple Notification Service (Amazon SNS) 主题创建目标,以便在标注作业状态发生更改时向您发送电子邮件通知。

先决条件:

要创建 CloudWatch 事件规则,您需要一个附有 events.amazonaws.com 信任策略的 AWS Identity and Access Management (IAM) 角色。以下是 events.amazonaws.com 信任策略的示例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "events.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

向事件发送 CloudWatch 事件

要配置 CloudWatch 事件规则以获取您的 Ground Truth 标签作业的状态更新或事件,请使用 AWS Command Line Interface (AWS CLI) put-rule命令。可以按照状态更改筛选发送到您的规则的事件。例如,您可以创建一个规则,以仅在标注作业状态变为 Completed 时向您发送通知。在使用 put-rule 命令时,请指定以下内容来接收标注作业状态:

  • \"source\":[\"aws.sagemaker\"]

  • \"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"]

要配置 CloudWatch 事件规则以监视所有状态变化,请使用以下命令并替换占位符文本。例如,替换"GTLabelingJobStateChanges"为唯一 CloudWatch 的事件规则名称,替换为"arn:aws:iam::111122223333:role/MyRoleForThisRule"附有 events.amazonaws.com 信任策略的 IAM 角色的亚马逊资源编号 (ARN)。

aws events put-rule --name "GTLabelingJobStateChanges" --event-pattern "{\"source\":[\"aws.sagemaker\"],\"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"]}" --role-arn "arn:aws:iam::111122223333:role/MyRoleForThisRule" --region "region"

要按作业状态进行筛选,请使用 \"detail\":{\"LabelingJobStatus\":[\"Status\"]}}" 语法。Status 的有效值为 CompletedFailedStopped

以下示例创建了一个 CloudWatch 事件规则,当us-west-2(俄勒冈州)的标签作业更改为时,该规则会通知您。Completed

aws events put-rule --name "LabelingJobCompleted" --event-pattern "{\"source\":[\"aws.sagemaker\"],\"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"], \"detail\":{\"LabelingJobStatus\":[\"Completed\"]}}" --role-arn "arn:aws:iam::111122223333:role/MyRoleForThisRule" --region us-west-2

以下示例创建了一个 CloudWatch 事件规则,当us-east-1(弗吉尼亚州)的标签作业更改为或时,该规则会通知您。Completed Failed

aws events put-rule --name "LabelingJobCompletedOrFailed" --event-pattern "{\"source\":[\"aws.sagemaker\"],\"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"], \"detail\":{\"LabelingJobStatus\":[\"Completed\", \"Failed\"]}}" --role-arn "arn:aws:iam::111122223333:role/MyRoleForThisRule" --region us-east-1

要了解有关put-rule请求的更多信息,请参阅 Amazon Events 用户指南中的 CloudWatch CloudWatch 事件模式

设置目标以处理事件

创建规则后,将向事件发送与以下内容类似 CloudWatch 的事件。在此示例中,标注作业 test-labeling-job 的状态将变为 Completed

{ "version": "0", "id": "111e1111-11d1-111f-b111-1111b11dcb11", "detail-type": "SageMaker Ground Truth Labeling Job State Change", "source": "aws.sagemaker", "account": "111122223333", "time": "2018-10-06T12:26:13Z", "region": "us-east-1", "resources": [ "arn:aws:sagemaker:us-east-1:111122223333:labeling-job/test-labeling-job" ], "detail": { "LabelingJobStatus": "Completed" } }

要处理事件,您需要设置目标。例如,如果您想在贴标任务状态发生变化时收到一封电子邮件,请使用亚马逊 CloudWatch 用户指南中设置亚马逊 SNS 通知中的步骤来设置 A mazon SNS 主题并订阅您的电子邮件。创建主题后,可以使用该主题创建目标。

向 “ CloudWatch 事件” 规则添加目标
  1. 打开控制 CloudWatch 台:https://console.aws.amazon.com/cloudwatch/home

  2. 在导航窗格中,选择规则

  3. 选择要将目标添加到的规则。

  4. 选择操作,然后选择编辑

  5. 在 “目标” 下,选择 “添加目标”,然后选择检测到标签作业状态更改事件时要执行的 AWS 服务。

  6. 配置您的目标。有关说明,请参阅该服务的AWS 文档中有关配置目标的主题。

  7. 选择配置详细信息

  8. 对于名称,输入一个名称并(可选)在描述中提供有关规则用途的详细信息。

  9. 请确保选中状态旁边的复选框,以便您的规则以已启用状态列出。

  10. 选择更新规则

标注作业过期

如果您的标注作业在 30 天后未完成,则会过期。如果标注作业过期,您可以链接作业以创建一个新的标注作业,该作业只会向工作人员发送未标注的数据。有关更多信息以及如何使用链接创建标注作业,请参阅链接标注作业

拒绝任务

工作人员可以拒绝任务。

如果说明不清楚、输入数据显示不正确或遇到任务的其他问题,工作人员会拒绝任务。如果每个数据集对象的工作人员数量 (NumberOfHumanWorkersPerDataObject) 拒绝任务,则该数据对象将被标记为过期,并且不会发送给其他工作人员。