更新解決方案以變更其自動訓練組態 - 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操作。下列程式碼會示範如何使SDK用 Python (Boto3) 來更新解決方案,以使用 5 天訓練頻率的自動訓練。程式碼會透過作業取得更新的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}")