

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creazione manuale di una versione della soluzione
<a name="creating-a-solution-version"></a>

Al termine[Configurazione di una soluzione personalizzata in Amazon Personalize](customizing-solution-config.md), sei pronto per iniziare l'allenamento:
+  Se la soluzione utilizza la formazione automatica, la soluzione crea automaticamente delle versioni della soluzione alla frequenza di allenamento specificata. Per impostazione predefinita, tutte le nuove soluzioni utilizzano la formazione automatica per creare una nuova versione della soluzione ogni 7 giorni. È comunque possibile creare manualmente le versioni della soluzione. Per ulteriori informazioni, consulta [Configurazione della formazione automatica](solution-config-auto-training.md).
+ Se si disattiva l'addestramento automatico per la soluzione o si desidera eseguire l'addestramento manuale, è possibile creare manualmente una versione della soluzione. Una *versione della soluzione* si riferisce a un modello di machine learning addestrato. È possibile creare una versione della soluzione utilizzando la console, AWS Command Line Interface (AWS CLI) o AWS SDKs. Se la versione della soluzione ha lo stato CREATE\$1PENDING o CREATE\$1IN\$1PROGRESS, è possibile utilizzare l'operazione per interrompere il processo di creazione della versione della [StopSolutionVersionCreation](API_StopSolutionVersionCreation.md) soluzione. Consultare [Interruzione della creazione di una versione della soluzione](stop-solution-version.md). 

Se la formazione non viene completata a causa di un errore, non ti verrà addebitato alcun costo. Se la versione della soluzione ha lo stato CREATE\$1PENDING o CREATE\$1IN\$1PROGRESS, puoi interrompere il processo di creazione della versione della soluzione. **Per interrompere la creazione della versione della soluzione, accedete alla pagina dei dettagli della versione della soluzione e scegliete Stop.** Per ulteriori informazioni, consulta [Interruzione della creazione di una versione della soluzione](stop-solution-version.md).

