Creación manual 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 manual de una versión de solución

Después de completar Configuración de una solución personalizada en Amazon Personalize, podrá empezar a entrenar:

  • Si la solución utiliza el entrenamiento automático, crea versiones de solución para usted con la frecuencia de entrenamiento que especifique. De forma predeterminada, todas las soluciones nuevas utilizan el entrenamiento automático para crear una nueva versión de solución cada siete días. Aún puede crear manualmente versiones de solución. Para obtener más información, consulte Configuración del entrenamiento automático.

  • Si desactiva el entrenamiento automático para la solución o desea entrenarla manualmente, puede crear una versión de solución de forma manual. Una versión de la solución hace referencia a un modelo de machine learning entrenado. Puede crear una versión de la solución mediante la consola, AWS Command Line Interface (AWS CLI) o AWS SDKs. Si la versión de la solución tiene el estado CREATE _ PENDING o CREATE _IN_PROGRESS, puede utilizar la StopSolutionVersionCreation operación 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.

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 el estado 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. Para obtener más informació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)

Para crear manualmente una nueva versión de solución con la consola de Amazon Personalize, comience a entrenar desde la página de detalles de la solución.

Para crear una nueva versión de la solución
  1. Abre la consola Amazon Personalize en https://console.aws.amazon.com/personalize/casa e inicia sesión en tu 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 de Amazon Personalize con métricas.

Cuando esté disponible la versión de la soluciónACTIVE, estará listo para utilizarla para obtener recomendaciones. El uso de una versión de solución activa depende de cómo reciba las recomendaciones:

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

Cuando su solución seaACTIVE, entrene el modelo ejecutando el siguiente comando. solution arnSustitúyala por la solución Amazon Resource Name (ARN) deConfiguración de una solución personalizada en Amazon Personalize.

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

Aparece la versión ARN de la 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 la versión de la solución ARN que se devolvió en el paso anterior. Para obtener más información sobre 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. Inicialmente, el estado se muestra como CREATEPENDING, 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 de Amazon Personalize 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 el estado CREATE _ PENDING o CREATE _IN_PROGRESS, puede utilizar la StopSolutionVersionCreation operación 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.

Cuando la versión de la solución esté disponibleACTIVE, estará listo para usarla para obtener recomendaciones. El uso de una versión de solución activa depende de cómo reciba las recomendaciones:

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

Cuando su solución seaACTIVE, utilice el siguiente código para crear una versión de la solución. Especifique el nombre del recurso de Amazon (ARN) deConfiguración de una solución personalizada en Amazon Personalize. 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 de la versión actual de la solución, llame a la DescribeSolutionVersion operación y pase la versión ARN de la solución devuelta por la CreateSolutionVersion operación. 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 de Amazon Personalize 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 el estado CREATE _ PENDING o CREATE _IN_PROGRESS, puede utilizar la StopSolutionVersionCreation operación 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.

Cuando la versión de la solución esté disponibleACTIVE, estará listo para usarla para obtener recomendaciones. El uso de una versión de solución activa depende de cómo reciba las recomendaciones: