更新解决方案以更改其自动训练配置 - Amazon Personalize

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

更新解决方案以更改其自动训练配置

创建解决方案后,您可以更改其自动训练配置。您可以打开或关闭自动训练,也可以更改训练频率。

  • 如果您开启自动训练,则第一次自动训练将在解决方案更新完成后的一小时内开始。如果您在一小时内手动创建解决方案版本,则该解决方案将跳过第一次自动训练。

  • 如果您修改解决方案的训练频率,则训练计划将重置,新的解决方案版本将在一小时内开始训练。解决方案版本的创建继续以新的频率进行,即第 1 天是您更新解决方案的那一天。

您可以使用 Amazon Personalize 控制台更新解决方案, AWS Command Line Interface,或 AWS SDKs。解决方案更新可能需要几分钟。在更新过程中,您可以为解决方案创建解决方案版本,但不能删除解决方案。在更新完成之前,解决方案将使用先前的配置。有关自动训练的更多信息,请参阅配置自动训练

更新解决方案(控制台)

要在控制台中更新解决方案,请导航到该解决方案,选择更新,然后指定要使用的新配置。

配置解决方案
  1. https://console.aws.amazon.com/personalize/家中打开 Amazon Personalize 控制台,然后登录您的账户。

  2. 数据集组页面,选择您的数据集组。

  3. 在导航窗格中,选择 “自定义资源”,然后选择 “解决方案和配方”。

  4. 选择您的解决方案,然后选择右上角的 “更新”。

  5. 自动训练中,修改解决方案是否使用自动训练。如果自动训练已开启,则可以更改Automatic training frequency。默认训练频率为每 7 天一次。

  6. 选择 “更新解决方案”。您可以在解决方案的详细信息页面上找到解决方案更新的状态。

更新解决方案 (AWS CLI)

要使用更新解决方案 AWS Command Line Interface,使用update-solution命令。此命令使用该UpdateSolutionAPI操作。以下代码向您展示了如何更新解决方案以使用训练频率为 5 天的自动训练。要关闭 auto 训练,请指定--no-perform-auto-training并省略。solution-update-config

默认训练频率为每 7 天一次。表达式必须采用rate(value unit)格式。为该值指定一个介于 1 和 30 之间的数字。对于单位,请指定daydays

aws personalize update-solution \ --solution-arn solution ARN \ --perform-auto-training \ --solution-update-config "{\"autoTrainingConfig\": {\"schedulingExpression\": \"rate(5 days)\"}}"

要获取更新状态,请使用describe-solution命令(该命令使用该DescribeSolutionAPI操作),然后在中查找更新状态latestSolutionUpdate

更新解决方案 (AWS SDKs)

要使用更新解决方案 AWS SDKs,使用UpdateSolutionAPI操作。以下代码向您展示了如何使用 for Python (Boto3) 更新解决方案,以使用训练频率为 5 天的自动训练。SDK该代码通过DescribeSolutionAPI操作获取更新的状态。

默认训练频率为每 7 天一次。表达式必须采用rate(value unit)格式。为该值指定一个介于 1 和 30 之间的数字。对于单位,请指定daydays

import boto3 personalize = boto3.client('personalize') update_solution_response = personalize.update_solution( solutionArn='SOLUTION ARN', performAutoTraining=True, solutionUpdateConfig={ "autoTrainingConfig": { "schedulingExpression": "rate(5 days)" } } ) describe_solution_response = personalize.describe_solution( solutionArn='SOLUTION ARN' ) update_status = describe_solution_response["solution"]["latestSolutionUpdate"]["status"] print(f"Update status: {update_status}")