**Topics**
+ [Creazione di una versione della soluzione (console)](#create-solution-version-console)
+ [Creazione di una versione della soluzione ()AWS CLI](#create-solution-version-cli)
+ [Creazione di una versione della soluzione ()AWS SDKs](#create-solution-version-sdk)

## Creazione di una versione della soluzione (console)
<a name="create-solution-version-console"></a>

Per creare manualmente una nuova versione della soluzione con la console Amazon Personalize, inizia la formazione dalla pagina dei dettagli della soluzione.

**Per creare una nuova versione della soluzione**

1. Apri la console Amazon Personalize da [https://console.aws.amazon.com/personalize/casa](https://console.aws.amazon.com/personalize/home) e accedi al tuo account.

1. Vai alla pagina dei gruppi di set di dati e scegli il gruppo di set di dati con la tua nuova soluzione.

1. Nel riquadro di navigazione, in **Risorse personalizzate**, scegli **Soluzioni e ricette**. 

1. Nella pagina **Soluzione e ricette**, scegli la soluzione per cui desideri creare una versione della soluzione.

1. Nella pagina di panoramica della soluzione, scegli **Crea versione della soluzione** per iniziare ad addestrare un nuovo modello.

Nella pagina dei dettagli della soluzione, puoi tenere traccia dei progressi della formazione nella sezione **Versioni della soluzione**. Una volta completata la formazione, lo stato è **Attivo**, puoi valutarlo utilizzando i parametri forniti da Amazon Personalize. Per ulteriori informazioni, consulta [Valutazione di una versione della soluzione Amazon Personalize con parametri](working-with-training-metrics.md).

 Quando la versione della soluzione è ATTIVA, sei pronto a usarla per ricevere consigli. Il modo in cui utilizzi una versione attiva della soluzione dipende da come ricevi i consigli:
+  Per consigli in tempo reale, distribuisci una versione della soluzione ACTIVE con una campagna Amazon Personalize. Utilizzi la campagna per ottenere consigli per i tuoi utenti. Consultare [Implementazione di una versione della soluzione Amazon Personalize con una campagnaCreazione di una campagna](campaigns.md).
+ Per i consigli in batch, si specifica una versione della soluzione ACTIVE quando si crea un processo di inferenza in batch o un processo di segmentazione in batch. Vedi [Ottenere consigli sugli articoli in batch](getting-batch-recommendations.md) o [Ottenere segmenti di utenti in batch](getting-user-segments.md).

## Creazione di una versione della soluzione ()AWS CLI
<a name="create-solution-version-cli"></a>

Quando la soluzione è ATTIVA, addestrate il modello eseguendo il comando seguente. Sostituisci `solution arn` con la soluzione Amazon Resource Name (ARN) di. [Configurazione di una soluzione personalizzata in Amazon Personalize](customizing-solution-config.md)

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

Viene visualizzato l'ARN della versione della soluzione, ad esempio:

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

Controlla lo stato di addestramento della versione della soluzione utilizzando il `describe-solution-version` comando. Fornire l'ARN della versione della soluzione restituito al passaggio precedente. Per ulteriori informazioni sull'API, consulta [DescribeSolutionVersion](API_DescribeSolutionVersion.md).

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

Vengono visualizzate le proprietà della versione della soluzione e lo `status` dell'addestramento. Inizialmente, lo stato mostra il valore CREATE PENDING, ad esempio:

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

La formazione è completa quando lo `status` è `ACTIVE` e puoi valutarla utilizzando i parametri forniti da Amazon Personalize. Per ulteriori informazioni, consulta [Valutazione di una versione della soluzione Amazon Personalize con parametri](working-with-training-metrics.md). Se la formazione non viene completata a causa di un errore, non ti verrà addebitato alcun costo. 

Se la versione della soluzione ha lo stato CREATE\$1PENDING o CREATE\$1IN\$1PROGRESS, è possibile utilizzare l'operazione per interrompere il processo di creazione della versione della [StopSolutionVersionCreation](API_StopSolutionVersionCreation.md) soluzione. Consultare [Interruzione della creazione di una versione della soluzione](stop-solution-version.md).

 Quando la versione della soluzione è ATTIVA, siete pronti a utilizzarla per ottenere consigli. Il modo in cui utilizzi una versione attiva della soluzione dipende da come ricevi i consigli:
+  Per consigli in tempo reale, distribuisci una versione della soluzione ACTIVE con una campagna Amazon Personalize. Utilizzi la campagna per ottenere consigli per i tuoi utenti. Consultare [Implementazione di una versione della soluzione Amazon Personalize con una campagnaCreazione di una campagna](campaigns.md).
+ Per i consigli in batch, si specifica una versione della soluzione ACTIVE quando si crea un processo di inferenza in batch o un processo di segmentazione in batch. Vedi [Ottenere consigli sugli articoli in batch](getting-batch-recommendations.md) o [Ottenere segmenti di utenti in batch](getting-user-segments.md).

## Creazione di una versione della soluzione ()AWS SDKs
<a name="create-solution-version-sdk"></a>

Quando la soluzione è ATTIVA, utilizzate il codice seguente per creare una versione della soluzione. Specificare l'Amazon Resource Name (ARN) da. [Configurazione di una soluzione personalizzata in Amazon Personalize](customizing-solution-config.md) Utilizza l'[DescribeSolutionVersion](API_DescribeSolutionVersion.md)operazione per recuperare lo stato della versione della soluzione.

------
#### [ 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();
```

------



Per verificare lo stato attuale della versione della soluzione, chiamare l’operazione [DescribeSolutionVersion](API_DescribeSolutionVersion.md) e passare l'ARN della versione della soluzione restituito da `CreateSolutionVersion`. La formazione è completa quando lo `status` è `ACTIVE` e puoi valutarla utilizzando i parametri forniti da Amazon Personalize. Per ulteriori informazioni, consulta [Valutazione di una versione della soluzione Amazon Personalize con parametri](working-with-training-metrics.md). Se la formazione non viene completata a causa di un errore, non ti verrà addebitato alcun costo. 

Se la versione della soluzione ha lo stato CREATE\$1PENDING o CREATE\$1IN\$1PROGRESS, è possibile utilizzare l'operazione per interrompere il processo di creazione della versione della [StopSolutionVersionCreation](API_StopSolutionVersionCreation.md) soluzione. Consultare [Interruzione della creazione di una versione della soluzione](stop-solution-version.md).

 Quando la versione della soluzione è ATTIVA, siete pronti a utilizzarla per ottenere consigli. Il modo in cui utilizzi una versione attiva della soluzione dipende da come ricevi i consigli:
+  Per consigli in tempo reale, distribuisci una versione della soluzione ACTIVE con una campagna Amazon Personalize. Utilizzi la campagna per ottenere consigli per i tuoi utenti. Consultare [Implementazione di una versione della soluzione Amazon Personalize con una campagnaCreazione di una campagna](campaigns.md).
+ Per i consigli in batch, si specifica una versione della soluzione ACTIVE quando si crea un processo di inferenza in batch o un processo di segmentazione in batch. Vedi [Ottenere consigli sugli articoli in batch](getting-batch-recommendations.md) o [Ottenere segmenti di utenti in batch](getting-user-segments.md).