Creación de una versión de solución. - Amazon Personalize

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de una versión de solución.

Una vez que haya completado Creación y configuración de una solución, estará listo para crear una versión de la solución. Una versión de la solución hace referencia a un modelo de machine learning entrenado. Una versión de la solución es un recurso personalizado. Puede implementar una versión de la solución con una campaña de Amazon Personalize. Utiliza la campaña para obtener recomendaciones para los usuarios. Además, puede usar una versión de la solución para obtener recomendaciones por lotes.

Puede crear una versión de la solución mediante la consola, AWS Command Line Interface (AWS CLI) o los SDK de AWS. Si la versión de la solución tiene un estado CREATE_PENDING o CREATE_IN_PROGRESS, puede utilizar la operación StopSolutionVersionCreation para detener el proceso de creación de la versión de la solución. Consulte Detención de la creación de una versión de solución.

Creación de una versión de la solución (consola)

Al crear inicialmente la solución con la consola de Amazon Personalize, también se crea una versión de la solución. En la página de detalles de la solución, puede realizar un seguimiento del progreso del entrenamiento en la sección Versiones de la solución. Cuando se complete el aprendizaje, el estado será Activo y estará listo para implementar una campaña y recibir recomendaciones. Consulte Creación de una campaña.

Si desea crear una versión de solución adicional para una solución existente, cree una nueva versión de la solución en la página de información general de la solución, tal como se indica a continuación.

Para crear una nueva versión de la solución
  1. Abra la consola de Amazon Personalize en https://console.aws.amazon.com/personalize/home e inicie sesión en su cuenta.

  2. Navegue hasta la página de grupos de conjuntos de datos y elija el grupo de conjuntos de datos con su nueva solución.

  3. En el panel de navegación, en Recursos personalizados, elija Soluciones y recetas.

  4. En la página Soluciones y recetas, elija la solución para la que desee crear una versión de la solución.

  5. En la página de información general de la solución, elija Crear versión de la solución para empezar a entrenar un nuevo modelo.

En la página de detalles de la solución, puede realizar un seguimiento del progreso del entrenamiento en la sección Versiones de la solución. Cuando complete el entrenamiento, el estado será Activo y podrá evaluarlo mediante las métricas proporcionadas por Amazon Personalize. Para obtener más información, consulte Evaluación de una versión de solución con métricas.

Si el entrenamiento no se completa debido a un error, no se le cobrará por él. Si la versión de la solución tiene un estado de CREATE_PENDING o CREATE_IN_PROGRESS, puede detener el proceso de creación de la versión de la solución. Para detener la creación de la versión de la solución, vaya a la página de detalles de la versión de la solución y elija Detener. Consulte Detención de la creación de una versión de solución.

Creación de una versión de solución (AWS CLI)

Cuando su solución esté ACTIVA, para entrenar el modelo, ejecute el siguiente comando. Sustituya solution arn por el nombre de recurso de Amazon (ARN) de la solución de Creación y configuración de una solución.

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

Se muestra el ARN de la versión de solución; por ejemplo:

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

Compruebe el estado del proceso de entrenamiento de la versión de solución utilizando el comando describe-solution-version. Proporcione el ARN de versión de solución que se devolvió en el paso anterior. Para obtener más información sobre la API, consulte DescribeSolutionVersion.

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

Se muestran las propiedades de la versión de solución y el valor de status del entrenamiento. En un principio, el estado mostrado es CREATE PENDING, por ejemplo:

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

El entrenamiento se completa cuando el status es ACTIVE y puede evaluarlo utilizando las métricas proporcionadas por Amazon Personalize. Para obtener más información, consulte Evaluación de una versión de solución con métricas. Si el entrenamiento no se completa debido a un error, no se le cobrará por él.

Si la versión de la solución tiene un estado CREATE_PENDING o CREATE_IN_PROGRESS, puede utilizar la operación StopSolutionVersionCreation para detener el proceso de creación de la versión de la solución. Consulte Detención de la creación de una versión de solución.

Creación de una versión de la solución AWS (SDK de )

Cuando la solución esté ACTIVA, utilice el siguiente código para crear una versión de la solución. Especifique el nombre de recurso de Amazon (ARN) de Creación y configuración de una solución. Utilice la operación DescribeSolutionVersion para recuperar el estado de la versión de la solución.

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();

Para comprobar el estado actual de la versión de la solución, llame a la operación DescribeSolutionVersion y pase el ARN de la versión de la solución que devuelve la operación CreateSolutionVersion. El entrenamiento se completa cuando el status es ACTIVE y puede evaluarlo utilizando las métricas proporcionadas por Amazon Personalize. Para obtener más información, consulte Evaluación de una versión de solución con métricas. Si el entrenamiento no se completa debido a un error, no se le cobrará por él.

Si la versión de la solución tiene un estado CREATE_PENDING o CREATE_IN_PROGRESS, puede utilizar la operación StopSolutionVersionCreation para detener el proceso de creación de la versión de la solución. Consulte Detención de la creación de una versión de solución.