本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新解決方案以變更其自動訓練組態
建立解決方案之後,您可以變更其自動訓練組態。您可以開啟或關閉自動訓練,也可以變更訓練頻率。
-
如果您開啟自動訓練,第一個自動訓練會在解決方案更新完成後的一小時內開始。如果您在一小時內手動建立解決方案版本,則解決方案會略過第一個自動訓練。
-
如果您修改解決方案的訓練頻率,訓練排程便會重設,而新的解決方案版本會在一小時內開始訓練。解決方案版本建立會以新的頻率繼續進行,其中第 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操作。下列程式碼會示範如何使SDK用 Python (Boto3) 來更新解決方案,以使用 5 天訓練頻率的自動訓練。程式碼會透過作業取得更新的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}")