删除人工循环 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

删除人工循环

当您删除人工循环时,其状态更改为 Deleting。删除人工循环后,工作人员不再可以执行相关的人工审核任务。在以下任一情况下,您可能需要删除人工循环:

  • 用于生成工作人员用户界面的工作人员任务模板没有正确呈现或未按预期运行。

  • 单个数据对象被意外多次发送给工作人员。

  • 您不再需要通过人工审核数据对象。

如果人工循环的状态是 InProgress,您必须在删除人工循环之前停止它。当您停止人工循环时,在停止期间状态会变为 Stopping。当状态更改为 Stopped 时,您可以删除人工循环。

如果工作人员已在处理某个任务而您要停止关联的人工循环,则该任务将继续可用,直到完成或过期。只要工作人员仍在处理一项任务,您的人工循环的状态就是 Stopping。在完成这些任务后,结果将存储在人工审核工作流定义中指定的 Amazon S3 存储桶 URI 位置。如果工作人员在没有提交工作的情况下离开任务,则该任务将停止,工作人员无法返回任务。如果还没有工作人员开始处理任务,则会立即停止该任务。

如果您删除用户创建人工循环的 Amazon 账户,则会自动停止并删除人工循环。

人工循环数据留存和删除

当工作人员完成人工审核任务时,结果将存储在 Amazon S3 输出存储桶中,这是您在用于创建人工循环的人工审核工作流中指定的存储桶。删除或停止人工循环不会从 S3 存储桶中删除任何工作人员的回应。

此外,出于以下原因,Amazon A2I 会在内部暂时存储人工循环输入和输出数据:

  • 如果您配置人工循环,以便将单个数据对象发送给多个工作人员进行审核,那么直到所有工作人员均完成审核任务,Amazon A2I 才会将输出数据写入 S3 存储桶。Amazon A2I 在内部存储部分答案(来自单个工作人员的答案),以便以将完整结果写入 S3 存储桶。

  • 如果您报告了低质量的人工审核结果,Amazon A2I 可以调查并回应您的问题。

  • 对于输出 S3 存储桶(在用于创建人工循环的人工审核工作流中指定),如果您失去对其的访问权限或者将其删除,并且任务已经发送给一个或多个工作人员,Amazon A2I 需要一个地方来临时存储人工审核结果。

如果人工循环状态更改为以下状态之一,在 30 天后,Amazon A2I 将在内部删除此数据:DeletedStopped 或者 Completed。换而言之,在人工循环已完成、已停止或已删除的 30 天后,将会删除数据。此外,如果您关闭了用于创建关联人工循环的 Amazon 账户,此数据将在 30 天后删除。

使用控制台或 Amazon A2I API 停止和删除流定义

您可以在 Augmented AI 控制台中或使用 SageMaker API 来停止和删除人工循环。当人工循环被删除后,状态变为 Deleted

删除人工循环(控制台)
  1. 通过以下网址导航到 Augmented AI 控制台:https://console.aws.amazon.com/a2i/.

  2. 在导航窗格中的 Augmented AI 部分下,选择人工审核工作流

  3. 对于要删除的人工循环,选择创建该循环所用人工审核工作流的带有超链接的名称。

  4. 在页面底部的人工循环部分中,选择要停止和删除的人工循环。

  5. 如果人工循环状态为 CompletedStoppedFailed,请选择删除

    如果人工循环的状态InProgress,请选择停止。当状态更改为已停止时,选择删除

删除人工循环 (API)
  1. 使用 Augmented AI 运行时系统 API 操作 DescribeHumanLoop 检查人工循环的状态。请参阅下表中的使用此操作的示例。

    Amazon SDK for Python (Boto3)

    以下示例使用 SDK for Python (Boto3) 来描述名为 example-human-loop 的人工循环。有关更多信息,请参阅《Amazon SDK for Python (Boto) API 参考》中的 describe_human_loop

    import boto3 a2i_runtime_client = boto3.client('sagemaker-a2i-runtime') response = a2i_runtime_client.describe_human_loop(HumanLoopName='example-human-loop') human_loop_status = response['HumanLoopStatus'] print(f'example-human-loop status is: {human_loop_status}')
    Amazon CLI

    以下示例使用 Amazon CLI 来描述名为 example-human-loop 的人工循环。有关更多信息,请参阅《Amazon CLI 命令参考》中的 describe-human-loop

    $ aws sagemaker-a2i-runtime describe-human-loop --human-loop-name 'example-human-loop'
  2. 如果流定义状态为 CompletedStoppedFailed,则使用 Augmented AI 运行时系统 API 操作 DeleteHumanLoop 删除流定义。

    Amazon SDK for Python (Boto3)

    以下示例使用 SDK for Python (Boto3) 删除名为 example-human-loop 的人工循环。有关更多信息,请参阅《Amazon SDK for Python (Boto) API 参考》中的 delete_human_loop

    import boto3 a2i_runtime_client = boto3.client('sagemaker-a2i-runtime') response = a2i_runtime_client.delete_human_loop(HumanLoopName='example-human-loop')
    Amazon CLI

    以下示例使用 Amazon CLI 删除名为 example-human-loop 的人工循环。有关更多信息,请参阅《Amazon CLI 命令参考》中的 delete-human-loop

    $ aws sagemaker-a2i-runtime delete-human-loop --human-loop-name 'example-human-loop'

    如果人工循环状态为 InProgress,则使用 StopHumanLoop 停止人工循环,然后使用 DeleteHumanLoop 进行删除。

    Amazon SDK for Python (Boto3)

    以下示例使用 SDK for Python (Boto3) 来描述名为 example-human-loop 的人工循环。有关更多信息,请参阅《Amazon SDK for Python (Boto) API 参考》中的 stop_human_loop

    import boto3 a2i_runtime_client = boto3.client('sagemaker-a2i-runtime') response = a2i_runtime_client.stop_human_loop(HumanLoopName='example-human-loop')
    Amazon CLI

    以下示例使用 Amazon CLI 来描述名为 example-human-loop 的人工循环。有关更多信息,请参阅《Amazon CLI 命令参考》中的 stop-human-loop

    $ aws sagemaker-a2i-runtime stop-human-loop --human-loop-name 'example-human-loop'