本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新解决方案以更改其自动训练配置
创建解决方案后,您可以更改其自动训练配置。您可以打开或关闭自动训练,也可以更改训练频率。
-
如果您开启自动训练,则第一次自动训练将在解决方案更新完成后的一小时内开始。如果您在一小时内手动创建解决方案版本,则该解决方案将跳过第一次自动训练。
-
如果您修改解决方案的训练频率,则训练计划将重置,新的解决方案版本将在一小时内开始训练。解决方案版本的创建继续以新的频率进行,即第 1 天是您更新解决方案的那一天。
您可以使用 Amazon Personalize 控制台更新解决方案, AWS Command Line Interface,或 AWS SDKs。解决方案更新可能需要几分钟。在更新过程中,您可以为解决方案创建解决方案版本,但不能删除解决方案。在更新完成之前,解决方案将使用先前的配置。有关自动训练的更多信息,请参阅配置自动训练。
更新解决方案(控制台)
要在控制台中更新解决方案,请导航到该解决方案,选择更新,然后指定要使用的新配置。
配置解决方案
-
在https://console.aws.amazon.com/personalize/家
中打开 Amazon Personalize 控制台,然后登录您的账户。 -
在数据集组页面,选择您的数据集组。
-
在导航窗格中,选择 “自定义资源”,然后选择 “解决方案和配方”。
-
选择您的解决方案,然后选择右上角的 “更新”。
-
在自动训练中,修改解决方案是否使用自动训练。如果自动训练已开启,则可以更改
Automatic training frequency
。默认训练频率为每 7 天一次。 -
选择 “更新解决方案”。您可以在解决方案的详细信息页面上找到解决方案更新的状态。
更新解决方案 (AWS CLI)
要使用更新解决方案 AWS Command Line Interface,使用update-solution
命令。此命令使用该UpdateSolutionAPI操作。以下代码向您展示了如何更新解决方案以使用训练频率为 5 天的自动训练。要关闭 auto 训练,请指定--no-perform-auto-training
并省略。solution-update-config
默认训练频率为每 7 天一次。表达式必须采用rate(value
unit)
格式。为该值指定一个介于 1 和 30 之间的数字。对于单位,请指定day
或days
。
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 之间的数字。对于单位,请指定day
或days
。
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}")