

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à.

# Uso di un algoritmo per eseguire un processo di ottimizzazione iperparametri
<a name="sagemaker-mkt-algo-tune"></a>

La sezione seguente spiega come utilizzare una risorsa algoritmica per eseguire un processo di ottimizzazione degli iperparametri in Amazon SageMaker AI. Un processo di ottimizzazione iperparametri trova la versione migliore di un modello eseguendo molti processi di addestramento sul set di dati utilizzando l'algoritmo e gli intervalli di iperparametri specificati. Quindi, sceglie i valori iperparametri presenti in un modello che ha la performance migliore, misurata in base a un parametro scelto. Per ulteriori informazioni, consulta [Ottimizzazione automatica dei modelli con AI SageMaker](automatic-model-tuning.md).

Puoi creare una risorsa algoritmica per creare un processo di ottimizzazione degli iperparametri utilizzando la console Amazon SageMaker AI, l'API Amazon di basso livello o l'SDK [Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable). SageMaker 

**Topics**
+ [Uso di un algoritmo per eseguire un processo di ottimizzazione iperparametri (console)](#sagemaker-mkt-algo-tune-console)
+ [Uso di un algoritmo per eseguire un processo di ottimizzazione iperparametri (API)](#sagemaker-mkt-algo-tune-api)
+ [Usa un algoritmo per eseguire un job di ottimizzazione degli iperparametri (Amazon [Python SDK SageMaker](https://sagemaker.readthedocs.io/en/stable))](#sagemaker-mkt-algo-tune-sdk)

## Uso di un algoritmo per eseguire un processo di ottimizzazione iperparametri (console)
<a name="sagemaker-mkt-algo-tune-console"></a>

**Per utilizzare un algoritmo per eseguire un processo di ottimizzazione iperparametri (console)**

1. Apri la console AI all'indirizzo. SageMaker [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)

1. Scegli **Algoritmi**.

1. Scegli un algoritmo che è stato creato dall'elenco nella scheda **I miei algoritmi** o scegli un algoritmo a cui è stato effettuato l'abbonamento nella scheda **Abbonamenti Marketplace AWS **.

1. Scegli **Crea attività di ottimizzazione iperparametri**.

   L'algoritmo scelto verrà automaticamente selezionato.

1. Nella pagina **Crea attività di ottimizzazione iperparametri**, inserisci le seguenti informazioni:

   1. Per **Avvio a caldo**, scegli **Abilita l'avvio a caldo** per utilizzare le informazioni dei precedenti processi di ottimizzazione iperparametri come punto di partenza per questo processo di ottimizzazione iperparametri. Per ulteriori informazioni, consulta [Eseguire un processo di ottimizzazione degli iperparametri con avvio a caldo](automatic-model-tuning-warm-start.md).

      1. Scegli **Dati e algoritmo identici** se i dati di input sono uguali ai dati di input per i processi padre di questo processo di ottimizzazione iperparametri oppure scegli **Apprendimento del trasferimento** per utilizzare dati di input aggiuntivi o diversi per questo processo di ottimizzazione iperparametri.

      1. Per **Riepilogo dell'attività di ottimizzazione degli iperparametri**, scegli fino a 5 processi di ottimizzazione iperparametri da usare come elementi padre di questo processo di ottimizzazione iperparametri.

   1. Per **Nome processo di ottimizzazione iperparametri**, digita un nome per il processo di ottimizzazione.

   1. Per **il ruolo IAM**, scegli un ruolo IAM con le autorizzazioni necessarie per eseguire lavori di ottimizzazione degli iperparametri nell' SageMaker IA oppure scegli **Crea un nuovo ruolo** per consentire all' SageMaker IA di creare un ruolo con la policy `AmazonSageMakerFullAccess` gestita allegata. Per informazioni, consulta [Come utilizzare i ruoli di esecuzione dell' SageMaker IA](sagemaker-roles.md).

   1. Per **VPC**, scegli un Amazon VPC a cui i processi di addestramento avviati dal processo di ottimizzazione possono accedere. Per ulteriori informazioni, consulta [Offri SageMaker ai corsi di formazione sull'intelligenza artificiale l'accesso alle risorse nel tuo Amazon VPC](train-vpc.md).

   1. Scegli **Next (Successivo)**.

   1. Per **Parametro obiettivo**, scegli il parametro utilizzato dal processo di ottimizzazione iperparametri per determinare la migliore combinazione di iperparametri e scegliere se ridurre o massimizzare questo parametro. Per ulteriori informazioni, consulta [Visualizzare il processo di addestramento migliore](automatic-model-tuning-ex-tuning-job.md#automatic-model-tuning-best-training-job).

   1. Per **Configurazione dell'iperparametro**, scegli gli intervalli per gli iperparametri ottimizzabili che desideri cercare nel processo di ottimizzazione e imposta i valori statici per gli iperparametri che desideri mantenere costanti in tutti i processi di addestramento avviati dal processo di ottimizzazione iperparametri. Per ulteriori informazioni, consulta [Definire gli intervalli degli iperparametri](automatic-model-tuning-define-ranges.md).

   1. Scegli **Next (Successivo)**.

   1. Per **Configurazione dei dati di input**, specifica i valori riportati di seguito per ogni canale di dati di input da utilizzare per il processo di ottimizzazione iperparametri. Puoi vedere quali canali sono supportati dall'algoritmo in uso per i processi di ottimizzazione iperparametri e il tipo di contenuto, il tipo di compressione supportato e le modalità di input supportate per ciascun canale, nella sezione **Specifica del canale** della pagina **Riepilogo dell'algoritmo** per l'algoritmo in uso.

      1. Per **Nome canale** digita il nome del canale di input.

      1. Per **Tipo di contenuto** digita il tipo di contenuto dei dati previsti dall'algoritmo per il canale.

      1. Per **Tipo di compressione**, scegli il tipo di compressione dei dati da utilizzare, se presente.

      1. Per **Wrapper dei record**, scegli `RecordIO` se l'algoritmo prevede dati nel formato `RecordIO`.

      1. Per **Tipo di dati S3**, **Tipo di distribuzione dei dati S3** e **Percorso S3**, specifica i valori appropriati. Per informazioni sul significato dei valori, consulta [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_S3DataSource.html).

      1. Per **Modalità di input**, scegli **File** per scaricare i dati dal volume di storage ML assegnato e montare la directory su un volume Docker. Scegli **Pipe** per eseguire lo streaming dei dati direttamente da Amazon S3 al container.

      1. Per aggiungere un altro canale di input, scegli **Aggiungi canale**. Una volta terminata l'aggiunta dei canali di input, scegli **Fatto**.

   1. Per il percorso di **output**, specifica i seguenti valori:

      1. Per **Percorso di output S3**, scegli il percorso S3 in cui i processi di addestramento avviati da questo processo di ottimizzazione iperparametri archiviano l'output, come gli artefatti del modello.
**Nota**  
Gli artefatti del modello memorizzati in questa posizione vengono utilizzati per creare un modello o un pacchetto di modelli da questo processo di ottimizzazione iperparametri.

      1. Per la **chiave di crittografia**, se desideri che l' SageMaker IA utilizzi una AWS KMS chiave per crittografare i dati di output inattivi nella posizione S3.

   1. Per **Configurazione delle risorse**, specifica le seguenti informazioni:

      1. Per **Tipo di istanza**, scegli il tipo di istanza da usare per ogni processo di addestramento avviato dal processo di ottimizzazione iperparametri.

      1. Per **Conteggio istanze**, digita il numero di istanze ML da usare per ogni processo di addestramento avviato dal processo di ottimizzazione iperparametri.

      1. Per **Volume aggiuntivo per istanza (GB)**, digita la dimensione del volume di storage ML che desideri assegnare a ogni processo di addestramento avviato dal processo di ottimizzazione iperparametri. I volumi di storage ML memorizzano gli artefatti di modello e gli stati incrementali.

      1. Per la **chiave di crittografia**, se desideri che Amazon SageMaker AI utilizzi una AWS chiave del servizio di gestione delle chiavi per crittografare i dati nel volume di archiviazione ML collegato alle istanze di formazione, specifica la chiave.

   1. Per **Limiti delle risorse**, specifica le seguenti informazioni:

      1. Per **Numero massimo di processi di addestramento**, specifica il numero massimo di processi di addestramento da avviare con il processo di ottimizzazione iperparametri. Un processo di ottimizzazione degli iperparametri può avviare al massimo 500 processi di addestramento.

      1. Per **Numero massimo di processi di addestramento paralleli**, specifica il numero massimo di processi di addestramento simultanei che il processo di ottimizzazione iperparametri può avviare. Un processo di ottimizzazione degli iperparametri può avviare al massimo 10 processi di addestramento simultanei.

      1. Per **Condizione di arresto**, specifica il periodo di tempo massimo in secondi, minuti, ore o giorni che può durare l'esecuzione dell'avvio del processo di ottimizzazione iperparametri.

   1. Per **Tag**, specifica uno o più tag per gestire il processo di ottimizzazione iperparametri. Ciascun tag è formato da una chiave e da un valore facoltativo. Le chiavi dei tag devono essere univoche per ogni risorsa.

   1. Scegli **Creazione di processi** per eseguire il processo di ottimizzazione iperparametri.

## Uso di un algoritmo per eseguire un processo di ottimizzazione iperparametri (API)
<a name="sagemaker-mkt-algo-tune-api"></a>

Per utilizzare un algoritmo per eseguire un processo di ottimizzazione degli iperparametri utilizzando l' SageMaker API, specifica il nome o l'Amazon Resource Name (ARN) dell'algoritmo come `AlgorithmName` campo dell'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AlgorithmSpecification.html)oggetto a cui passi. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html) Per informazioni sull'ottimizzazione degli iperparametri nell'intelligenza artificiale, consulta. SageMaker [Ottimizzazione automatica dei modelli con AI SageMaker](automatic-model-tuning.md)

## Usa un algoritmo per eseguire un job di ottimizzazione degli iperparametri (Amazon [Python SDK SageMaker](https://sagemaker.readthedocs.io/en/stable))
<a name="sagemaker-mkt-algo-tune-sdk"></a>

Usa un algoritmo che hai creato o a cui ti sei abbonato Marketplace AWS per creare un processo di ottimizzazione degli iperparametri, crea un `AlgorithmEstimator` oggetto e specifica Amazon Resource Name (ARN) o il nome dell'algoritmo come valore dell'argomento. `algorithm_arn` Quindi, inizializza un oggetto `HyperparameterTuner` con l'elemento `AlgorithmEstimator` creato come valore dell'argomento `estimator`. Infine, chiama il metodo `fit` di `AlgorithmEstimator`. Esempio:

```
from sagemaker import AlgorithmEstimator
from sagemaker.tuner import HyperparameterTuner

data_path = os.path.join(DATA_DIR, 'marketplace', 'training')

algo = AlgorithmEstimator(
            algorithm_arn='arn:aws:sagemaker:us-east-2:764419575721:algorithm/scikit-decision-trees-1542410022',
            role='SageMakerRole',
            instance_count=1,
            instance_type='ml.c4.xlarge',
            sagemaker_session=sagemaker_session,
            base_job_name='test-marketplace')

train_input = algo.sagemaker_session.upload_data(
    path=data_path, key_prefix='integ-test-data/marketplace/train')

algo.set_hyperparameters(max_leaf_nodes=10)
tuner = HyperparameterTuner(estimator=algo, base_tuning_job_name='some-name',
                                objective_metric_name='validation:accuracy',
                                hyperparameter_ranges=hyperparameter_ranges,
                                max_jobs=2, max_parallel_jobs=2)

tuner.fit({'training': train_input}, include_cls_metadata=False)
tuner.wait()
```