솔루션 버전 생성 - Personalize

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

솔루션 버전 생성

교육을 솔루션 생성 및 구성 마치면 교육을 시작할 준비가 된 것입니다.

  • 솔루션에서 자동 학습을 사용하는 경우 솔루션은 지정된 훈련 빈도에 따라 솔루션 버전을 생성합니다. 기본적으로 모든 새 솔루션은 자동 교육을 사용하여 7일마다 새 솔루션 버전을 생성합니다. 여전히 솔루션 버전을 수동으로 만들 수 있습니다. 자세한 정보는 자동 교육 구성을 참조하세요.

  • 솔루션에 대한 자동 교육을 끄거나 수동으로 학습시키려는 경우 솔루션 버전을 수동으로 만들 수 있습니다. 솔루션 버전은 학습된 기계 학습 모델을 말합니다. 콘솔, AWS Command Line Interface (AWS CLI) 또는 AWS SDK를 사용하여 솔루션 버전을 생성할 수 있습니다. 솔루션 버전이 CREATE_PENDING 또는 CREATE_IN_PROGRESS 상태인 경우, StopSolutionVersionCreation작업을 사용하여 솔루션 버전 생성 프로세스를 중지할 수 있습니다. 솔루션 버전 생성 중지 단원을 참조하세요.

오류로 인해 교육이 완료되지 않은 경우, 교육 비용은 청구되지 않습니다. 솔루션 버전이 CREATE_PENDING 또는 CREATE_IN_PROGRESS 상태인 경우, 솔루션 버전 생성 프로세스를 중지할 수 있습니다. 솔루션 버전 생성을 중지하려면 솔루션 버전 세부 정보 페이지로 이동한 다음 중지를 선택합니다. 솔루션 버전 생성 중지 단원을 참조하세요.

솔루션 버전 생성(콘솔)

Amazon Personalize 콘솔을 사용하여 새 솔루션 버전을 수동으로 생성하려면 솔루션의 세부 정보 페이지에서 교육을 시작하십시오.

솔루션 버전을 생성하려면
  1. https://console.aws.amazon.com/acm-pca/home에서 Personalize 콘솔을 열고 계정에 로그인합니다.

  2. 데이터세트 그룹 페이지로 이동하여 새 솔루션이 포함된 데이터세트 그룹을 선택합니다.

  3. 탐색 창의 사용자 지정 리소스에서 솔루션 및 레시피를 선택합니다.

  4. 솔루션 및 레시피 페이지에서 솔루션 버전을 생성하려는 솔루션을 선택합니다.

  5. 솔루션 개요 페이지에서 솔루션 버전 생성을 선택하여 새 모델 학습을 시작합니다.

솔루션 세부 정보 페이지의 솔루션 버전 단원에서 교육 진행 상황을 추적할 수 있습니다. 교육이 완료되면 상태가 활성으로 표시되며, Personalize에서 제공하는 지표를 사용하여 교육을 평가할 수 있습니다. 자세한 정보는 지표를 사용한 Amazon Personalize 솔루션 버전 평가을 참조하세요.

솔루션 버전이 활성 상태이면 해당 버전을 사용하여 권장 사항을 받을 수 있습니다. 액티브 솔루션 버전을 사용하는 방법은 권장 사항을 받는 방법에 따라 달라집니다.

솔루션 버전 생성(AWS CLI)

솔루션이 ACTIVE인 경우, 다음 명령을 실행하여 모델을 교육시킵니다. solution arn솔루션 생성 및 구성에서 제공하는 솔루션 리소스 이름(ARN)으로 대체하세요.

aws personalize create-solution-version \ --solution-arn solution arn

솔루션 버전 ARN이 예를 들어, 다음과 같이 표시됩니다.

{ "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/SolutionName/<version-id>" }

describe-solution-version 명령을 사용하여 솔루션 버전의 교육 상태를 확인합니다. 이전 단계에서 반환된 솔루션 버전 ARN을 입력합니다. API에 대한 자세한 내용은 DescribeSolutionVersion단원을 참조하세요.

aws personalize describe-solution-version \ --solution-version-arn solution version arn

솔루션 버전의 속성과 학습 status가 표시됩니다. 처음에 상태는 CREATE PENDING으로 표시됩니다. 예를 들면 다음과 같이 표시됩니다.

{ "solutionVersion": { "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/solutionName/<version-id>", ..., "status": "CREATE PENDING" } }

statusACTIVE이면 교육이 완료된 것이므로, Personalize에서 제공하는 지표를 사용하여 교육을 평가할 수 있습니다. 자세한 내용은 지표를 사용한 Amazon Personalize 솔루션 버전 평가단원을 참조하세요. 오류로 인해 교육이 완료되지 않은 경우, 교육 비용은 청구되지 않습니다.

솔루션 버전이 CREATE_PENDING 또는 CREATE_IN_PROGRESS 상태인 경우, StopSolutionVersionCreation작업을 사용하여 솔루션 버전 생성 프로세스를 중지할 수 있습니다. 솔루션 버전 생성 중지 단원을 참조하세요.

솔루션 버전이 ACTIVE이면 해당 버전을 사용하여 권장 사항을 받을 수 있습니다. 액티브 솔루션 버전을 사용하는 방법은 권장 사항을 받는 방법에 따라 달라집니다.

솔루션 버전 (AWS SDK) 생성

솔루션이 활성 상태이면 다음 코드를 사용하여 솔루션 버전을 생성하세요. 솔루션 생성 및 구성에서 리소스 이름(ARN)을 지정합니다. DescribeSolutionVersion 작업을 사용하여 솔루션 버전의 상태를 검색합니다.

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') # Store the solution ARN solution_arn = 'solution arn' # Use the solution ARN to get the solution status. solution_description = personalize.describe_solution(solutionArn = 'solution_arn')['solution'] print('Solution status: ' + solution_description['status']) # Use the solution ARN to create a solution version. print ('Creating solution version') response = personalize.create_solution_version(solutionArn = solution_arn) solution_version_arn = response['solutionVersionArn'] print('Solution version ARN: ' + solution_version_arn) # Use the solution version ARN to get the solution version status. solution_version_description = personalize.describe_solution_version( solutionVersionArn = solution_version_arn)['solutionVersion'] print('Solution version status: ' + solution_version_description['status'])
SDK for Java 2.x
public static String createPersonalizeSolutionVersion(PersonalizeClient personalizeClient, String solutionArn) { long maxTime = 0; long waitInMilliseconds = 30 * 1000; // 30 seconds String solutionStatus = ""; String solutionVersionStatus = ""; String solutionVersionArn = ""; try { DescribeSolutionRequest describeSolutionRequest = DescribeSolutionRequest.builder() .solutionArn(solutionArn) .build(); maxTime = Instant.now().getEpochSecond() + 3 * 60 * 60; // Wait until solution is active. while (Instant.now().getEpochSecond() < maxTime) { solutionStatus = personalizeClient.describeSolution(describeSolutionRequest).solution().status(); System.out.println("Solution status: " + solutionStatus); if (solutionStatus.equals("ACTIVE") || solutionStatus.equals("CREATE FAILED")) { break; } try { Thread.sleep(waitInMilliseconds); } catch (InterruptedException e) { System.out.println(e.getMessage()); } } // Once the solution is active, start creating a solution version. if (solutionStatus.equals("ACTIVE")) { CreateSolutionVersionRequest createSolutionVersionRequest = CreateSolutionVersionRequest.builder() .solutionArn(solutionArn) .build(); CreateSolutionVersionResponse createSolutionVersionResponse = personalizeClient.createSolutionVersion(createSolutionVersionRequest); solutionVersionArn = createSolutionVersionResponse.solutionVersionArn(); System.out.println("Solution version ARN: " + solutionVersionArn); DescribeSolutionVersionRequest describeSolutionVersionRequest = DescribeSolutionVersionRequest.builder() .solutionVersionArn(solutionVersionArn) .build(); maxTime = Instant.now().getEpochSecond() + 3 * 60 * 60; while (Instant.now().getEpochSecond() < maxTime) { // Use the solution version ARN to get the solution version status. solutionVersionStatus = personalizeClient.describeSolutionVersion(describeSolutionVersionRequest).solutionVersion().status(); System.out.println("Solution version status: " + solutionVersionStatus); if (solutionVersionStatus.equals("ACTIVE") || solutionVersionStatus.equals("CREATE FAILED")) { break; } try { Thread.sleep(waitInMilliseconds); } catch (InterruptedException e) { System.out.println(e.getMessage()); } } return solutionVersionArn; } } catch(PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { CreateSolutionVersionCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the solution version parameters. export const solutionVersionParam = { solutionArn: 'SOLUTION_ARN' /* required */ } export const run = async () => { try { const response = await personalizeClient.send(new CreateSolutionVersionCommand(solutionVersionParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

현재의 솔루션 버전 상태를 확인하려면 DescribeSolutionVersion작업을 호출하고 CreateSolutionVersion작업에서 반환된 솔루션 버전의 ARN을 전달합니다. statusACTIVE이면 교육이 완료된 것이므로, Personalize에서 제공하는 지표를 사용하여 교육을 평가할 수 있습니다. 자세한 내용은 지표를 사용한 Amazon Personalize 솔루션 버전 평가단원을 참조하세요. 오류로 인해 교육이 완료되지 않은 경우, 교육 비용은 청구되지 않습니다.

솔루션 버전이 CREATE_PENDING 또는 CREATE_IN_PROGRESS 상태인 경우, StopSolutionVersionCreation작업을 사용하여 솔루션 버전 생성 프로세스를 중지할 수 있습니다. 솔루션 버전 생성 중지 단원을 참조하세요.

솔루션 버전이 활성 상태이면 해당 버전을 사용하여 권장 사항을 받을 수 있습니다. 액티브 솔루션 버전을 사용하는 방법은 권장 사항을 받는 방법에 따라 달라집니다.