

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

# Istanze SageMaker per notebook Amazon
<a name="nbi"></a>

Un'istanza Amazon SageMaker Notebook è un'istanza di calcolo di machine learning (ML) che esegue l'applicazione Jupyter Notebook. Uno dei modi migliori per i professionisti del machine learning (ML) di utilizzare Amazon SageMaker AI è addestrare e distribuire modelli di machine learning utilizzando SageMaker istanze notebook. Le istanze SageMaker notebook aiutano a creare l'ambiente avviando i server Jupyter su Amazon Elastic Compute Cloud (Amazon EC2) e fornendo kernel preconfigurati con i seguenti pacchetti: SageMaker Amazon AWS SDK per Python (Boto3) Python AWS Command Line Interface SDK AWS CLI, (), Conda, Pandas, librerie framework di deep learning e altre librerie per la scienza dei dati e l'apprendimento automatico.

Utilizza i notebook Jupyter nell’istanza del notebook per:
+ preparare ed elaborare i dati
+ scrivere codice per addestrare i modelli
+ distribuisci modelli all'hosting SageMaker 
+ testare o convalidare i modelli

Per informazioni sui prezzi con le istanze per SageMaker notebook Amazon, consulta la pagina [ SageMaker Prezzi di Amazon](https://aws.amazon.com/sagemaker/pricing/).

## Maintenance (Manutenzione)
<a name="nbi-maintenance"></a>

SageMaker L'intelligenza artificiale aggiorna il software sottostante per Amazon SageMaker Notebook Instances almeno una volta ogni 90 giorni. Alcuni aggiornamenti di manutenzione, come gli aggiornamenti del sistema operativo, possono richiedere che l'applicazione venga messa offline per un breve periodo di tempo. Non è possibile eseguire alcuna operazione durante questo periodo mentre il software sottostante è in fase di aggiornamento. Si consiglia di riavviare i notebook almeno una volta ogni 30 giorni per utilizzare automaticamente le patch.

Se l'istanza del notebook non è aggiornata e utilizza software non sicuro, l' SageMaker IA potrebbe aggiornare periodicamente l'istanza come parte della manutenzione regolare. Durante questi aggiornamenti, i dati al di fuori della cartella non `/home/ec2-user/SageMaker` vengono mantenuti.

Per ulteriori informazioni, contatta il [Supporto AWS](https://aws.amazon.com/premiumsupport/).

## Machine Learning con SageMaker Python SDK
<a name="gs-ml-with-sagemaker-pysdk"></a>

Per addestrare, convalidare, distribuire e valutare un modello ML in un'istanza SageMaker notebook, usa Python SageMaker SDK. Gli abstract AWS SDK per Python (Boto3) dell'SDK SageMaker Python e le operazioni API. SageMaker Ti consente di integrare e orchestrare altri AWS servizi, come Amazon Simple Storage Service (Amazon S3) per il salvataggio di dati e artefatti del modello, Amazon Elastic Container Registry (ECR) per l'importazione e la manutenzione dei modelli ML, Amazon Elastic Compute Cloud (Amazon EC2) per la formazione e l'inferenza.

Puoi anche sfruttare le funzionalità di SageMaker intelligenza artificiale che ti aiutano a gestire ogni fase di un ciclo di machine learning completo: etichettatura dei dati, preelaborazione dei dati, formazione dei modelli, implementazione del modello, valutazione delle prestazioni di previsione e monitoraggio della qualità del modello in produzione.

Se sei un utente di SageMaker intelligenza artificiale per la prima volta, ti consigliamo di utilizzare SageMaker Python SDK, seguendo end-to-end il tutorial ML. Per trovare la documentazione open source, consulta l'[SDK Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable).

**Topics**
+ [Maintenance (Manutenzione)](#nbi-maintenance)
+ [Machine Learning con SageMaker Python SDK](#gs-ml-with-sagemaker-pysdk)
+ [Tutorial per la creazione di modelli con le istanze del notebook](gs-console.md)
+ [AL2023 istanze di notebook](nbi-al2023.md)
+ [Istanze del notebook Amazon Linux 2](nbi-al2.md)
+ [JupyterLab controllo delle versioni](nbi-jl.md)
+ [Crea un'istanza Amazon SageMaker Notebook](howitworks-create-ws.md)
+ [Accesso alle istanze del notebook](howitworks-access-ws.md)
+ [Aggiornamento di un'istanza del notebook](nbi-update.md)
+ [Personalizzazione di un'istanza di SageMaker notebook utilizzando uno script LCC](notebook-lifecycle-config.md)
+ [Impostazione del kernel notebook](howitworks-set-kernel.md)
+ [Archivi Git con istanze SageMaker AI Notebook](nbi-git-repo.md)
+ [Metadati dell'istanza del notebook](nbi-metadata.md)
+ [Monitora i log di Jupyter in Amazon Logs CloudWatch](jupyter-logs.md)

# Tutorial per la creazione di modelli con le istanze del notebook
<a name="gs-console"></a>

Questo tutorial introduttivo ti spiega come creare un'istanza di notebook, aprire un SageMaker notebook Jupyter con un kernel preconfigurato con l'ambiente Conda per l'apprendimento automatico e avviare una sessione di intelligenza artificiale per eseguire un SageMaker ciclo di machine learning. end-to-end Imparerai come salvare un set di dati in un bucket Amazon S3 predefinito associato SageMaker automaticamente alla sessione di intelligenza artificiale, inviare un processo di formazione su un modello ML ad Amazon EC2 e distribuire il modello addestrato per la previsione mediante hosting o inferenza in batch tramite Amazon EC2. 

Questo tutorial mostra esplicitamente un flusso di apprendimento automatico completo per addestrare il modello dal pool di modelli integrato nell'intelligenza artificiale. XGBoost SageMaker Utilizzi il [set di dati del censimento degli adulti degli Stati Uniti](https://archive.ics.uci.edu/ml/datasets/adult) e valuti le prestazioni del XGBoost modello di SageMaker intelligenza artificiale addestrato nella previsione del reddito delle persone.
+ [SageMaker AI XGBoost](https://docs.aws.amazon.com/sagemaker/latest/dg/xgboost.html): il [XGBoost](https://xgboost.readthedocs.io/en/latest/)modello è adattato all'ambiente SageMaker AI e preconfigurato come contenitori Docker. SageMaker L'intelligenza artificiale fornisce una suite di [algoritmi integrati](https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html) preparati per l'utilizzo SageMaker delle funzionalità di intelligenza artificiale. Per saperne di più su quali algoritmi ML sono adattati all' SageMaker intelligenza artificiale, consulta [Scegli un algoritmo e usa gli algoritmi SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/algorithms-choose.html) [integrati di Amazon](https://docs.aws.amazon.com/sagemaker/latest/dg/algos.html). Per le operazioni API basate sull'algoritmo SageMaker AI, consulta [First-Party Algorithms](https://sagemaker.readthedocs.io/en/stable/algorithms/index.html) in Amazon [Python SDK SageMaker ](https://sagemaker.readthedocs.io/en/stable).
+ [Set di dati Adult Census](https://archive.ics.uci.edu/ml/datasets/adult): il set di dati del [database del Census Bureau del 1994](http://www.census.gov/en.html) di Ronny Kohavi e Barry Becker (Data Mining and Visualization, Silicon Graphics). Il XGBoost modello di SageMaker intelligenza artificiale viene addestrato utilizzando questo set di dati per prevedere se un individuo guadagna più di 50.000 dollari all'anno o meno.

**Topics**
+ [Crea un'istanza Amazon SageMaker Notebook per il tutorial](gs-setup-working-env.md)
+ [Crea un notebook Jupyter nell'istanza del notebook SageMaker](ex1-prepare.md)
+ [Preparazione di un set di dati](ex1-preprocess-data.md)
+ [Eseguire il training di un modello](ex1-train-model.md)
+ [Implementazione del modello in Amazon EC2](ex1-model-deployment.md)
+ [Valutazione del modello](ex1-test-model.md)
+ [Pulisci le risorse delle istanze di SageMaker notebook Amazon](ex1-cleanup.md)

# Crea un'istanza Amazon SageMaker Notebook per il tutorial
<a name="gs-setup-working-env"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Un'istanza Amazon SageMaker Notebook è un'istanza di calcolo Amazon Elastic Compute Cloud (Amazon EC2) di machine learning (ML) completamente gestita. Un'istanza Amazon SageMaker Notebook esegue l'applicazione Jupyter Notebook. Utilizza l’istanza del notebook per creare e gestire i notebook Jupyter per pre-elaborare i dati e per addestrare e implementare i modelli di ML.

**Per creare un'istanza di notebook SageMaker**  
![\[Schermata animata che mostra come creare un'istanza di SageMaker notebook.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/get-started-ni/gs-ni-create-instance.gif)

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

1. Scegli **istanze del notebook**, quindi **Crea un'istanza del notebook**.

1. Nella pagina **Crea un'istanza del notebook** specifica le seguenti informazioni (se un campo non è citato, lasciare i valori predefiniti):

   1. In **Nome istanza del notebook** digita un nome per l'istanza del notebook.

   1. Per **Tipo di istanza del notebook**, scegli `ml.t2.medium`. Questo è il tipo di istanza meno costoso supportato dalle istanze del notebook ed è sufficiente per questo esercizio. Se un tipo di istanza `ml.t2.medium` non è disponibile nella Regione AWS corrente, scegli `ml.t3.medium`.

   1. Per **Identificatore piattaforma**, scegli un tipo di piattaforma su cui creare l'istanza del notebook. Questo tipo di piattaforma definisce il sistema operativo e la JupyterLab versione con cui viene creata l'istanza del notebook. La versione più recente e consigliata è`notebook-al2023-v1`, per un'istanza di notebook Amazon Linux 2023. Per informazioni sui tipi di identificatori di piattaforma, consulta [AL2023 istanze di notebook](nbi-al2023.md) e[Istanze del notebook Amazon Linux 2](nbi-al2.md). Per informazioni sulle JupyterLab versioni, vedere[JupyterLab controllo delle versioni](nbi-jl.md).

   1. In **Ruolo IAM** scegli **Crea un nuovo ruolo**, quindi **Crea ruolo**. Questo ruolo IAM ottiene automaticamente le autorizzazioni per accedere a qualsiasi bucket S3 il cui nome contiene `sagemaker`. Ottiene queste autorizzazioni tramite la `AmazonSageMakerFullAccess` policy, che l' SageMaker IA attribuisce al ruolo. 
**Nota**  
Per concedere al ruolo IAM l’autorizzazione per accedere ai bucket S3 che non includono `sagemaker` nel nome, devi collegare la policy `S3FullAccess`. Puoi anche limitare le autorizzazioni per specifici bucket S3 al ruolo IAM. Per ulteriori informazioni ed esempi sull'aggiunta di policy del bucket al ruolo IAM, consulta [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).

   1. Scegli **Crea un'istanza del notebook**. 

      In pochi minuti, l' SageMaker intelligenza artificiale avvia un'istanza notebook e vi allega un volume di storage Amazon EBS da 5 GB. L'istanza notebook ha un server notebook Jupyter preconfigurato, librerie SageMaker AI e AWS SDK e un set di librerie Anaconda.

      [Per ulteriori informazioni sulla creazione di un'istanza di notebook, consulta Creare un'istanza SageMaker Notebook.](https://docs.aws.amazon.com/sagemaker/latest/dg/howitworks-create-ws.html) 

## (Facoltativo) Modifica le impostazioni dell'istanza SageMaker Notebook
<a name="gs-change-ni-settings"></a>

Per modificare il tipo di istanza di calcolo ML o la dimensione dello storage Amazon EBS di un'istanza notebook SageMaker AI, modifica le impostazioni dell'istanza notebook.

**Per modificare e aggiornare il tipo di istanza SageMaker Notebook e il volume EBS**

1. Nella pagina delle **istanze di Notebook** nella console SageMaker AI, scegli l'istanza del tuo notebook.

1. Scegli **Azioni**, **Arresta**, quindi attendi che l'istanza del notebook si fermi completamente.

1. Dopo che lo stato dell'istanza del notebook è stato modificato in **Arrestato**, scegli **Azioni**, quindi **Aggiorna le impostazioni**.  
![\[Schermata animata che mostra come aggiornare le impostazioni delle istanze di SageMaker Notebook.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/get-started-ni/gs-ni-update-instance.gif)

   1. Per **Tipo di istanza del notebook**, scegli un tipo di istanza ML diverso.

   1. Per **Dimensioni del volume in GB**, digita un numero intero diverso per specificare una nuova dimensione del volume EBS.
**Nota**  
I volumi di archiviazione EBS sono crittografati, quindi l' SageMaker IA non può determinare la quantità di spazio libero disponibile sul volume. Per questo motivo è possibile aumentare, ma non ridurre, le dimensioni del volume quando si aggiorna un'istanza del notebook. Per ridurre le dimensioni del volume di storage ML in uso, è necessario creare una nuova istanza del notebook con le dimensioni desiderate. 

1. Nella parte inferiore della pagina, seleziona **Aggiorna l'istanza del notebook**. 

1. Una volta completato l'aggiornamento, **avvia** l'istanza del notebook con le nuove impostazioni.

Per ulteriori informazioni sull'aggiornamento delle impostazioni delle istanze di SageMaker Notebook, consulta [Aggiornare un'istanza Notebook](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi-update.html). 

## (Facoltativo) Impostazioni avanzate per le istanze SageMaker Notebook
<a name="gs-ni-advanced-settings"></a>

Il seguente video tutorial mostra come configurare e utilizzare le istanze di SageMaker notebook tramite la console SageMaker AI. Include opzioni avanzate, come la configurazione del ciclo di vita dell' SageMaker IA e l'importazione di repository. GitHub (Durata: 26:04)

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/X5CLunIzj3U/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/X5CLunIzj3U)


Per una documentazione completa sull'istanza di SageMaker notebook, consulta [Use Amazon SageMaker Notebook Instances.](https://docs.aws.amazon.com/sagemaker/latest/dg/nbi.html)

# Crea un notebook Jupyter nell'istanza del notebook SageMaker
<a name="ex1-prepare"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Per iniziare a creare script per l'addestramento e la distribuzione del modello, create un notebook Jupyter nell'istanza del notebook. SageMaker Utilizzando il notebook Jupyter, è possibile eseguire esperimenti di machine learning (ML) per l'addestramento e l'inferenza utilizzando le funzionalità di intelligenza artificiale e l'infrastruttura. SageMaker AWS 

**Per creare un notebook Jupyter**  
![\[Schermata animata che mostra come creare un notebook Jupyter nell'istanza del notebook AI. SageMaker\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/get-started-ni/gs-ni-create-notebook.gif)

1. Apri l'istanza del notebook come segue:

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

   1. Nella pagina **Istanze del notebook**, apri l’istanza del notebook scegliendo una delle opzioni seguenti:
      + **Apri JupyterLab** l' JupyterLabinterfaccia
      + **Apri Jupyter** per la visualizzazione classica di Jupyter
**Nota**  
Se lo stato dell'istanza del notebook è **In attesa** nella colonna **Stato**, l'istanza del notebook è ancora in fase di creazione. Lo stato cambierà **InService**quando l'istanza del notebook sarà pronta per l'uso. 

1. Crea un notebook nel modo seguente: 
   + Se hai aperto il taccuino nella JupyterLab visualizzazione, scegli **Nuovo** dal menu **File**, quindi scegli **Notebook**. In **Seleziona kernel** scegli **conda\$1python3**. Queste ambiente preinstallato include l'installazione personalizzata di Anaconda e Python 3.
   + Se hai aperto il notebook nella visualizzazione Jupyter classica, nella scheda **File** scegli **Nuovo** e quindi **conda\$1python3**. Queste ambiente preinstallato include l'installazione personalizzata di Anaconda e Python 3.

1. Salva i notebook come segue:
   + Nella JupyterLab visualizzazione, scegli **File**, scegli **Salva taccuino con nome...** , quindi rinomina il taccuino.
   + Nella visualizzazione Jupyter classica, scegli **File**, quindi **Salva con nome...** e infine rinomina il notebook.

# Preparazione di un set di dati
<a name="ex1-preprocess-data"></a>

In questo passaggio, carichi il [set di dati Adult Census sull'](https://archive.ics.uci.edu/ml/datasets/adult)istanza del tuo notebook utilizzando la libreria SHAP (SHapley Additive Explanations), esamini il set di dati, lo trasformi e lo carichi su Amazon S3. SHAP è un approccio teorico ai giochi per spiegare l'output di qualsiasi modello di machine learning. Per ulteriori informazioni su SHAP, consulta [Welcome to the SHAP documentation](https://shap.readthedocs.io/en/latest/).

Per eseguire il seguente esempio, incolla il codice di esempio in una cella dell'istanza del notebook.

## Caricamento del set di dati del censimento degli adulti utilizzando SHAP
<a name="ex1-preprocess-data-pull-data"></a>

Utilizzando la libreria SHAP, importa il set di dati Adult Census come mostrato di seguito:

```
import shap
X, y = shap.datasets.adult()
X_display, y_display = shap.datasets.adult(display=True)
feature_names = list(X.columns)
feature_names
```

**Nota**  
Se il kernel Jupyter corrente non dispone della libreria SHAP, installala eseguendo il comando `conda` seguente:  

```
%conda install -c conda-forge shap
```
Se lo utilizzi JupyterLab, devi aggiornare manualmente il kernel al termine dell'installazione e degli aggiornamenti. Esegui lo IPython script seguente per spegnere il kernel (il kernel si riavvierà automaticamente):  

```
import IPython
IPython.Application.instance().kernel.do_shutdown(True)
```

L'oggetto elenco `feature_names` dovrebbe restituire il seguente elenco di funzionalità: 

```
['Age',
 'Workclass',
 'Education-Num',
 'Marital Status',
 'Occupation',
 'Relationship',
 'Race',
 'Sex',
 'Capital Gain',
 'Capital Loss',
 'Hours per week',
 'Country']
```

**Suggerimento**  
Se inizi con dati senza etichetta, puoi utilizzare Amazon SageMaker Ground Truth per creare un flusso di lavoro di etichettatura dei dati in pochi minuti. Per ulteriori informazioni, consulta [Label Data](https://docs.aws.amazon.com/sagemaker/latest/dg/data-label.html). 

## Panoramica del set di dati
<a name="ex1-preprocess-data-inspect"></a>

Esegui il seguente script per visualizzare la panoramica statistica del set di dati e gli istogrammi delle funzionalità numeriche.

```
display(X.describe())
hist = X.hist(bins=30, sharey=True, figsize=(20, 10))
```

![\[Panoramica del set di dati del censimento degli adulti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/get-started-ni/gs-ni-prepare-data-1.png)


**Suggerimento**  
Se desideri utilizzare un set di dati che deve essere pulito e trasformato, puoi semplificare e ottimizzare la preelaborazione dei dati e l'ingegneria delle funzionalità utilizzando Amazon SageMaker Data Wrangler. Per ulteriori informazioni, consulta [Prepare i dati ML con Amazon SageMaker Data Wrangler](https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler.html).

## Suddivisione del set di dati in set di dati di addestramento, di convalida e di test
<a name="ex1-preprocess-data-transform"></a>

Utilizzando Sklearn, suddividi il set di dati in un set di addestramento e un set di test. Il set di addestramento viene utilizzato per addestrare il modello, mentre il set di test viene utilizzato per valutare le prestazioni del modello addestrato finale. Il set di dati viene ordinato casualmente in base al seed casuale fisso: l'80% del set di dati per il set di addestramento e il 20% per un set di test.

```
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1)
X_train_display = X_display.loc[X_train.index]
```

Suddividi il set di addestramento per separare un set di convalida. Il set di convalida viene utilizzato per valutare le prestazioni del modello addestrato ottimizzando al contempo gli iperparametri del modello. Il 75% del set di addestramento diventa il set di addestramento finale e il resto è il set di convalida.

```
X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.25, random_state=1)
X_train_display = X_display.loc[X_train.index]
X_val_display = X_display.loc[X_val.index]
```

Utilizzando il pacchetto pandas, allinea esplicitamente ogni set di dati concatenando le funzionalità numeriche con le etichette vere.

```
import pandas as pd
train = pd.concat([pd.Series(y_train, index=X_train.index,
                             name='Income>50K', dtype=int), X_train], axis=1)
validation = pd.concat([pd.Series(y_val, index=X_val.index,
                            name='Income>50K', dtype=int), X_val], axis=1)
test = pd.concat([pd.Series(y_test, index=X_test.index,
                            name='Income>50K', dtype=int), X_test], axis=1)
```

Controlla se il set di dati è suddiviso e strutturato come previsto:

```
train
```

![\[Il set di dati di addestramento di esempio.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/get-started-ni/gs-ni-prepare-data-2-train.png)


```
validation
```

![\[Il set di dati di convalida di esempio.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/get-started-ni/gs-ni-prepare-data-2-validation.png)


```
test
```

![\[Il set di dati di test di esempio.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/get-started-ni/gs-ni-prepare-data-2-test.png)


## Conversione dei set di dati di addestramento e di convalida in file CSV
<a name="ex1-preprocess-data-transform-2"></a>

Converti gli oggetti `train` e `validation` dataframe in file CSV in modo che corrispondano al formato del file di input per l'algoritmo. XGBoost 

```
# Use 'csv' format to store the data
# The first column is expected to be the output column
train.to_csv('train.csv', index=False, header=False)
validation.to_csv('validation.csv', index=False, header=False)
```

## Caricamento dei set di dati su Amazon S3
<a name="ex1-preprocess-data-transform-4"></a>

Utilizzando SageMaker AI e Boto3, carica i set di dati di addestramento e convalida nel bucket Amazon S3 predefinito. I set di dati nel bucket S3 verranno utilizzati da un'istanza ottimizzata per il calcolo su SageMaker Amazon EC2 per la formazione. 

Il codice seguente configura l'URI predefinito del bucket S3 per la sessione SageMaker AI corrente, crea una nuova `demo-sagemaker-xgboost-adult-income-prediction` cartella e carica i set di dati di addestramento e convalida nella sottocartella. `data`

```
import sagemaker, boto3, os
bucket = sagemaker.Session().default_bucket()
prefix = "demo-sagemaker-xgboost-adult-income-prediction"

boto3.Session().resource('s3').Bucket(bucket).Object(
    os.path.join(prefix, 'data/train.csv')).upload_file('train.csv')
boto3.Session().resource('s3').Bucket(bucket).Object(
    os.path.join(prefix, 'data/validation.csv')).upload_file('validation.csv')
```

Esegui quanto segue AWS CLI per verificare se i file CSV sono stati caricati correttamente nel bucket S3.

```
! aws s3 ls {bucket}/{prefix}/data --recursive
```

Dovrebbe essere restituito il seguente output:

![\[Output del comando CLI per controllare i set di dati nel bucket S3.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/get-started-ni/gs-ni-prepare-data-3.png)


# Eseguire il training di un modello
<a name="ex1-train-model"></a>

In questa fase, scegli un algoritmo di addestramento ed esegui un job di addestramento per il modello. L'[SDK Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable) fornisce stimatori di framework e stimatori generici per addestrare il modello mentre orchestrate il ciclo di vita dell'apprendimento automatico (ML), accedendo alle funzionalità di SageMaker intelligenza artificiale per la formazione e alle infrastrutture AWS , come Amazon Elastic Container Registry (Amazon ECR), Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service (Amazon) 3) Simple Storage Service S3. Per ulteriori informazioni sugli stimatori di framework integrati nell' SageMaker intelligenza artificiale, consulta [Frameworks](https://sagemaker.readthedocs.io/en/stable/frameworks/index.html) nella documentazione di Amazon [Python SageMaker SDK](https://sagemaker.readthedocs.io/en/stable). Per ulteriori informazioni sugli algoritmi integrati, consulta [Algoritmi integrati e modelli preaddestrati in Amazon SageMaker](algos.md).

**Topics**
+ [Scegliere l'algoritmo di addestramento](#ex1-train-model-select-algorithm)
+ [Creazione ed esecuzione di un processo di addestramento](#ex1-train-model-sdk)

## Scegliere l'algoritmo di addestramento
<a name="ex1-train-model-select-algorithm"></a>

Per scegliere l'algoritmo giusto per il tuo set di dati, in genere devi valutare diversi modelli per trovare i modelli più adatti ai tuoi dati. Per semplicità, l'algoritmo [XGBoost algoritmo con Amazon SageMaker AI](xgboost.md) integrato di SageMaker intelligenza artificiale viene utilizzato in questo tutorial senza la valutazione preliminare dei modelli.

**Suggerimento**  
Se desideri che l' SageMaker intelligenza artificiale trovi un modello appropriato per il tuo set di dati tabulari, usa Amazon SageMaker Autopilot che automatizza una soluzione di machine learning. Per ulteriori informazioni, consulta [SageMaker Pilota automatico](autopilot-automate-model-development.md).

## Creazione ed esecuzione di un processo di addestramento
<a name="ex1-train-model-sdk"></a>

Dopo aver capito quale modello usare, inizia a costruire uno stimatore di intelligenza artificiale per la formazione. SageMaker Questo tutorial utilizza l'algoritmo XGBoost integrato per lo stimatore generico SageMaker AI.

**Per eseguire il processo di addestramento di un modello**

1. Importa l'[SDK Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable) e inizia recuperando le informazioni di base dalla tua sessione di intelligenza artificiale corrente. SageMaker 

   ```
   import sagemaker
   
   region = sagemaker.Session().boto_region_name
   print("AWS Region: {}".format(region))
   
   role = sagemaker.get_execution_role()
   print("RoleArn: {}".format(role))
   ```

   Questa procedura restituisce le seguenti informazioni:
   + `region`— La AWS regione corrente in cui è in esecuzione l'istanza SageMaker AI Notebook.
   + `role`: il ruolo IAM utilizzato dall'istanza del notebook.
**Nota**  
Controlla la versione di SageMaker Python SDK eseguendo. `sagemaker.__version__` Questo tutorial è basato su `sagemaker>=2.20`. Se l'SDK non è aggiornato, installa la versione più recente eseguendo il seguente comando:   

   ```
   ! pip install -qU sagemaker
   ```
Se esegui questa installazione nelle istanze di SageMaker Studio o notebook esistenti, devi aggiornare manualmente il kernel per completare l'applicazione dell'aggiornamento della versione.

1. Crea uno XGBoost stimatore usando la classe. `sagemaker.estimator.Estimator` Nel codice di esempio seguente, lo XGBoost stimatore è denominato. `xgb_model`

   ```
   from sagemaker.debugger import Rule, ProfilerRule, rule_configs
   from sagemaker.session import TrainingInput
   
   s3_output_location='s3://{}/{}/{}'.format(bucket, prefix, 'xgboost_model')
   
   container=sagemaker.image_uris.retrieve("xgboost", region, "1.2-1")
   print(container)
   
   xgb_model=sagemaker.estimator.Estimator(
       image_uri=container,
       role=role,
       instance_count=1,
       instance_type='ml.m4.xlarge',
       volume_size=5,
       output_path=s3_output_location,
       sagemaker_session=sagemaker.Session(),
       rules=[
           Rule.sagemaker(rule_configs.create_xgboost_report()),
           ProfilerRule.sagemaker(rule_configs.ProfilerReport())
       ]
   )
   ```

   Per costruire lo stimatore SageMaker AI, specifica i seguenti parametri:
   + `image_uri`: specifica l'URI dell'immagine del container di addestramento. In questo esempio, l'URI del contenitore di XGBoost addestramento SageMaker AI viene specificato utilizzando. `sagemaker.image_uris.retrieve`
   + `role`— Il ruolo AWS Identity and Access Management (IAM) utilizzato dall' SageMaker IA per eseguire attività per tuo conto (ad esempio, leggere i risultati della formazione, chiamare gli artefatti del modello di chiamata da Amazon S3 e scrivere i risultati della formazione su Amazon S3). 
   + `instance_count` e `instance_type`: il tipo e il numero di istanze di calcolo ML Amazon EC2 da utilizzare per l'addestramento del modello. Per questo esercizio di addestramento, utilizza una singola istanza `ml.m4.xlarge` con 4 CPU, 16 GB di memoria, uno storage Amazon Elastic Block Store (Amazon EBS) e prestazioni di rete elevate. Per ulteriori informazioni sui tipi di istanze di calcolo EC2, consulta [Amazon EC2 Instance Types](https://aws.amazon.com/ec2/instance-types/). Per ulteriori informazioni sulla fatturazione, consulta i [ SageMaker prezzi di Amazon](https://aws.amazon.com/sagemaker/pricing/). 
   + `volume_size`: la dimensione, in GB, del volume di storage EBS da collegare all'istanza di addestramento. Deve avere spazio sufficiente per archiviare i dati di addestramento se utilizzi la modalità `File` (la modalità `File` è attivata per impostazione predefinita). Se non specifichi questo parametro, il suo valore predefinito è 30.
   + `output_path`— Il percorso verso il bucket S3 in cui l' SageMaker intelligenza artificiale archivia l'artefatto del modello e i risultati dell'allenamento.
   + `sagemaker_session`— L'oggetto di sessione che gestisce le interazioni con le operazioni SageMaker API e altri AWS servizi utilizzati dal processo di formazione.
   + `rules`— Specificare un elenco di regole integrate nel SageMaker Debugger. In questo esempio, la `create_xgboost_report()` regola crea un XGBoost report che fornisce informazioni dettagliate sui progressi e sui risultati della formazione e la `ProfilerReport()` regola crea un report sull'utilizzo delle risorse di calcolo EC2. Per ulteriori informazioni, consulta [SageMaker Report interattivo del debugger per XGBoost](debugger-report-xgboost.md).
**Suggerimento**  
Se desideri eseguire l'addestramento distribuito di modelli di deep learning di grandi dimensioni, come reti neurali convoluzionali (CNN) e modelli di elaborazione del linguaggio naturale (NLP), utilizza SageMaker AI Distributed per il parallelismo dei dati o il parallelismo dei modelli. Per ulteriori informazioni, consulta [Formazione distribuita in Amazon SageMaker AI](distributed-training.md).

1. Imposta gli iperparametri per l'algoritmo chiamando il metodo dello stimatore. XGBoost `set_hyperparameters` Per un elenco completo degli XGBoost iperparametri, vedere. [XGBoost iperparametri](xgboost_hyperparameters.md)

   ```
   xgb_model.set_hyperparameters(
       max_depth = 5,
       eta = 0.2,
       gamma = 4,
       min_child_weight = 6,
       subsample = 0.7,
       objective = "binary:logistic",
       num_round = 1000
   )
   ```
**Suggerimento**  
Puoi anche ottimizzare gli iperparametri utilizzando la funzione di ottimizzazione degli iperparametri SageMaker AI. Per ulteriori informazioni, consulta [Ottimizzazione automatica dei modelli con AI SageMaker](automatic-model-tuning.md). 

1. Utilizza la classe `TrainingInput` per configurare un flusso di input di dati per l'addestramento. Il seguente codice di esempio mostra come configurare gli oggetti `TrainingInput` per utilizzare i set di dati di addestramento e di convalida che hai caricato su Amazon S3 nella sezione [Suddivisione del set di dati in set di dati di addestramento, di convalida e di test](ex1-preprocess-data.md#ex1-preprocess-data-transform).

   ```
   from sagemaker.session import TrainingInput
   
   train_input = TrainingInput(
       "s3://{}/{}/{}".format(bucket, prefix, "data/train.csv"), content_type="csv"
   )
   validation_input = TrainingInput(
       "s3://{}/{}/{}".format(bucket, prefix, "data/validation.csv"), content_type="csv"
   )
   ```

1. Per iniziare l'addestramento del modello, chiama il metodo `fit` dello strumento di valutazione con i set di dati di addestramento e di convalida. Impostando `wait=True`, il metodo `fit` visualizza i log di avanzamento e attende il completamento dell'addestramento.

   ```
   xgb_model.fit({"train": train_input, "validation": validation_input}, wait=True)
   ```

   Per ulteriori informazioni sull’addestramento del modello, consulta [Addestra un modello con Amazon SageMaker](how-it-works-training.md). Questo processo di addestramento del tutorial potrebbe richiedere fino a 10 minuti.

   Al termine del processo di formazione, puoi scaricare un rapporto di XGBoost formazione e un rapporto di profilazione generati da Debugger. SageMaker Il rapporto sull' XGBoost allenamento offre informazioni dettagliate sui progressi e sui risultati dell'allenamento, ad esempio la funzione di perdita rispetto all'iterazione, l'importanza delle funzionalità, la matrice di confusione, le curve di precisione e altri risultati statistici dell'allenamento. Ad esempio, è possibile trovare la seguente curva di perdita nel rapporto sull' XGBoost allenamento, che indica chiaramente l'esistenza di un problema di sovradattamento.  
![\[Il grafico nel rapporto di XGBoost allenamento.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/get-started-ni/gs-ni-train-loss-curve-validation-overfitting.png)

   Esegui il seguente codice per specificare l'URI del bucket S3 in cui vengono generati i report di addestramento di Debugger e controlla se i report esistono.

   ```
   rule_output_path = xgb_model.output_path + "/" + xgb_model.latest_training_job.job_name + "/rule-output"
   ! aws s3 ls {rule_output_path} --recursive
   ```

   Scarica i report di XGBoost formazione e profilazione di Debugger nell'area di lavoro corrente:

   ```
   ! aws s3 cp {rule_output_path} ./ --recursive
   ```

   Eseguite lo IPython script seguente per ottenere il collegamento al file del rapporto di formazione: XGBoost 

   ```
   from IPython.display import FileLink, FileLinks
   display("Click link below to view the XGBoost Training report", FileLink("CreateXgboostReport/xgboost_report.html"))
   ```

   Il seguente script IPython restituisce il collegamento al file del report di profiling di Debugger che mostra riepiloghi e dettagli relativi a utilizzo delle risorse dell'istanza EC2, risultati del rilevamento dei colli di bottiglia del sistema e risultati di profiling delle operazioni Python:

   ```
   profiler_report_name = [rule["RuleConfigurationName"] 
                           for rule in xgb_model.latest_training_job.rule_job_summary() 
                           if "Profiler" in rule["RuleConfigurationName"]][0]
   profiler_report_name
   display("Click link below to view the profiler report", FileLink(profiler_report_name+"/profiler-output/profiler-report.html"))
   ```
**Suggerimento**  
Se i report HTML non visualizzano grafici nella JupyterLab vista, è necessario scegliere **Trust HTML** nella parte superiore dei report.  
Per identificare problemi di formazione, come l'overfit, la scomparsa dei gradienti e altri problemi che impediscono la convergenza del modello, usa SageMaker Debugger e intraprendi azioni automatiche durante la prototipazione e l'addestramento dei modelli ML. Per ulteriori informazioni, consulta [Amazon SageMaker Debugger](train-debugger.md). Per trovare un'analisi completa dei parametri del modello, consulta il notebook di esempio [Explainability with Amazon SageMaker Debugger](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-debugger/xgboost_census_explanations/xgboost-census-debugger-rules.html#Explainability-with-Amazon-SageMaker-Debugger). 

Ora disponi di un modello addestrato. XGBoost SageMaker L'intelligenza artificiale memorizza l'artefatto del modello nel tuo bucket S3. Per trovare la posizione dell'artefatto del modello, esegui il seguente codice per stampare l'attributo model\$1data dello strumento di valutazione `xgb_model`:

```
xgb_model.model_data
```

**Suggerimento**  
Per misurare le distorsioni che possono verificarsi durante ogni fase del ciclo di vita del machine learning (raccolta dei dati, addestramento e ottimizzazione dei modelli e monitoraggio dei modelli ML utilizzati per la previsione), usa Clarify. SageMaker Per ulteriori informazioni, consulta [Spiegabilità del modello](clarify-model-explainability.md). Per un end-to-end esempio, consultate il taccuino di esempio [Fairness](https://sagemaker-examples.readthedocs.io/en/latest/sagemaker-clarify/fairness_and_explainability/fairness_and_explainability.html) and Explainability with Clarify. SageMaker 

# Implementazione del modello in Amazon EC2
<a name="ex1-model-deployment"></a>

Per ottenere previsioni, distribuisci il tuo modello su Amazon EC2 utilizzando SageMaker Amazon AI.

**Topics**
+ [Implementa il modello su AI Hosting Services SageMaker](#ex1-deploy-model)
+ [(Facoltativo) Usa SageMaker AI Predictor per riutilizzare l'endpoint ospitato](#ex1-deploy-model-sdk-use-endpoint)
+ [(Facoltativo) Formulazione di previsioni con la trasformazione di batch](#ex1-batch-transform)

## Implementa il modello su AI Hosting Services SageMaker
<a name="ex1-deploy-model"></a>

Per ospitare un modello tramite Amazon EC2 utilizzando Amazon SageMaker AI, distribuisci il modello su cui hai effettuato la formazione [Creazione ed esecuzione di un processo di addestramento](ex1-train-model.md#ex1-train-model-sdk) chiamando il `deploy` metodo dello estimatore. `xgb_model` Quando chiami il metodo `deploy`, devi specificare il numero e il tipo di istanze ML EC2 che vuoi utilizzare per l'hosting di un endpoint.

```
import sagemaker
from sagemaker.serializers import CSVSerializer
xgb_predictor=xgb_model.deploy(
    initial_instance_count=1,
    instance_type='ml.t2.medium',
    serializer=CSVSerializer()
)
```
+ `initial_instance_count` (int): il numero di istanze per distribuire il modello.
+ `instance_type` (str): il tipo di istanze che desideri per utilizzare il modello distribuito.
+ `serializer`(int) — Serializza i dati di input di vari formati (un NumPy array, un elenco, un file o un buffer) in una stringa in formato CSV. Lo usiamo perché l' XGBoost algoritmo accetta file di input in formato CSV.

Il `deploy` metodo crea un modello implementabile, configura l'endpoint dei servizi di hosting SageMaker AI e avvia l'endpoint per ospitare il modello. Per ulteriori informazioni, consulta il [metodo della classe deploy del generico SageMaker AI Estimator nell'SDK](https://sagemaker.readthedocs.io/en/stable/estimators.html#sagemaker.estimator.Estimator.deploy) Amazon [Python SageMaker ](https://sagemaker.readthedocs.io/en/stable). Per recuperare il nome dell'endpoint generato dal metodo `deploy`, esegui il seguente codice:

```
xgb_predictor.endpoint_name
```

Questo dovrebbe restituire il nome dell'endpoint di `xgb_predictor`. Il formato del nome dell'endpoint è `"sagemaker-xgboost-YYYY-MM-DD-HH-MM-SS-SSS"`. Questo endpoint rimane attivo nell'istanza ML e puoi effettuare previsioni istantanee in qualsiasi momento, a meno che non lo arresti in un secondo momento. Copia il nome di questo endpoint e salvalo per riutilizzarlo ed effettuare previsioni in tempo reale altrove nelle istanze di notebook Studio o AI. SageMaker SageMaker 

**Suggerimento**  
Per ulteriori informazioni sulla compilazione e sull'ottimizzazione del modello per la distribuzione su istanze Amazon EC2 o dispositivi edge, consulta [Compile and Deploy Models with Neo](https://docs.aws.amazon.com/sagemaker/latest/dg/neo.html).

## (Facoltativo) Usa SageMaker AI Predictor per riutilizzare l'endpoint ospitato
<a name="ex1-deploy-model-sdk-use-endpoint"></a>

Dopo aver distribuito il modello su un endpoint, puoi configurare un nuovo predittore SageMaker AI associando l'endpoint ed effettuare continuamente previsioni in tempo reale su qualsiasi altro notebook. Il codice di esempio seguente mostra come utilizzare la classe SageMaker AI Predictor per configurare un nuovo oggetto predittore utilizzando lo stesso endpoint. Riutilizza il nome dell'endpoint che hai usato per `xgb_predictor`.

```
import sagemaker
xgb_predictor_reuse=sagemaker.predictor.Predictor(
    endpoint_name="sagemaker-xgboost-YYYY-MM-DD-HH-MM-SS-SSS",
    sagemaker_session=sagemaker.Session(),
    serializer=sagemaker.serializers.CSVSerializer()
)
```

Il predittore `xgb_predictor_reuse` si comporta esattamente come `xgb_predictor` originale. Per ulteriori informazioni, consulta la classe [SageMaker AI Predictor](https://sagemaker.readthedocs.io/en/stable/predictors.html#sagemaker.predictor.RealTimePredictor) nell'SDK [Amazon SageMaker Python](https://sagemaker.readthedocs.io/en/stable).

## (Facoltativo) Formulazione di previsioni con la trasformazione di batch
<a name="ex1-batch-transform"></a>

Invece di ospitare un endpoint in produzione, puoi eseguire un processo di inferenza in batch una tantum per fare previsioni su un set di dati di test utilizzando la trasformazione in batch AI. SageMaker [Una volta completato l'addestramento del modello, puoi estendere lo estimatore a un `transformer` oggetto, basato sulla classe AI Transformer. SageMaker ](https://sagemaker.readthedocs.io/en/stable/api/inference/transformer.html) Il trasformatore di batch legge i dati di input da un bucket S3 specificato ed effettua previsioni.

**Per creare un processo di trasformazione di batch**

1. Esegui il seguente codice per convertire le colonne delle funzionalità del set di dati di test in un file CSV e i caricamenti nel bucket S3:

   ```
   X_test.to_csv('test.csv', index=False, header=False)
   
   boto3.Session().resource('s3').Bucket(bucket).Object(
   os.path.join(prefix, 'test/test.csv')).upload_file('test.csv')
   ```

1. Specificate il bucket S3 URIs di input e output per il processo di trasformazione in batch come illustrato di seguito:

   ```
   # The location of the test dataset
   batch_input = 's3://{}/{}/test'.format(bucket, prefix)
   
   # The location to store the results of the batch transform job
   batch_output = 's3://{}/{}/batch-prediction'.format(bucket, prefix)
   ```

1. Crea un oggetto trasformatore specificando il numero minimo di parametri: i parametri `instance_count` e `instance_type` per eseguire il processo di trasformazione di batch e `output_path` per salvare i dati di previsione, come mostrato di seguito: 

   ```
   transformer = xgb_model.transformer(
       instance_count=1, 
       instance_type='ml.m4.xlarge', 
       output_path=batch_output
   )
   ```

1. Avvia il processo di trasformazione di batch eseguendo il metodo `transform()` dell'oggetto `transformer` come mostrato di seguito:

   ```
   transformer.transform(
       data=batch_input, 
       data_type='S3Prefix',
       content_type='text/csv', 
       split_type='Line'
   )
   transformer.wait()
   ```

1. Quando il processo di trasformazione in batch è completo, SageMaker AI crea i dati di `test.csv.out` previsione salvati nel `batch_output` percorso, che dovrebbero avere il seguente formato:. `s3://sagemaker-<region>-111122223333/demo-sagemaker-xgboost-adult-income-prediction/batch-prediction` Esegui quanto segue AWS CLI per scaricare i dati di output del processo di trasformazione in batch:

   ```
   ! aws s3 cp {batch_output} ./ --recursive
   ```

   Ciò dovrebbe creare il file `test.csv.out` nella directory di lavoro corrente. Sarete in grado di visualizzare i valori float previsti in base alla regressione logistica del processo di formazione. XGBoost 

# Valutazione del modello
<a name="ex1-test-model"></a>

Ora che hai addestrato e distribuito un modello utilizzando Amazon SageMaker AI, valuta il modello per assicurarti che generi previsioni accurate su nuovi dati. Per la valutazione del modello, utilizza il set di dati di test creato in [Preparazione di un set di dati](ex1-preprocess-data.md).

## Valuta il modello implementato nei servizi di hosting AI SageMaker
<a name="ex1-test-model-endpoint"></a>

Per valutare il modello e utilizzarlo in produzione, richiama l'endpoint con il set di dati di test e verifica se le inferenze ottenute restituiscono la precisione desiderata.

**Per valutare il modello**

1. Configura la seguente funzione per prevedere ogni riga del set di test. Nel seguente codice di esempio, l'argomento `rows` consiste nello specificare il numero di righe da prevedere alla volta. Puoi modificarne il valore per eseguire un'inferenza in batch che utilizzi appieno la risorsa hardware dell'istanza.

   ```
   import numpy as np
   def predict(data, rows=1000):
       split_array = np.array_split(data, int(data.shape[0] / float(rows) + 1))
       predictions = ''
       for array in split_array:
           predictions = ','.join([predictions, xgb_predictor.predict(array).decode('utf-8')])
       return np.fromstring(predictions[1:], sep=',')
   ```

1. Esegui il seguente codice per fare previsioni sul set di dati di test e tracciare un istogramma. Devi prendere solo le colonne delle funzionalità del set di dati di test, esclusa la colonna 0 per i valori effettivi.

   ```
   import matplotlib.pyplot as plt
   
   predictions=predict(test.to_numpy()[:,1:])
   plt.hist(predictions)
   plt.show()
   ```  
![\[Un istogramma dei valori previsti.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/get-started-ni/gs-ni-eval-predicted-values-histogram.png)

1. I valori previsti sono di tipo float. Per determinare `True` o `False` in base ai valori float, devi impostare un valore limite. Come mostrato nel seguente codice di esempio, utilizza la libreria Scikit-learn per restituire i parametri di confusione di output e il report di classificazione con un limite di 0,5.

   ```
   import sklearn
   
   cutoff=0.5
   print(sklearn.metrics.confusion_matrix(test.iloc[:, 0], np.where(predictions > cutoff, 1, 0)))
   print(sklearn.metrics.classification_report(test.iloc[:, 0], np.where(predictions > cutoff, 1, 0)))
   ```

   Questo dovrebbe restituire la seguente matrice di confusione:  
![\[Un esempio di matrice di confusione e statistiche dopo aver ottenuto l'inferenza del modello distribuito.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/get-started-ni/gs-ni-evaluate-confusion-matrix.png)

1. Per trovare il limite migliore con il set di test specificato, calcola la funzione di perdita di log della regressione logistica. La funzione di perdita di log è definita come la probabilità log negativa di un modello logistico che restituisce le probabilità di previsione per le etichette ground truth. Il seguente codice di esempio calcola numericamente e iterativamente i valori di perdita di log (`-(y*log(p)+(1-y)log(1-p)`), dove `y` è l'etichetta vera e `p` è una stima della probabilità dell'esempio di test corrispondente. Restituisce una perdita di log rispetto al grafico limite.

   ```
   import matplotlib.pyplot as plt
   
   cutoffs = np.arange(0.01, 1, 0.01)
   log_loss = []
   for c in cutoffs:
       log_loss.append(
           sklearn.metrics.log_loss(test.iloc[:, 0], np.where(predictions > c, 1, 0))
       )
   
   plt.figure(figsize=(15,10))
   plt.plot(cutoffs, log_loss)
   plt.xlabel("Cutoff")
   plt.ylabel("Log loss")
   plt.show()
   ```

   Ciò deve restituire la seguente curva di perdita di log.  
![\[Esempio che segue la curva di perdita dei log.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/get-started-ni/gs-ni-evaluate-logloss-vs-cutoff.png)

1. Trova i punti minimi della curva di errore utilizzando le `min` funzioni NumPy `argmin` and:

   ```
   print(
       'Log loss is minimized at a cutoff of ', cutoffs[np.argmin(log_loss)], 
       ', and the log loss value at the minimum is ', np.min(log_loss)
   )
   ```

   Ciò dovrebbe restituire: `Log loss is minimized at a cutoff of 0.53, and the log loss value at the minimum is 4.348539186773897`.

   Invece di calcolare e ridurre al minimo la funzione di perdita di log, puoi stimare una funzione di costo come alternativa. Ad esempio, se desideri addestrare un modello a eseguire una classificazione binaria per un problema aziendale, ad esempio un problema di predizione del tasso di abbandono dei clienti, puoi impostare pesi sugli elementi della matrice di confusione e calcolare di conseguenza la funzione di costo.

Ora hai addestrato, implementato e valutato il tuo primo modello di intelligenza artificiale. SageMaker 

**Suggerimento**  
Per monitorare la qualità del modello, la qualità dei dati e la deriva dei bias, usa Amazon SageMaker Model Monitor e SageMaker AI Clarify. Per ulteriori informazioni, consulta [Amazon SageMaker Model Monitor, Monitor](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor.html) [Data Quality](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-data-quality.html), [Monitor Model Quality](https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-model-quality.html), [Monitor Bias Drift](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-model-monitor-bias-drift.html) e [Monitor Feature Attribution](https://docs.aws.amazon.com/sagemaker/latest/dg/clarify-model-monitor-feature-attribution-drift.html) Drift.

**Suggerimento**  
Per ottenere la revisione umana di previsioni ML a bassa attendibilità o di un campione casuale di previsioni, utilizza i flussi di lavoro di revisione umana di IA aumentata Amazon. Per ulteriori informazioni, consulta [Using Amazon Augmented AI for Human Review](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-use-augmented-ai-a2i-human-review-loops.html).

# Pulisci le risorse delle istanze di SageMaker notebook Amazon
<a name="ex1-cleanup"></a>

Per evitare di incorrere in addebiti inutili, usa Console di gestione AWS per eliminare gli endpoint e le risorse che hai creato durante l'esecuzione degli esercizi. 

**Nota**  
I log e i processi di addestramento non possono essere eliminati e vengono conservati a tempo indeterminato.

**Nota**  
Se prevedi di esplorare altri esercizi in questa guida, ti consigliamo tenere alcune di queste risorse, ad esempio la tua istanza del notebook, il bucket S3 e il ruolo IAM.

 

1. Apri la console Amazon SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)ed elimina le seguenti risorse:
   + L'endpoint. L'eliminazione dell'endpoint comporta anche l'eliminazione dell'istanza di calcolo ML o delle istanze che la supportano.

     1. In **Inferenza**, scegli **Endpoint**.

     1. Seleziona l'endpoint creato nell'esempio, scegli **Azioni**, quindi **Elimina**.
   + La configurazione dell'endpoint.

     1. In **Inferenza**, scegli **Configurazioni endpoint**.

     1. Seleziona la configurazione dell'endpoint creata nell'esempio, scegli **Azioni**, quindi **Elimina**.
   + Il modello.

     1. In **Inferenza**, scegli **Modelli**.

     1. Seleziona il modello creato nell'esempio, scegli **Azioni**, quindi **Elimina**.
   + L'istanza del notebook. Prima di eliminare l'istanza del notebook, è necessario arrestarla.

     1. In **Notebook**, scegli **Istanze del notebook**.

     1. Seleziona l'istanza del notebook creata nell'esempio, scegli **Azioni**, quindi **Arresta**. L'istanza del notebook richiede diversi minuti per essere arrestata. Quando **Stato** passa a **Arrestato**, vai alla fase successiva.

     1. Scegli **Azioni**, quindi **Elimina**.

1. Apri la console Amazon S3 all'indirizzo [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/), quindi elimina il bucket creato per archiviare gli artefatti del modello e il set di dati di addestramento. 

1. Apri la CloudWatch console Amazon all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/), quindi elimina tutti i gruppi di log i cui nomi iniziano con`/aws/sagemaker/`.

# AL2023 istanze di notebook
<a name="nbi-al2023"></a>

Le istanze di SageMaker notebook Amazon attualmente supportano i sistemi AL2023 operativi. AL2023è ora il sistema operativo più recente e consigliato per le istanze dei notebook. Puoi selezionare il sistema operativo su cui si basa l'istanza del notebook quando crei l'istanza del notebook.

SageMaker L'IA supporta le istanze di notebook basate sui seguenti AL2023 sistemi operativi.
+ **notebook-al2023-v1**: queste istanze per notebook supportano la versione 4. JupyterLab Per informazioni sulle [JupyterLab controllo delle versioni](nbi-jl.md) versioni JupyterLab , vedere.

**Topics**
+ [Tipi di istanze supportati](#nbi-al2023-instances)
+ [Kernel disponibili](#nbi-al2023-kernel)

## Tipi di istanze supportati
<a name="nbi-al2023-instances"></a>

AL2023 supporta i tipi di istanze elencati nella sezione **Notebook Instances** in [SageMaker AI Pricing](https://aws.amazon.com/sagemaker/pricing/), con l'eccezione che AL2023 non supporta `ml.p2` le `ml.g3` istanze. `ml.p3`

## Kernel disponibili
<a name="nbi-al2023-kernel"></a>

La tabella seguente fornisce informazioni sui kernel disponibili per le istanze dei SageMaker notebook. Tutte queste immagini sono supportate sulle istanze di notebook basate sul `notebook-al2023-v1` sistema operativo.


| Nome del kernel | Description | 
| --- | --- | 
| R | Un kernel utilizzato per eseguire l'analisi e la visualizzazione dei dati utilizzando il codice R di un notebook Jupyter. | 
| Sparkmagic () PySpark | Un kernel utilizzato per eseguire la data science con cluster Spark remoti dei notebook Jupyter utilizzando il linguaggio di programmazione Python. Questo kernel viene fornito con Python 3.10. | 
| Sparkmagic (Spark) | Un kernel utilizzato per eseguire la data science con cluster Spark remoti di notebook Jupyter utilizzando il linguaggio di programmazione Scala. Questo kernel viene fornito con Python 3.10. | 
| Sparkmagic (SparkR) | Un kernel utilizzato per eseguire la data science con cluster Spark remoti di notebook Jupyter utilizzando il linguaggio di programmazione R. Questo kernel viene fornito con Python 3.10. | 
| conda\$1python3 | Un ambiente conda preinstallato con i pacchetti più diffusi per data science e machine learning. Questo kernel viene fornito con Python 3.10. | 
| conda\$1pytorch | Un ambiente conda preinstallato con la PyTorch versione 2.7.0, oltre ai più diffusi pacchetti di data science e machine learning. Questo kernel viene fornito con Python 3.10. | 

# Istanze del notebook Amazon Linux 2
<a name="nbi-al2"></a>

**Importante**  
JupyterLab 1 e JupyterLab 3 non sono più supportate a partire dal 30 giugno 2025. Non puoi più creare nuove istanze del notebook o riavviare istanze del notebook interrotte utilizzando queste versioni. Le istanze in servizio esistenti potrebbero continuare a funzionare, ma non riceveranno più aggiornamenti di sicurezza o correzioni di bug. Esegui la migrazione a JupyterLab 4 istanze di notebook per un supporto continuo. Per ulteriori informazioni, consulta [JupyterLab manutenzione della versione](nbi-jl.md#nbi-jl-version-maintenance).

**Nota**  
AL2023 è il sistema operativo più recente e consigliato disponibile per le istanze dei notebook. Per ulteriori informazioni, consulta [AL2023 istanze di notebook](nbi-al2023.md).

Le istanze di SageMaker notebook Amazon attualmente supportano i sistemi operativi Amazon Linux 2 (AL2). Puoi selezionare il sistema operativo su cui si basa l'istanza del notebook quando crei l'istanza del notebook.

SageMaker AI supporta istanze di notebook basate sui seguenti sistemi operativi Amazon Linux 2.
+ **notebook-al2-v1 (deprecato): queste istanze di notebook supportavano la versione 1**. JupyterLab A partire dal 30 giugno 2025, non sarà più possibile creare nuove istanze con questo identificatore di piattaforma. Per informazioni sulle versioni JupyterLab , [JupyterLab controllo delle versioni](nbi-jl.md) vedere.
+ **notebook-al2-v2** (obsoleta): queste istanze di notebook supportavano la versione 3. JupyterLab A partire dal 30 giugno 2025, non sarà più possibile creare nuove istanze con questo identificatore di piattaforma. Per informazioni sulle versioni JupyterLab , [JupyterLab controllo delle versioni](nbi-jl.md) vedere.
+ **notebook-al2-v3**: queste istanze di notebook supportano la versione 4. JupyterLab Per informazioni sulle [JupyterLab controllo delle versioni](nbi-jl.md) versioni JupyterLab , vedere.

Le istanze di notebook create prima del 18/08/2021 vengono eseguite automaticamente su Amazon Linux (). AL1 Le istanze di notebook basate su AL1 sono entrate in fase di manutenzione il 12/01/2022 e non sono più disponibili per la creazione di nuove istanze notebook a partire dal 02/01/2023. Per sostituire AL1, ora hai la possibilità di creare istanze di SageMaker notebook Amazon con AL2. Per ulteriori informazioni, consulta [AL1 Piano della fase di manutenzione](#nbi-al2-deprecation).

**Topics**
+ [Tipi di istanze supportati](#nbi-al2-instances)
+ [Kernel disponibili](#nbi-al2-kernel)
+ [AL1 Piano della fase di manutenzione](#nbi-al2-deprecation)

## Tipi di istanze supportati
<a name="nbi-al2-instances"></a>

Amazon Linux 2 supporta i tipi di istanze elencati nella sezione **Notebook Instances** in [Amazon SageMaker Pricing](https://aws.amazon.com/sagemaker/pricing/), con l'eccezione che Amazon Linux 2 non supporta le `ml.p2` istanze.

## Kernel disponibili
<a name="nbi-al2-kernel"></a>

La tabella seguente fornisce informazioni sui kernel disponibili per SageMaker le istanze di notebook. Tutte queste immagini sono supportate sulle istanze del notebook basate sui sistemi operativi `notebook-al2-v1`, `notebook-al2-v2` e `notebook-al2-v3`.

SageMaker kernel delle istanze di notebook


| Nome del kernel | Description | 
| --- | --- | 
| R | Un kernel utilizzato per eseguire l'analisi e la visualizzazione dei dati utilizzando il codice R di un notebook Jupyter. | 
| Sparkmagic () PySpark | Un kernel utilizzato per eseguire la data science con cluster Spark remoti dei notebook Jupyter utilizzando il linguaggio di programmazione Python. Questo kernel viene fornito con Python 3.10. | 
| Sparkmagic (Spark) | Un kernel utilizzato per eseguire la data science con cluster Spark remoti di notebook Jupyter utilizzando il linguaggio di programmazione Scala. Questo kernel viene fornito con Python 3.10. | 
| Sparkmagic (SparkR) | Un kernel utilizzato per eseguire la data science con cluster Spark remoti di notebook Jupyter utilizzando il linguaggio di programmazione R. Questo kernel viene fornito con Python 3.10. | 
| conda\$1python3 | Un ambiente conda preinstallato con i pacchetti più diffusi per data science e machine learning. Questo kernel viene fornito con Python 3.10. | 
| conda\$1pytorch\$1p310 |  Un ambiente conda preinstallato con la PyTorch versione 2.2.0, oltre ai più diffusi pacchetti di data science e machine learning. Questo kernel viene fornito con Python 3.10. | 
| conda\$1tensorflow2\$1p310 | Un ambiente conda preinstallato con la TensorFlow versione 2.16.0, oltre ai più diffusi pacchetti di data science e machine learning. Questo kernel viene fornito con Python 3.10. | 

## AL1 Piano della fase di manutenzione
<a name="nbi-al2-deprecation"></a>

La tabella seguente riporta una tempistica relativa all' AL1 entrata nella fase di manutenzione estesa. La fase AL1 di manutenzione coincide anche con la deprecazione di Python 2 e Chainer. I notebook basati su AL2 non dispongono di kernel Python 2 e Chainer gestiti.


|  Data  |  Description  | 
| --- | --- | 
|  18/08/2021  |  Vengono lanciate le istanze di notebook basate su. AL2 Le istanze di notebook appena lanciate continuano a essere impostate come impostazione predefinita. AL1 AL1 è supportato da patch e aggiornamenti di sicurezza, ma non da nuove funzionalità. Puoi scegliere tra i due sistemi operativi durante l'avvio di una nuova istanza del notebook.  | 
|  31/10/2022  |  L'identificatore di piattaforma predefinito per le istanze di SageMaker notebook cambia da Amazon Linux (al1-v1) ad Amazon Linux 2 (al2-v2). Puoi scegliere tra i due sistemi operativi durante l'avvio di una nuova istanza del notebook.  | 
|  12/01/2022  |  AL1 non è più supportato con patch e aggiornamenti di sicurezza non critici. AL1 riceve ancora correzioni per problemi [critici](https://nvd.nist.gov/vuln-metrics/cvss#) relativi alla sicurezza. Puoi comunque avviare le istanze su AL1, ma assumerti i rischi associati all'utilizzo di un sistema operativo non supportato.  | 
|  01/02/2023  |  AL1 non è più un'opzione disponibile per la creazione di nuove istanze di notebook. Dopo questa data, i clienti possono creare istanze di notebook con gli identificatori della AL2 piattaforma. I notebook esistenti con uno `INSERVICE` stato devono essere migrati alla piattaforma più recente poiché non è possibile garantire la disponibilità continua delle istanze dei AL1 notebook.  | 
|  31/03/2024  |  AL1 raggiungerà la fine del ciclo di vita delle istanze dei notebook il 31 marzo 2024. Dopo questa data, non AL1 riceverà più aggiornamenti di sicurezza, correzioni di bug e non sarà più disponibile per la creazione di nuove istanze di notebook.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/nbi-al2.html)  | 

### Migrazione ad Amazon Linux 2
<a name="nbi-al2-upgrade"></a>

L'istanza del AL1 notebook esistente non viene migrata automaticamente ad Amazon Linux 2. Per aggiornare l'istanza del AL1 notebook ad Amazon Linux 2, è necessario creare una nuova istanza notebook, replicare il codice e l'ambiente ed eliminare la vecchia istanza del notebook. Per ulteriori informazioni, consulta il blog [Amazon Linux 2 migration](https://aws.amazon.com/blogs/machine-learning/migrate-your-work-to-amazon-sagemaker-notebook-instance-with-amazon-linux-2/ ).

# JupyterLab controllo delle versioni
<a name="nbi-jl"></a>

**Importante**  
JupyterLab Le versioni 1 e JupyterLab 3 non sono più supportate a partire dal 30 giugno 2025. Non puoi più creare nuove istanze del notebook o riavviare istanze del notebook interrotte utilizzando queste versioni. Le istanze in servizio esistenti potrebbero continuare a funzionare, ma non riceveranno più aggiornamenti di sicurezza o correzioni di bug. Esegui la migrazione a JupyterLab 4 istanze di notebook per un supporto continuo. Per ulteriori informazioni, consulta [JupyterLab manutenzione della versione](#nbi-jl-version-maintenance).

L'interfaccia delle istanze di SageMaker notebook Amazon si basa su JupyterLab, un ambiente di sviluppo interattivo basato sul Web per notebook, codice e dati. I notebook ora supportano l'utilizzo di 1, 3 o JupyterLab 4. JupyterLab JupyterLab Una singola istanza di notebook può eseguire una singola istanza di JupyterLab (al massimo). È possibile disporre di più istanze di notebook con JupyterLab versioni diverse. 

È possibile configurare il notebook per eseguire la JupyterLab versione preferita selezionando l'identificatore di piattaforma appropriato. Usa la console AI AWS CLI o la console SageMaker AI per creare l'istanza del tuo notebook. Per ulteriori informazioni sugli identificatori di piattaforma, consulta [AL2023 istanze di notebook](nbi-al2023.md) e[Istanze del notebook Amazon Linux 2](nbi-al2.md). Se non configuri esplicitamente un identificatore di piattaforma, l'istanza del notebook esegue per impostazione predefinita 1. JupyterLab 

**Topics**
+ [JupyterLab manutenzione della versione](#nbi-jl-version-maintenance)
+ [JupyterLab 4](#nbi-jl-4)
+ [JupyterLab 3](#nbi-jl-3)
+ [Crea un taccuino JupyterLab con la tua versione](nbi-jl-create.md)
+ [Visualizza la JupyterLab versione di un notebook dalla console](nbi-jl-view.md)

## JupyterLab manutenzione della versione
<a name="nbi-jl-version-maintenance"></a>

JupyterLab Le piattaforme 1 e JupyterLab 3 hanno raggiunto la fine del supporto standard il 30 giugno 2025. A partire da questa data:
+ Non è più possibile creare nuove istanze di notebook o riavviare le istanze di JupyterLab 1 e JupyterLab 3 notebook interrotte.
+ Le istanze notebook JupyterLab 1 e JupyterLab 3 esistenti in servizio possono continuare a funzionare, ma non ricevono più aggiornamenti di sicurezza SageMaker AI o correzioni di bug critici.
+ La gestione della sicurezza di queste istanze obsolete è responsabilità dell’utente.
+ In caso di problemi con JupyterLab 1 o JupyterLab 3 istanze di notebook esistenti, l' SageMaker intelligenza artificiale non può garantirne la disponibilità continua. È necessario migrare il carico di lavoro su un'istanza per JupyterLab 4 notebook.

Esegui la migrazione del tuo lavoro su JupyterLab 4 istanze di notebook (l'identificatore di piattaforma della versione più recente è [notebook-al2023-v1](nbi-al2023.md)) per assicurarti un ambiente sicuro e supportato. Ciò consente di sfruttare le versioni più recenti dei notebook Jupyter e di altre librerie ML. JupyterLab Per istruzioni, consulta [migrare il tuo lavoro su un'istanza di notebook SageMaker AI con Amazon Linux 2](https://aws.amazon.com/blogs//machine-learning/migrate-your-work-to-amazon-sagemaker-notebook-instance-with-amazon-linux-2/).

## JupyterLab 4
<a name="nbi-jl-4"></a>

JupyterLab Il supporto 4 è disponibile solo sulla piattaforma del sistema operativo Amazon Linux 2. JupyterLab 4 include le seguenti funzionalità che non sono disponibili in JupyterLab 3:
+ Rendering ottimizzato per un’esperienza più veloce
+ Impostazioni di adesione per un cambio di scheda più rapido e prestazioni migliori con notebook lunghi. Per ulteriori informazioni, consulta il post sul blog [ JupyterLab 4.0 is Here](https://blog.jupyter.org/jupyterlab-4-0-is-here-388d05e03442).
+ Editor di testo aggiornato
+ Nuovo gestore di estensioni che si installa da pypi
+ Nuovi miglioramenti all’interfaccia utente, tra cui la ricerca dei documenti e accessibilità migliorata

È possibile eseguire JupyterLab 4 specificando [notebook-al2023-v1 (la versione più recente e consigliata) o notebook-al2-v3](nbi-al2023.md) come identificatore di piattaforma durante la creazione dell'istanza del [notebook](nbi-al2.md).

**Nota**  
Se si tenta di migrare a un'istanza JupyterLab 4 Notebook da un'altra JupyterLab versione, le modifiche alla versione del pacchetto tra 3 e 4 potrebbero interrompere qualsiasi configurazione o estensione del ciclo di vita esistente. JupyterLab JupyterLab Jupyter/JupyterLab 

**Modifiche alla versione del pacchetto**

JupyterLab 4 presenta le seguenti modifiche alla versione del pacchetto rispetto alla 3: JupyterLab 
+ JupyterLab è stato aggiornato da 3.x a 4.x.
+ Il notebook Jupyter è stato aggiornato dalla versione 6.x alla 7.x.
+ jupyterlab-git è stato aggiornato alla versione 0.50.0.

## JupyterLab 3
<a name="nbi-jl-3"></a>

**Importante**  
JupyterLab 1 e JupyterLab 3 non sono più supportati a partire dal 30 giugno 2025. Non puoi più creare nuove istanze del notebook o riavviare istanze del notebook interrotte utilizzando queste versioni. Le istanze in servizio esistenti potrebbero continuare a funzionare, ma non riceveranno più aggiornamenti di sicurezza o correzioni di bug. Esegui la migrazione a JupyterLab 4 istanze di notebook per un supporto continuo. Per ulteriori informazioni, consulta [JupyterLab manutenzione della versione](#nbi-jl-version-maintenance).

 JupyterLab Il supporto 3 è disponibile solo sulla piattaforma del sistema operativo Amazon Linux 2. JupyterLab 3 include le seguenti funzionalità che non sono disponibili in JupyterLab 1. Per ulteriori informazioni su queste funzionalità, vedi [è stata rilasciata la JupyterLab versione 3.0\$1](https://blog.jupyter.org/jupyterlab-3-0-is-out-4f58385e25bb) . 
+  Debugger visivo quando si utilizzano i seguenti kernel: 
  +  conda\$1pytorch\$1p38 
  +  conda\$1tensorflow2\$1p38 
  +  conda\$1amazonei\$1pytorch\$1latest\$1p37 
+ Filtro del browser di file
+ Sommario
+ Supporto multilingue
+ Modalità semplice
+ Modalità interfaccia singola
+ Modifica live di file in formato SVG con rendering aggiornato
+ Interfaccia utente per i tag delle celle del notebook

### Modifiche importanti a JupyterLab 3
<a name="nbi-jl-3-changes"></a>

 Per informazioni sulle modifiche importanti quando si utilizza JupyterLab 3, consulta i seguenti registri delle JupyterLab modifiche: 
+  [v2.0.0](https://github.com/jupyterlab/jupyterlab/releases) 
+  [v3.0.0](https://jupyterlab.readthedocs.io/en/stable/getting_started/changelog.html#for-developers) 

 **Modifiche alla versione del pacchetto** 

 JupyterLab 3 presenta le seguenti modifiche alla versione del pacchetto rispetto alla JupyterLab 1: 
+  JupyterLab è stato aggiornato da 1.x a 3.x.
+  Il notebook Jupyter è stato aggiornato da 5.x a 6.x.
+  jupyterlab-git è stato aggiornato alla versione 0.37.1.
+  nbserverproxy 0.x (0.3.2) è stato sostituito con 3.x (3.2.1). jupyter-server-proxy

# Crea un taccuino JupyterLab con la tua versione
<a name="nbi-jl-create"></a>

**Importante**  
JupyterLab Le versioni 1 e JupyterLab 3 non sono più supportate a partire dal 30 giugno 2025. Non puoi più creare nuove istanze del notebook o riavviare istanze del notebook interrotte utilizzando queste versioni. Le istanze in servizio esistenti potrebbero continuare a funzionare, ma non riceveranno più aggiornamenti di sicurezza o correzioni di bug. Esegui la migrazione a JupyterLab 4 istanze di notebook per un supporto continuo. Per ulteriori informazioni, consulta [JupyterLab manutenzione della versione](nbi-jl.md#nbi-jl-version-maintenance).

 È possibile selezionare la JupyterLab versione al momento della creazione dell'istanza del notebook dalla console seguendo la procedura riportata di seguito. [Crea un'istanza Amazon SageMaker Notebook](howitworks-create-ws.md) 

 È inoltre possibile selezionare la JupyterLab versione passando il `platform-identifier` parametro durante la creazione dell'istanza del notebook utilizzando AWS CLI quanto segue: 

```
create-notebook-instance --notebook-instance-name <NEW_NOTEBOOK_NAME> \
--instance-type <INSTANCE_TYPE> \
--role-arn <YOUR_ROLE_ARN> \
--platform-identifier notebook-al2-v3
```

# Visualizza la JupyterLab versione di un notebook dalla console
<a name="nbi-jl-view"></a>

**Importante**  
JupyterLab 1 e JupyterLab 3 non sono più supportati a partire dal 30 giugno 2025. Non puoi più creare nuove istanze del notebook o riavviare istanze del notebook interrotte utilizzando queste versioni. Le istanze in servizio esistenti potrebbero continuare a funzionare, ma non riceveranno più aggiornamenti di sicurezza o correzioni di bug. Esegui la migrazione a JupyterLab 4 istanze di notebook per un supporto continuo. Per ulteriori informazioni, consulta [JupyterLab manutenzione della versione](nbi-jl.md#nbi-jl-version-maintenance).

 È possibile visualizzare la JupyterLab versione di un notebook utilizzando la seguente procedura: 

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

1. Nel pannello di navigazione a sinistra seleziona **Notebook**.

1.  Dal menu a discesa, seleziona **Istanze del notebook** per accedere alla pagina **Istanze del notebook**. 

1.  Dall'elenco delle istanze del notebook, seleziona il nome istanza del notebook. 

1.  Nella pagina delle **impostazioni dell'istanza Notebook**, visualizza il **Platform Identifier** per vedere la JupyterLab versione del notebook. 

# Crea un'istanza Amazon SageMaker Notebook
<a name="howitworks-create-ws"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Un'istanza Amazon SageMaker Notebook è un'istanza di calcolo ML che esegue l'applicazione Jupyter Notebook. SageMaker L'intelligenza artificiale gestisce la creazione dell'istanza e delle relative risorse. Utilizza i notebook Jupyter nell’istanza del notebook per:
+ preparare ed elaborare i dati
+ scrivere codice per addestrare i modelli
+ distribuisci modelli all'hosting SageMaker AI
+ testare o convalidare i modelli

Per creare un'istanza notebook, utilizza la console SageMaker AI o il [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html)API.

Il tipo di istanza del notebook scelta dipende da come utilizzi l'istanza del notebook. Controlla che l’istanza del notebook non sia vincolata da memoria, CPU o IO. Per caricare un set di dati in memoria sull’istanza del notebook per esplorarlo o pre-elaborarlo, ti consigliamo di scegliere un tipo di istanza con memoria RAM sufficiente per il set di dati. Ciò richiede un’istanza con almeno 16 GB di memoria (.xlarge o superiore). Se prevedi di utilizzare l’istanza del notebook per la preelaborazione intensiva di elaborazione, ti consigliamo di scegliere un'istanza ottimizzata per il calcolo, ad esempio c4 o c5.

Una procedura ottimale per l'utilizzo di un SageMaker notebook consiste nell'utilizzare l'istanza del notebook per orchestrare altri AWS servizi. Ad esempio, puoi utilizzare l’istanza del notebook per gestire l’elaborazione di set di dati di grandi dimensioni. A tale scopo, effettua chiamate ai servizi AWS Glue for ETL (extract, transform, and load) o Amazon EMR per la mappatura e la riduzione dei dati tramite Hadoop. Puoi utilizzare AWS i servizi come forme temporanee di calcolo o archiviazione per i tuoi dati.

Puoi archiviare e recuperare i dati di addestramento e test utilizzando un bucket Amazon Simple Storage Service. Puoi quindi utilizzare l' SageMaker intelligenza artificiale per addestrare e costruire il tuo modello. Il risultato è che il tipo di istanza del notebook non influirà sulla velocità di addestramento e test del modello.

Dopo aver ricevuto la richiesta, SageMaker AI esegue le seguenti operazioni:
+ **Crea un'interfaccia di rete**: se scegli la configurazione VPC opzionale SageMaker , AI crea l'interfaccia di rete nel tuo VPC. Utilizza l'ID di sottorete fornito nella richiesta per determinare in quale zona di disponibilità creare la sottorete. SageMaker L'IA associa il gruppo di sicurezza fornito nella richiesta alla sottorete. Per ulteriori informazioni, consulta [Connessione di un'istanza del notebook in un VPC a risorse esterne](appendix-notebook-and-internet-access.md). 
+ **Avvia un'istanza di calcolo ML: SageMaker AI avvia un'istanza** di calcolo ML in un VPC AI. SageMaker SageMaker L'intelligenza artificiale esegue le attività di configurazione che le consentono di gestire l'istanza del notebook. Se hai specificato il tuo VPC, l' SageMaker IA abilita il traffico tra il tuo VPC e l'istanza del notebook.
+ **Installa pacchetti e librerie Anaconda per piattaforme di deep learning comuni**: SageMaker AI installa tutti i pacchetti Anaconda inclusi nel programma di installazione. [Per ulteriori informazioni, consulta l'elenco dei pacchetti di Anaconda.](https://docs.anaconda.com/free/anaconda/pkg-docs/) SageMaker L'IA installa anche le librerie di deep learning TensorFlow e Apache MXNet . 
+ **Allega un volume di archiviazione ML: l'SageMaker IA collega un volume** di archiviazione ML all'istanza di calcolo ML. Puoi utilizzare il volume come un'area di lavoro per pulire il set di dati di addestramento o per archiviare temporaneamente dati di convalida, testo o altri dati. Scegli qualsiasi dimensione tra 5 e 16384 GB, in incrementi di 1 GB, per il volume. Il valore predefinito è 5 GB. I volumi di archiviazione ML sono crittografati, quindi l' SageMaker IA non può determinare la quantità di spazio libero disponibile sul volume. Per questo motivo è possibile aumentare, ma non ridurre, le dimensioni del volume quando si aggiorna un'istanza del notebook. Per ridurre le dimensioni del volume di storage ML in uso, è necessario creare una nuova istanza del notebook con le dimensioni desiderate.

  Solo i file e i dati salvati all'interno della cartella `/home/ec2-user/SageMaker` persistono tra sessioni di istanze del notebook. I file e i dati che vengono salvati all'esterno di questa directory vengono sovrascritti quando l'istanza del notebook viene arrestata e riavviata. La `/tmp` directory di ogni istanza di notebook fornisce un minimo di 10 GB di spazio di archiviazione in un instance store. Un archivio dell'istanza è uno storage temporaneo a livello di blocco che non è persistente. Quando l'istanza viene arrestata o riavviata, SageMaker AI elimina il contenuto della directory e tutte le personalizzazioni del sistema operativo. Questo storage temporaneo fa parte del volume root dell'istanza del notebook.

  Se l'istanza del notebook non è aggiornata e utilizza software non sicuro, l' SageMaker IA potrebbe aggiornare periodicamente l'istanza come parte della manutenzione regolare. Durante questi aggiornamenti, i dati al di fuori della cartella non `/home/ec2-user/SageMaker` vengono mantenuti. Per ulteriori informazioni sulle patch di manutenzione e sicurezza, vedere. [Maintenance (Manutenzione)](nbi.md#nbi-maintenance)

  Se il tipo di istanza utilizzato dall'istanza notebook è NVMe supportato, i clienti possono utilizzare i volumi di NVMe Instance Store disponibili per quel tipo di istanza. Per le istanze con volumi di NVMe store, tutti i volumi di instance store vengono automaticamente collegati all'istanza al momento del lancio. Per ulteriori informazioni sui tipi di istanze e sui volumi di NVMe archiviazione associati, consulta i [dettagli sul tipo di istanza Amazon Elastic Compute Cloud](https://aws.amazon.com/ec2/instance-types/).

  Per rendere disponibile il volume di NVMe archiviazione collegato per l'istanza notebook, completa i passaggi in [Rendere disponibili i volumi di store delle istanze sull'istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/add-instance-store-volumes.html#making-instance-stores-available-on-your-instances). Completa le fasi con l’accesso root o utilizzando uno script di configurazione del ciclo di vita.
**Nota**  
NVMe i volumi dell'instance store non sono storage persistente. Questa archiviazione è di breve durata nell’istanza e deve essere riconfigurata ogni volta che viene avviata un’istanza con questa archiviazione.

**Per creare un'istanza di notebook SageMaker AI:**

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

1. Scegli **Istanze del notebook**, quindi **Crea un'istanza del notebook**.

1. Nella pagina **Crea un'istanza del notebook**, fornisci le seguenti informazioni: 

   1. In **Nome dell’istanza notebook**, digita un nome per l'istanza del notebook.

   1. Per il **Tipo di istanza notebook**, scegli una dimensione dell'istanza adatta al tuo caso d'uso. Per un elenco dei tipi di istanze e delle quote supportati, consulta [Amazon SageMaker AI Service](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html#limits_sagemaker) Quotas.

   1. Per **Identificatore piattaforma**, scegli un tipo di piattaforma su cui creare l'istanza del notebook. Questo tipo di piattaforma determina il sistema operativo e la JupyterLab versione con cui viene creata l'istanza del notebook. La versione più recente e consigliata è`notebook-al2023-v1`, per un'istanza di notebook Amazon Linux 2023. Al 30 giugno 2025, solo JupyterLab 4 sono supportate per le nuove istanze. Per informazioni sui tipi di identificatori di piattaforma, consulta e. [AL2023 istanze di notebook](nbi-al2023.md) [Istanze del notebook Amazon Linux 2](nbi-al2.md) Per informazioni sulle JupyterLab versioni, vedere[JupyterLab controllo delle versioni](nbi-jl.md).
**Importante**  
JupyterLab Le versioni 1 e JupyterLab 3 non sono più supportate a partire dal 30 giugno 2025. Non puoi più creare nuove istanze del notebook o riavviare istanze del notebook interrotte utilizzando queste versioni. Le istanze in servizio esistenti potrebbero continuare a funzionare, ma non riceveranno più aggiornamenti di sicurezza o correzioni di bug. Esegui la migrazione a JupyterLab 4 istanze di notebook per un supporto continuo. Per ulteriori informazioni, consulta [JupyterLab manutenzione della versione](nbi-jl.md#nbi-jl-version-maintenance).

   1. (Facoltativo) L'opzione **Configurazione aggiuntiva** consente agli utenti avanzati di creare uno script shell che può essere eseguito durante la creazione o l'avvio dell'istanza. Questo script, chiamato script di configurazione del ciclo di vita, può essere utilizzato per impostare l'ambiente per il notebook o per eseguire altre funzioni. Per informazioni, consulta [Personalizzazione di un'istanza di SageMaker notebook utilizzando uno script LCC](notebook-lifecycle-config.md).

   1. (Facoltativo) **Configurazione aggiuntiva** consente inoltre di specificare la dimensione, in GB, del volume di storage ML collegato all'istanza del notebook. È possibile scegliere una dimensione compresa tra 5 GB e 16.384 GB, in incrementi di 1 GB. Puoi utilizzare il volume per pulire il set di dati di addestramento o per archiviare temporaneamente dati di convalida o di altro tipo.

   1. (Facoltativo) Per **Versione minima di IMDS**, seleziona una versione dall'elenco a discesa. Se questo valore è impostato su v1, con l'istanza del notebook si possono utilizzare entrambe le versioni. Se è selezionata la versione v2, IMDSv2 può essere utilizzata solo con l'istanza del notebook. Per informazioni su IMDSv2, consulta [ IMDSv2Use](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html).
**Nota**  
A partire dal 31 ottobre 2022, la versione IMDS minima predefinita per le istanze dei SageMaker notebook cambia da a IMDSv1 . IMDSv2   
A partire dal 1° febbraio 2023, IMDSv1 non sarà più disponibile per la creazione di nuove istanze di notebook. Dopo questa data, potrai creare istanze del notebook con una versione minima di IMDS di 2.

   1. Per il **ruolo IAM**, scegli un ruolo IAM esistente nel tuo account con le autorizzazioni necessarie per accedere alle risorse SageMaker AI o **crea un nuovo ruolo**. Se scegli **Crea un nuovo ruolo**, l' SageMaker IA crea un ruolo IAM denominato`AmazonSageMaker-ExecutionRole-YYYYMMDDTHHmmSS`. La policy AWS gestita `AmazonSageMakerFullAccess` è allegata al ruolo. Il ruolo fornisce autorizzazioni che consentono all'istanza del notebook di chiamare SageMaker AI e Amazon S3.

   1. In **Accesso root**, per abilitare l’accesso root per tutti gli utenti dell’istanza del notebook, scegli **Abilita**. Per disabilitare l’accesso root per gli utenti, scegli **Disabilita**. Se abiliti l’accesso root, tutti gli utenti dell’istanza del notebook avranno privilegi di amministratore e potranno accedere a tutti i file che contiene e modificarli. 

   1. (Facoltativo) L'opzione **Chiave di crittografia** consente di crittografare i dati sul volume di storage ML collegato all'istanza del notebook utilizzando una chiave AWS Key Management Service (AWS KMS). Se si prevede di archiviare informazioni sensibili nel volume di storage ML, valutare se crittografare le informazioni. 

   1. (Facoltativo) **Rete** consente di inserire l'istanza del notebook in cloud privato virtuale (VPC, Virtual Private Cloud). Un VPC fornisce sicurezza aggiuntiva e limita l’accesso alle risorse del VPC da origini esterne al VPC. Per ulteriori informazioni VPCs, consulta la [Amazon VPC User Guide](https://docs.aws.amazon.com/vpc/latest/userguide/).

      **Per aggiungere l'istanza del notebook a un VPC:**

      1. Scegli il **VPC** e un. **SubnetId**

      1. Per **(Gruppo di sicurezza**, scegli il gruppo di sicurezza predefinito del VPC. 

      1. Se l'istanza del notebook deve disporre dell'accesso a Internet, abilita l'accesso diretto a Internet. Per **Accesso diretto a Internet**, scegli **Abilita**. L'accesso a Internet può ridurre la sicurezza dell'istanza del notebook. Per ulteriori informazioni, consulta [Connessione di un'istanza del notebook in un VPC a risorse esterne](appendix-notebook-and-internet-access.md). 

   1. (Facoltativo) Per associare i repository Git all'istanza del notebook, scegli un repository di default e fino a tre repository aggiuntivi. Per ulteriori informazioni, consulta [Archivi Git con istanze SageMaker AI Notebook](nbi-git-repo.md).

   1. Scegli **Crea un'istanza del notebook**. 

      In pochi minuti, Amazon SageMaker AI lancia un'istanza di calcolo ML, in questo caso un'istanza notebook, e vi allega un volume di storage ML. L'istanza del notebook include un server Notebook Jupyter preconfigurato e un set di librerie Anaconda. Per ulteriori informazioni, consulta l'API [  `CreateNotebookInstance`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateNotebookInstance.html). 

1. Quando lo stato dell'istanza del notebook è `InService`, nella console, l'istanza del notebook è pronta per l'uso. Scegli **Apri Jupyter** accanto al nome notebook per aprire il panello di controllo di Jupyter in formato classico.
**Nota**  
Per aumentare la sicurezza della tua istanza di SageMaker notebook Amazon, tutti i `notebook.region.sagemaker.aws` domini regionali sono registrati nella [Public Suffix List (](https://publicsuffix.org/)PSL) di Internet. Per una maggiore sicurezza, ti consigliamo di utilizzare i cookie con un `__Host-` prefisso per impostare cookie sensibili per i domini delle istanze del tuo notebook. SageMaker Questa pratica ti aiuterà a difendere il tuo dominio dai tentativi CSRF (cross-site request forgery). Per ulteriori informazioni, consulta la pagina [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#cookie_prefixes) nel sito web con la documentazione per gli sviluppatori [mozilla.org](https://www.mozilla.org/en-GB/?v=1).

    Puoi scegliere **Apri JupyterLab per aprire** la dashboard. JupyterLab La dashboard fornisce l’accesso all’istanza del notebook.

   Per ulteriori informazioni sui notebook Jupyter, consulta il [notebook Jupyter ](https://jupyter-notebook.readthedocs.io/en/stable/).

# Accesso alle istanze del notebook
<a name="howitworks-access-ws"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Per accedere alle tue istanze di SageMaker notebook Amazon, scegli una delle seguenti opzioni: 
+ Tramite la console.

  Scegli **Istanze del notebook**. La console visualizza un elenco di istanze del notebook nel tuo account. Per aprire un'istanza del notebook con un'interfaccia Jupyter standard, scegli **Apri Jupyter** per tale istanza. Per aprire un'istanza di notebook con un' JupyterLab interfaccia, scegli **Apri JupyterLab** per quell'istanza.  
![\[Esempio di sezione Istanze del notebook nella console.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/ws-notebook-10.png)

  La console utilizza le tue credenziali di accesso per inviare un [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html)Richiesta API all'IA. SageMaker SageMaker L'IA restituisce l'URL dell'istanza del notebook e la console apre l'URL in un'altra scheda del browser e visualizza la dashboard del notebook Jupyter. 
**Nota**  
L'URL che puoi ottenere da una chiamata a [  `CreatePresignedNotebookInstanceUrl`](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html) è valido solo per 5 minuti. Se tenti di utilizzare l'URL dopo la scadenza del limite di 5 minuti, verrai indirizzato alla pagina di accesso. Console di gestione AWS 
+ Utilizzo dell'API.

  Per ottenere l'URL dell'istanza del notebook, chiama l'API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html) e utilizza l'URL restituito dall'API per aprire l'istanza del notebook.

Utilizza il pannello di controllo del notebook Jupyter per creare e gestire i notebook e scrivere codice. Per ulteriori informazioni sui notebook Jupyter, consulta [http://jupyter.org/documentation.html](http://jupyter.org/documentation.html).

# Aggiornamento di un'istanza del notebook
<a name="nbi-update"></a>

Dopo aver creato un'istanza di notebook, puoi aggiornarla utilizzando la console SageMaker AI e il funzionamento dell'[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateNotebookInstance.html)API.

Puoi aggiornare i tag di un'istanza del notebook il cui stato è `InService`. Per aggiornare qualsiasi altro attributo di un'istanza del notebook, il suo stato deve essere `Stopped`.

**Per aggiornare un'istanza di notebook nella console SageMaker AI:**

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

1. Scegli **Istanze del notebook**.

1. Scegli l'istanza del notebook che desideri aggiornare selezionando il **nome** dell'istanza del notebook dall'elenco.

1. Se lo **stato** del notebook non è `Stopped`, seleziona il pulsante **Stop** per arrestare l'istanza del notebook. 

   Quando esegui questa operazione, lo stato dell'istanza del notebook cambia in `Stopping`. Attendi che lo stato cambi in `Stopped` per completare le seguenti fasi. 

1. Seleziona il pulsante **Modifica** per aprire la pagina **Modifica istanza del notebook**. Per informazioni sulle proprietà del notebook che è possibile aggiornare, consulta [Crea un'istanza Amazon SageMaker Notebook](howitworks-create-ws.md).

1. Aggiorna l'istanza del notebook e successivamente seleziona il pulsante **Aggiorna istanza del notebook** nella parte inferiore della pagina per tornare alla pagina delle istanze del notebook. Lo stato dell'istanza del notebook cambia in **Aggiornamento in corso**. 

   Al termine dell'aggiornamento dell’istanza del notebook, lo stato cambia in `Stopped`.

# Personalizzazione di un'istanza di SageMaker notebook utilizzando uno script LCC
<a name="notebook-lifecycle-config"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Una *configurazione del ciclo di vita* (LCC) fornisce gli script shell che vengono eseguiti solo quando crei o avvii l’istanza del notebook. Quando crei un’istanza del notebook, puoi creare una nuova LCC o collegare una LCC già disponibile. Gli script di configurazione del ciclo di vita sono utili per i seguenti casi d’uso:
+ Installazione di pacchetti o notebook di esempio su un’istanza del notebook
+ Configurazione della rete e della sicurezza per un’istanza del notebook
+ Utilizzo di uno script shell per personalizzare un’istanza del notebook

È inoltre possibile utilizzare uno script di configurazione del ciclo di vita per accedere ai AWS servizi dal notebook. Ad esempio, puoi creare uno script che ti consenta di utilizzare il tuo notebook per controllare altre AWS risorse, come un'istanza Amazon EMR.

[Gestiamo un archivio pubblico di script di configurazione del ciclo di vita dei notebook che riguardano casi d'uso comuni per la personalizzazione delle istanze dei notebook all'indirizzo -. https://github.com/aws-samples/ amazon-sagemaker-notebook-instance lifecycle-config-samples](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples)

**Nota**  
Ogni script ha un limite di 16.384 caratteri.  
Il valore della variabile di ambiente `$PATH` disponibile per entrambi gli script è `/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin`. La directory di lavoro, che è il valore della variabile di ambiente `$PWD`, è `/`.  
Visualizza CloudWatch i log per le configurazioni del ciclo di vita delle istanze di notebook nel gruppo di log nel flusso di log. `/aws/sagemaker/NotebookInstances` `[notebook-instance-name]/[LifecycleConfigHook]`  
Gli script non possono essere eseguiti per più di 5 minuti. Se uno script viene eseguito per più di 5 minuti, ha esito negativo e l'istanza del notebook non viene creata né avviata. Per ridurre il tempo di esecuzione degli script, prova a:  
Eliminare le fasi non necessarie. Ad esempio, limita gli ambienti conda in cui installare pacchetti di grandi dimensioni.
Esegui le attività in processi paralleli.
Utilizzare il comando `nohup` nello script.

**È possibile visualizzare un elenco delle configurazioni del ciclo di vita delle istanze notebook create in precedenza selezionando la configurazione del ciclo di vita nella console AI.** SageMaker Puoi collegare una LCC di un’istanza del notebook quando crei una nuova istanza del notebook. Per ulteriori informazioni sulla creazione di un'istanza del notebook, consulta [Crea un'istanza Amazon SageMaker Notebook](howitworks-create-ws.md).

# Creazione di uno script di configurazione del ciclo di vita
<a name="notebook-lifecycle-config-create"></a>

La procedura seguente mostra come creare uno script di configurazione del ciclo di vita da utilizzare con un'istanza Amazon SageMaker Notebook. Per ulteriori informazioni sulla creazione di un'istanza del notebook, consulta [Crea un'istanza Amazon SageMaker Notebook](howitworks-create-ws.md).

**Per creare una configurazione del ciclo di vita**

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

1. Nel pannello di navigazione sinistro scegli **Configurazioni admin**.

1. In **Configurazioni admin**, scegli **Configurazioni del ciclo di vita**. 

1. Dalla pagina **Configurazioni del ciclo di vita**, scegli la scheda **Istanza del notebook**.

1. Scegli **Crea configurazione)**.

1. Per **Nome**, digita un nome utilizzando caratteri alfanumerici e "-", ma senza spazi. Un nome può contenere un massimo di 63 caratteri.

1. (Facoltativo) Per creare uno script che viene eseguito quando si crea o si avvia un notebook, scegli **Avvia notebook**.

1. Nell'editor **Avvia notebook** digita lo script.

1. (Facoltativo) Per creare uno script che viene eseguito solo una volta, quando viene creato il notebook, scegli **Crea notebook**.

1. Nell'editor **Crea notebook** digita lo script di configurazione delle reti.

1. Scegli **Crea configurazione**.

## Best practice per la configurazione del ciclo di vita
<a name="nbi-lifecycle-config-bp"></a>

Di seguito sono indicate le best practice per l'utilizzo delle configurazioni del ciclo di vita:

**Importante**  
Non è consigliabile archiviare informazioni sensibili nello script di configurazione del ciclo di vita.

**Importante**  
Gli script di configurazione del ciclo di vita vengono eseguiti con accesso root e privilegi di ruolo di esecuzione IAM dell'istanza notebook, indipendentemente dall'impostazione di accesso root per gli utenti di notebook. I responsabili con le autorizzazioni per creare o modificare le configurazioni del ciclo di vita e aggiornare le istanze del notebook possono eseguire codice con le credenziali del ruolo di esecuzione. Per ulteriori informazioni, consulta [Controlla l'accesso root a un'istanza di notebook SageMaker](nbi-root-access.md).
+ Le configurazioni del ciclo di vita vengono eseguite dall'utente `root`. Se lo script apporta modifiche all'interno della directory `/home/ec2-user/SageMaker`, ad esempio installando un pacchetto con `pip`, utilizza il comando `sudo -u ec2-user` per l'esecuzione come utente `ec2-user`. Si tratta dello stesso utente con cui viene eseguito Amazon SageMaker AI.
+ SageMaker Le istanze di notebook AI utilizzano `conda` ambienti per implementare kernel diversi per i notebook Jupyter. Per installare pacchetti disponibili per uno o più kernel del notebook, racchiudi i comandi per installare i pacchetti con i comandi di ambiente `conda` che attivano l'ambiente conda che contiene il kernel in cui desideri installare i pacchetti.

  Ad esempio, per installare un pacchetto solo per l'ambiente `python3`, utilizza il codice seguente:

  ```
  #!/bin/bash
  sudo -u ec2-user -i <<EOF
  
  # This will affect only the Jupyter kernel called "conda_python3".
  source activate python3
  
  # Replace myPackage with the name of the package you want to install.
  pip install myPackage
  # You can also perform "conda install" here as well.
  
  source deactivate
  
  EOF
  ```

  Per installare un pacchetto in tutti gli ambienti conda nell'istanza del notebook, utilizza il codice seguente:

  ```
  #!/bin/bash
  sudo -u ec2-user -i <<EOF
  
  # Note that "base" is special environment name, include it there as well.
  for env in base /home/ec2-user/anaconda3/envs/*; do
      source /home/ec2-user/anaconda3/bin/activate $(basename "$env")
  
      # Installing packages in the Jupyter system environment can affect stability of your SageMaker
      # Notebook Instance.  You can remove this check if you'd like to install Jupyter extensions, etc.
      if [ $env = 'JupyterSystemEnv' ]; then
        continue
      fi
  
      # Replace myPackage with the name of the package you want to install.
      pip install --upgrade --quiet myPackage
      # You can also perform "conda install" here as well.
  
      source /home/ec2-user/anaconda3/bin/deactivate
  done
  
  EOF
  ```
+ È necessario archiviare tutti gli ambienti conda nella cartella degli ambienti predefinita (/). home/user/anaconda3/envs

**Importante**  
Quando si crea o si modifica uno script, si consiglia di utilizzare un editor di testo che fornisca interruzioni di riga in stile UNIX, ad esempio l'editor di testo disponibile nella console quando si crea un notebook. La copia di testo da un sistema operativo non Linux potrebbe includere interruzioni di riga incompatibili e causare un errore imprevisto.

# Installazione di librerie e kernel esterni
<a name="nbi-add-external"></a>

**Importante**  
Attualmente, tutti i pacchetti negli ambienti di istanze notebook sono concessi in licenza per l'uso con Amazon SageMaker AI e non richiedono licenze commerciali aggiuntive. Tuttavia, questa condizione potrebbe essere soggetta a modifiche in futuro, pertanto ti consigliamo di consultare regolarmente i termini di licenza per eventuali aggiornamenti.

Le istanze di SageMaker notebook Amazon sono dotate di più ambienti già installati. Questi ambienti contengono kernel Jupyter e pacchetti Python tra cui: scikit, Pandas, e. NumPy TensorFlow MXNet Questi ambienti, insieme a tutti i file nella cartella `sample-notebooks`, vengono aggiornati quando interrompi e avvii un'istanza del notebook. Puoi anche installare i tuoi ambienti che contengono la tua scelta di pacchetti e kernel.

I diversi kernel Jupyter nelle istanze di notebook SageMaker Amazon sono ambienti conda separati. Per informazioni sugli ambienti conda, consulta [Managing environments](https://conda.io/docs/user-guide/tasks/manage-environments.html) nella documentazione di *Conda*.

Installazione di ambienti e kernel personalizzati sul volume Amazon EBS dell'istanza del notebook. Ciò garantisce che persistano quando si arresta e si riavvia l'istanza del notebook e che tutte le librerie esterne installate non vengano aggiornate dall'IA. SageMaker Per farlo, usa una configurazione del ciclo di vita che includa sia uno script che venga eseguito quando crei l’istanza del notebook (`on-create)` sia uno script che venga eseguito ogni volta che riavvii l’istanza del notebook (`on-start`). Per ulteriori informazioni sull’utilizzo delle configurazioni del ciclo di vita dell'istanza del notebook, consulta [Personalizzazione di un'istanza di SageMaker notebook utilizzando uno script LCC](notebook-lifecycle-config.md). Esiste un GitHub repository che contiene esempi di script di configurazione del ciclo di vita in [SageMaker AI Notebook Instance Lifecycle](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples) Config Samples.

Gli esempi in [https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on-create.sh e https://github.com/aws-samples/ amazon-sagemaker-notebook-instance -lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on-create.sh)[-start.sh](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/persistent-conda-ebs/on-start.sh) mostrano le migliori pratiche per l'installazione di ambienti e kernel su un'istanza di notebook. Lo script `on-create` installa la libreria `ipykernel` per creare ambienti personalizzati come kernel Jupyter, quindi utilizza `pip install` e `conda install` per installare le librerie. È possibile adattare lo script per creare ambienti personalizzati e installare le librerie desiderate. SageMaker L'intelligenza artificiale non aggiorna queste librerie quando interrompi e riavvii l'istanza del notebook, quindi puoi assicurarti che il tuo ambiente personalizzato disponga delle versioni specifiche delle librerie che desideri. Lo script `on-start` installa tutti gli ambienti personalizzati creati come kernel Jupyter, in modo che vengano visualizzati nell'elenco a discesa del menu **Nuovo** di Jupyter.

## Strumenti di installazione dei pacchetti
<a name="nbi-add-external-tools"></a>

SageMaker i notebook supportano i seguenti strumenti di installazione dei pacchetti:
+ installazione conda
+ installazione pip

Puoi installare pacchetti utilizzando i seguenti metodi:
+ Script di configurazione del ciclo di vita.

  Per gli script di esempio, consulta [SageMaker AI Notebook Instance Lifecycle Config](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples) Samples. Per ulteriori informazioni sulla configurazione del ciclo di vita, consulta [Customize a Notebook Instance Using a Lifecycle Configuration Script](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html).
+ Notebook: sono supportati i seguenti comandi.
  + `%conda install`
  + `%pip install`
+ Terminale Jupyter: puoi installare pacchetti utilizzando direttamente pip e conda.

Dall'interno di un notebook puoi utilizzare la sintassi del comando di sistema (le righe che iniziano con\$1) per installare pacchetti, ad esempio, `!pip install` e `!conda install`. Più recentemente, sono stati aggiunti nuovi comandi a: and. IPython `%pip` `%conda` Si consiglia di utilizzare questi comandi per installare i pacchetti dall'interno di un notebook, perché tengono correttamente conto dell'ambiente attivo o dell'interprete utilizzato. Per ulteriori informazioni, consulta [Add %pip and %conda magic functions](https://github.com/ipython/ipython/pull/11524).

### Conda
<a name="nbi-add-external-tools-conda"></a>

Conda è un sistema open source di gestione dei pacchetti e un sistema di gestione dell'ambiente, che può installare pacchetti e le loro dipendenze. SageMaker L'intelligenza artificiale supporta l'utilizzo di Conda con uno dei due canali principali, il canale predefinito e il canale conda-forge. Per ulteriori informazioni, consulta la pagina [Conda channels](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/channels.html). Il canale conda-forge è un community channel in cui i collaboratori possono caricare pacchetti.

**Nota**  
Per via del modo in cui Conda risolve il grafico delle dipendenze, l'installazione di pacchetti da conda-forge può richiedere molto più tempo (nel peggiore dei casi, fino a 10 minuti).

Deep Learning AMI include molti ambienti conda e molti pacchetti preinstallati. A causa del numero di pacchetti preinstallati, è difficile trovare un set di pacchetti la cui compatibilità sia garantita. Potresti visualizzare il seguente avviso: “L'ambiente non è coerente, controlla attentamente il piano dei pacchetti”. Nonostante questo avviso, l' SageMaker IA garantisce che tutti gli ambienti forniti dall' SageMaker IA siano corretti. SageMaker L'IA non può garantire che i pacchetti installati dall'utente funzionino correttamente.

**Nota**  
Gli utenti di SageMaker AI AWS Deep Learning AMIs e Amazon EMR possono accedere all'archivio commerciale di Anaconda senza richiedere una licenza commerciale fino al 1° febbraio 2024 se utilizzano Anaconda in tali servizi. Per qualsiasi utilizzo del repository commerciale Anaconda successivo al 1° febbraio 2024, i clienti sono responsabili di determinare autonomamente i propri obblighi in merito alla licenza Anaconda.

Conda ha due metodi per attivare gli ambienti: conda. activate/deactivate, and source activate/deactivate Per ulteriori informazioni, consulta [Should I use 'conda activate' or 'source activate' in Linux](https://stackoverflow.com/questions/49600611/python-anaconda-should-i-use-conda-activate-or-source-activate-in-linux).

SageMaker L'intelligenza artificiale supporta lo spostamento degli ambienti Conda sul volume Amazon EBS, che viene mantenuto quando l'istanza viene interrotta. Gli ambienti non sono persistenti quando vengono installati nel volume root, che è il comportamento predefinito. Per un esempio di script del ciclo di vita, consulta. [persistent-conda-ebs](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/tree/master/scripts/persistent-conda-ebs)

**Operazioni conda supportate (vedi la nota in fondo a questo argomento)**
+ installazione conda di un pacchetto in un unico ambiente
+ installazione conda di un pacchetto in tutti gli ambienti
+ installazione conda di un pacchetto R nell’ambiente R
+ Installazione di un pacchetto dal repository principale di conda
+ Installazione di un pacchetto da conda-forge
+ Modifica della posizione di installazione di conda per utilizzare EBS
+ Supporta sia conda activate che source activate

### Pip
<a name="nbi-add-external-tools-pip"></a>

Pip è lo strumento preposto all’installazione e alla gestione dei pacchetti Python. Per impostazione predefinita, Pip cerca i pacchetti nell’indice dei pacchetti Python (PyPI). A differenza di Conda, pip non ha un supporto ambientale integrato e non è così completo come Conda quando si tratta di pacchetti con dipendenze di libreria. native/system Puoi usare pip per installare pacchetti in ambienti Conda.

Invece che l’indice PyPI, con pip puoi anche usare repository di pacchetti alternativi. Per un esempio di script del ciclo di vita, consulta [on-start.sh.](https://github.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/blob/master/scripts/add-pypi-repository/on-start.sh)

**Operazioni conda supportate (vedi la nota in fondo a questo argomento)**
+ Uso di pip per installare un pacchetto senza un ambiente conda attivo (installazione di pacchetti a livello di sistema)
+ Uso di pip per installare un pacchetto in un ambiente conda
+ Uso di pip per installare un pacchetto in tutti gli ambienti conda
+ Modifica della posizione di installazione di pip per utilizzare EBS
+ Uso di un repository alternativo per installare pacchetti con pip

### Non supportato.
<a name="nbi-add-external-tools-misc"></a>

SageMaker L'intelligenza artificiale mira a supportare il maggior numero possibile di operazioni di installazione dei pacchetti. Tuttavia, se i pacchetti sono stati installati da SageMaker AI o DLAMI e si utilizzano le seguenti operazioni su questi pacchetti, l'istanza del notebook potrebbe diventare instabile:
+ Disinstallazione
+ Downgrade
+ Aggiornamento

Non offriamo supporto per l'installazione di pacchetti tramite yum o per l'installazione di pacchetti R da CRAN.

A causa di potenziali problemi relativi alle condizioni o alle configurazioni della rete o alla disponibilità di Conda or PyPi, non possiamo garantire che i pacchetti vengano installati in un periodo di tempo fisso o deterministico.

**Nota**  
Non possiamo garantire che l'installazione di un pacchetto avvenga correttamente. Il tentativo di installare un pacchetto in un ambiente con dipendenze incompatibili può causare un errore. In tal caso, è necessario contattare il manutentore della libreria per vedere se è possibile aggiornare le dipendenze del pacchetto. In alternativa, si può tentare di modificare l'ambiente in modo da rendere possibile l'installazione. Questa modifica, tuttavia, comporterà probabilmente la rimozione o l'aggiornamento dei pacchetti esistenti, il che significa che non possiamo più garantire la stabilità di questo ambiente.

# Aggiornamenti software dell'istanza del notebook
<a name="nbi-software-updates"></a>

Amazon SageMaker AI testa e rilascia periodicamente il software installato sulle istanze dei notebook. Questo include:
+ Aggiornamenti del kernel
+ Patch di sicurezza
+ AWS Aggiornamenti SDK
+ Aggiornamenti dell'[ SageMaker SDK Amazon Python](https://sagemaker.readthedocs.io/en/stable)
+ Aggiornamenti software open source

Per assicurarti di disporre degli aggiornamenti software più recenti, interrompi e riavvia l'istanza del notebook, nella console SageMaker AI o chiamando [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopNotebookInstance.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopNotebookInstance.html).

Puoi anche aggiornare manualmente il software installato sull'istanza del notebook mentre è in esecuzione utilizzando i comandi di aggiornamento in un terminale o in un notebook.

**Nota**  
L'aggiornamento dei kernel e di alcuni pacchetti potrebbe dipendere dal fatto che l'accesso root sia abilitato per l'istanza del notebook. Per ulteriori informazioni, consulta [Controlla l'accesso root a un'istanza di notebook SageMaker](nbi-root-access.md).

Puoi controllare [Personal Health Dashboard](https://aws.amazon.com/premiumsupport/technology/personal-health-dashboard/) o il bollettino di sicurezza nella pagina [Bollettini di sicurezza](https://aws.amazon.com/security/security-bulletins/) per aggiornamenti.

# Controllo di un'istanza Amazon EMR Spark utilizzando un notebook
<a name="nbi-lifecycle-config-emr"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

È possibile utilizzare un'istanza di notebook creata con uno script di configurazione del ciclo di vita personalizzato per accedere ai AWS servizi dal notebook. Ad esempio, puoi creare uno script che consente di utilizzare il notebook con Sparkmagic per controllare altre risorse AWS , ad esempio un'istanza Amazon EMR. Puoi quindi utilizzare l'istanza Amazon EMR per elaborare i dati anziché eseguire l'analisi dei dati sul notebook. Ciò consente di creare un'istanza del notebook più piccola perché non la si utilizzerà per elaborare i dati. Ciò è utile quando si dispone di set di dati di grandi dimensioni che richiederebbero un'istanza del notebook di grandi dimensioni per elaborare i dati.

Il processo richiede tre procedure utilizzando la console Amazon SageMaker AI:
+ Creazione di un'istanza Amazon EMR Spark
+ Creazione del notebook Jupyter
+ Verificare la notebook-to-Amazon connessione EMR

**Per creare un'istanza Amazon EMR Spark controllabile da un notebook mediante Sparkmagic**

1. Apri la console di Amazon EMR all'indirizzo [https://console.aws.amazon.com/elasticmapreduce/](https://console.aws.amazon.com/elasticmapreduce/).

1. Nel riquadro di navigazione, scegli **Crea cluster**.

1. Nella pagina **Crea cluster - Opzioni rapide** in **Configurazione del software**, scegli **Spark: Spark 2.4.4 on Hadoop 2.8.5 YARN with Ganglia 3.7.2 and Zeppelin 0.8.2**.

1. Imposta i parametri aggiuntivi nella pagina e quindi scegli **Crea cluster**.

1. Nella pagina **Cluster** scegli il nome del cluster creato. Annota i nomi di **DNS pubblico master**, **gruppo di sicurezza del master EMR** e VPC e l'ID sottorete in cui è stato creato il cluster EMR. Questi valori verranno utilizzati quando si crea un notebook.

**Per creare un notebook che utilizza Sparkmagic per controllare un'istanza Amazon EMR Spark**

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

1. Nel riquadro di navigazione, in **Istanze del notebook**, scegli **Crea notebook**.

1. Immetti il nome dell'istanza del notebook e scegli il tipo di istanza.

1. Scegli **Configurazione aggiuntiva**, quindi in **Configurazione ciclo di vita**, scegli **Crea una nuova configurazione del ciclo di vita**.

1. Aggiungi il codice seguente allo script di configurazione del ciclo di vita:

   ```
   # OVERVIEW
   # This script connects an Amazon EMR cluster to an Amazon SageMaker notebook instance that uses Sparkmagic.
   #
   # Note that this script will fail if the Amazon EMR cluster's master node IP address is not reachable.
   #   1. Ensure that the EMR master node IP is resolvable from the notebook instance.
   #      One way to accomplish this is to have the notebook instance and the Amazon EMR cluster in the same subnet.
   #   2. Ensure the EMR master node security group provides inbound access from the notebook instance security group.
   #       Type        - Protocol - Port - Source
   #       Custom TCP  - TCP      - 8998 - $NOTEBOOK_SECURITY_GROUP
   #   3. Ensure the notebook instance has internet connectivity to fetch the SparkMagic example config.
   #
   # https://aws.amazon.com/blogs/machine-learning/build-amazon-sagemaker-notebooks-backed-by-spark-in-amazon-emr/
   
   # PARAMETERS
   EMR_MASTER_IP=your.emr.master.ip
   
   
   cd /home/ec2-user/.sparkmagic
   
   echo "Fetching Sparkmagic example config from GitHub..."
   wget https://raw.githubusercontent.com/jupyter-incubator/sparkmagic/master/sparkmagic/example_config.json
   
   echo "Replacing EMR master node IP in Sparkmagic config..."
   sed -i -- "s/localhost/$EMR_MASTER_IP/g" example_config.json
   mv example_config.json config.json
   
   echo "Sending a sample request to Livy.."
   curl "$EMR_MASTER_IP:8998/sessions"
   ```

1. Nella sezione `PARAMETERS` dello script, sostituisci `your.emr.master.ip` con il nome DNS pubblico master per l'istanza Amazon EMR.

1. Scegli **Crea configurazione**.

1. Nella pagina **Crea notebook** scegli **Rete - facoltativa**.

1. Scegli il VPC e la sottorete in cui si trova l'istanza Amazon EMR.

1. Scegli il gruppo di sicurezza utilizzato dal nodo principale di Amazon EMR.

1. Scegli **Crea un'istanza del notebook**.

Durante la creazione dell'istanza del notebook, lo stato è **Pending**. Dopo che l'istanza è stata creata e lo script di configurazione del ciclo di vita è stato eseguito correttamente, lo stato è. **InService**

**Nota**  
Se l'istanza notebook non riesce a connettersi all'istanza Amazon EMR, l' SageMaker intelligenza artificiale non può creare l'istanza notebook. La connessione può non riuscire se l'istanza Amazon EMR e il notebook non si trovano negli stessi VPC e sottorete, se il gruppo di sicurezza master di Amazon EMR non viene utilizzato dal notebook o se il nome DNS pubblico master nello script non è corretto. 

**Per testare la connessione tra l'istanza Amazon EMR e il notebook**

1.  Quando lo stato del notebook è impostato **InService**, scegli **Open Jupyter** per aprirlo.

1. Scegli **Nuovo**, quindi scegli **Sparkmagic** (). PySpark

1. Nella cella di codice immetti **%%info** ed esegui la cella.

   L'output visualizzato dovrebbe essere simile al seguente

   ```
   Current session configs: {'driverMemory': '1000M', 'executorCores': 2, 'kind': 'pyspark'}
                       No active sessions.
   ```

# Impostazione del kernel notebook
<a name="howitworks-set-kernel"></a>

Amazon SageMaker AI fornisce diversi kernel per Jupyter che forniscono supporto per Python 2 e 3, Apache e. MXNet TensorFlow PySpark Per impostare un kernel per un nuovo notebook nel pannello di controllo del notebook Jupyter, seleziona **Nuovo**, quindi scegli il kernel dall'elenco. Per ulteriori informazioni sui kernel disponibili, consulta [Kernel disponibili](nbi-al2.md#nbi-al2-kernel).

![\[Posizione dell’elenco a discesa Nuovo nella dashboard del notebook Jupyter.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/nbi-set-kernel.png)


È inoltre possibile creare un kernel personalizzato che è possibile utilizzare nell'istanza del notebook. Per informazioni, consulta [Installazione di librerie e kernel esterni](nbi-add-external.md).

# Archivi Git con istanze SageMaker AI Notebook
<a name="nbi-git-repo"></a>

Associa i repository Git all'istanza del notebook per salvare i notebook in un ambiente di controllo dell'origine che persiste anche se l'istanza del notebook viene arrestata o eliminata. Puoi associare un repository predefinito e fino a tre repository aggiuntivi a un'istanza del notebook. I repository possono essere ospitati in AWS CodeCommit o su qualsiasi altro server Git. GitHub L'associazione di repository Git all'istanza del notebook può essere utile per:
+ Persistenza: i notebook in un'istanza del notebook vengono archiviati su volumi Amazon EBS durevoli, ma non persistono oltre la durata dell'istanza del notebook. L'archiviazione di notebook in un repository Git consente di archiviare e utilizzare notebook anche se l'istanza del notebook viene arrestata o eliminata.
+ Collaborazione: i colleghi in un team lavorano spesso insieme su progetti di machine learning. L'archiviazione di notebook in repository Git permette ai colleghi che lavorano su istanze del notebook diverse di condividere notebook e collaborare su di essi in un ambiente con controllo dell'origine.
+ Apprendimento: molti notebook Jupyter che dimostrano le tecniche di machine learning sono disponibili in repository Git ospitati pubblicamente, come on. GitHub Puoi associare l'istanza del notebook a un repository per caricare facilmente notebook Jupyter contenuti in tale repository.

Sono disponibili due modi per associare un repository Git a un'istanza del notebook:
+ Aggiungi un repository Git come risorsa nel tuo account Amazon SageMaker AI. Quindi, per accedere al repository, puoi specificare un segreto di AWS Secrets Manager che contenga le credenziali. In questo modo, puoi accedere ai repository che richiedono l'autenticazione.
+ Associazione di un repository Git pubblico che non è una risorsa nell'account. In questo caso, non puoi specificare credenziali per accedere al repository.

**Topics**
+ [Aggiungi un repository Git al tuo account Amazon SageMaker AI](nbi-git-resource.md)
+ [Creazione di un'istanza del notebook con un repository Git associato](nbi-git-create.md)
+ [Associate un CodeCommit repository in un AWS account diverso a un'istanza di Notebook](nbi-git-cross.md)
+ [Utilizzo di repository Git in un'istanza del notebook](git-nbi-use.md)

# Aggiungi un repository Git al tuo account Amazon SageMaker AI
<a name="nbi-git-resource"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Per gestire i tuoi GitHub repository, associarli facilmente alle istanze del tuo notebook e associare le credenziali per i repository che richiedono l'autenticazione, aggiungi i repository come risorse nel tuo account Amazon AI. SageMaker Puoi visualizzare un elenco di repository archiviati nel tuo account e i dettagli su ciascun repository nella console SageMaker AI e utilizzando l'API.

Puoi aggiungere repository Git al tuo account SageMaker AI nella console SageMaker AI o utilizzando il AWS CLI.

**Nota**  
Puoi usare l' SageMaker API AI [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCodeRepository.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateCodeRepository.html)per aggiungere repository Git al tuo account SageMaker AI, ma step-by-step le istruzioni non sono fornite qui.

## Aggiungi un repository Git al tuo account SageMaker AI (Console)
<a name="nbi-git-resource-console"></a>

**Per aggiungere un repository Git come risorsa nel tuo account SageMaker AI**

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

1. Scegli **Notebook**, scegli **Repository Git**, quindi seleziona **Aggiungi repository**.

1. Per aggiungere un CodeCommit repository, scegli **AWS CodeCommit**. Per aggiungere uno GitHub o un altro repository basato su Git, scegli **GitHub/Altro** repository basato su Git.

**Per aggiungere un repository esistente CodeCommit**

1. Scegli **Utilizza repository esistente**.

1. Per **Repository**, scegli un repository dall'elenco.

1. Inserisci un nome da utilizzare per il repository in SageMaker AI. Il nome deve essere composto da 1 a 63 caratteri. I caratteri validi sono a–z, A-Z, 0–9 e - (trattino).

1. Scegli **Aggiungi repository**.

**Per creare un nuovo repository CodeCommit**

1. Scegli **Crea un nuovo repository**.

1. Inserisci un nome per il repository che puoi usare sia CodeCommit in AI che in AI. SageMaker Il nome deve essere composto da 1 a 63 caratteri. I caratteri validi sono a–z, A-Z, 0–9 e - (trattino).

1. Scegli **Create repository (Crea repository)**.

**Per aggiungere un repository Git ospitato in un posto diverso da CodeCommit**

1. Scegli **GitHub/Altro repository basato su Git.**

1. Immetti un nome fino a 63 caratteri. I caratteri validi includono caratteri alfanumerici, un trattino (-) e 0-9.

1. Immetti l'URL per il repository. Non fornire un nome utente nell'URL. Aggiungi le credenziali di accesso Gestione dei segreti AWS come descritto nel passaggio successivo.

1. Per **Credenziali Git**, scegli le credenziali da utilizzare per l'autenticazione nel repository. Questa operazione è necessaria solo se il repository Git è privato.
**Nota**  
Se per il repository Git è abilitata l'autenticazione a due fattori, inserisci un token di accesso personale generato dal fornitore di servizi Git nel campo `password`.

   1. Per utilizzare un segreto esistente di AWS Secrets Manager, scegli **Usa segreto esistente**, quindi scegli un segreto dall'elenco. Per ulteriori informazioni sulla creazione e l'archiviazione di un bucket, consulta [Creating a basic secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) nella *Guida per l'utente di AWS Secrets Manager*. Il nome del segreto utilizzato deve contenere la stringa `sagemaker`.
**Nota**  
Il segreto deve avere un'etichetta di gestione temporanea di `AWSCURRENT` e deve avere il formato seguente:  
`{"username": UserName, "password": Password}`  
Per i GitHub repository, consigliamo di utilizzare un token di accesso personale sul `password` campo. Per informazioni, vedere [https://help.github.com/articles/creating-a-personal-access- token-for-the-command -line/](https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/).

   1. Per creare un nuovo segreto di AWS Secrets Manager, scegli **Crea segreto**, inserisci un nome per il segreto, quindi inserisci le credenziali di accesso da utilizzare per l'autenticazione nel repository. Il nome per il segreto deve contenere la stringa `sagemaker`.
**Nota**  
Il ruolo IAM utilizzato per creare il segreto deve disporre dell'autorizzazione `secretsmanager:GetSecretValue` nella sua policy IAM.  
Il segreto deve avere un'etichetta di gestione temporanea di `AWSCURRENT` e deve avere il formato seguente:  
`{"username": UserName, "password": Password}`  
Per i GitHub repository, consigliamo di utilizzare un token di accesso personale.

   1. Per non utilizzare le credenziali, scegli **Nessun segreto**.

1. Scegli **Crea segreto**.

# Aggiungi un repository Git al tuo account Amazon SageMaker AI (CLI)
<a name="nbi-git-resource-cli"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Usa il `create-code-repository` AWS CLI comando per aggiungere un repository Git ad Amazon SageMaker AI per consentire agli utenti di accedere a risorse esterne. Specifica un nome per il repository come il valore dell'argomento `code-repository-name`. Il nome deve essere composto da 1 a 63 caratteri. I caratteri validi sono a–z, A-Z, 0–9 e - (trattino). Specifica inoltre le impostazioni seguenti:
+ Il ramo predefinito
+ L'URL del repository Git
**Nota**  
Non fornire un nome utente nell'URL. Aggiungi le credenziali di accesso Gestione dei segreti AWS come descritto nel passaggio successivo.
+ L'Amazon Resource Name (ARN) di un segreto di AWS Secrets Manager che contiene le credenziali da utilizzare per autenticare il repository come valore dell'argomento `git-config`

Per ulteriori informazioni sulla creazione e l'archiviazione di un bucket, consulta [Creating a basic secret](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) nella *Guida per l'utente di AWS Secrets Manager*. Il comando seguente crea un nuovo repository denominato `MyRespository` nel tuo account Amazon SageMaker AI che punta a un repository Git ospitato su. `https://github.com/myprofile/my-repo"`

Per Linux, OS X o Unix:

```
aws sagemaker create-code-repository \
                    --code-repository-name "MyRepository" \
                    --git-config Branch=branch,RepositoryUrl=https://github.com/myprofile/my-repo,SecretArn=arn:aws:secretsmanager:us-east-2:012345678901:secret:my-secret-ABc0DE
```

Per Windows:

```
aws sagemaker create-code-repository ^
                    --code-repository-name "MyRepository" ^
                    --git-config "{\"Branch\":\"master\", \"RepositoryUrl\" :
                    \"https://github.com/myprofile/my-repo\", \"SecretArn\" : \"arn:aws:secretsmanager:us-east-2:012345678901:secret:my-secret-ABc0DE\"}"
```

**Nota**  
Il segreto deve avere un'etichetta di gestione temporanea di `AWSCURRENT` e deve avere il formato seguente:  
`{"username": UserName, "password": Password}`  
Per i GitHub repository, consigliamo di utilizzare un token di accesso personale.

# Creazione di un'istanza del notebook con un repository Git associato
<a name="nbi-git-create"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

È possibile associare i repository Git a un'istanza di notebook quando si crea l'istanza del notebook utilizzando Console di gestione AWS, o il AWS CLI. Se desideri utilizzare un CodeCommit repository che si trova in un AWS account diverso rispetto all'istanza del notebook, configura l'accesso tra account per il repository. Per informazioni, consulta [Associate un CodeCommit repository in un AWS account diverso a un'istanza di Notebook](nbi-git-cross.md).

**Topics**
+ [Creazione di un'istanza del notebook con un repository Git associato (console)](#nbi-git-create-console)
+ [Creazione di un'istanza del notebook con un repository Git associato (CLI)](nbi-git-create-cli.md)

## Creazione di un'istanza del notebook con un repository Git associato (console)
<a name="nbi-git-create-console"></a>

**Per creare un'istanza notebook e associare repository Git nella console Amazon SageMaker AI**

1. Segui le istruzioni riportate in [Crea un'istanza Amazon SageMaker Notebook per il tutorial](gs-setup-working-env.md).

1. Per **Repository Git**, scegli i repository Git da associare all'istanza del notebook.

   1. Per **Deposito predefinito**, scegli un repository che desideri utilizzare come repository predefinito. SageMaker AI clona questo repository come sottodirectory nella directory di avvio di Jupyter in. `/home/ec2-user/SageMaker` L'istanza del notebook viene aperta in questo repository. Per scegliere un repository che viene archiviato come una risorsa nell'account, scegli il nome dall'elenco. Per aggiungere un nuovo repository come risorsa nel tuo account, scegli **Aggiungi un repository all' SageMaker AI (apre il flusso Aggiungi repository in una nuova finestra) e segui le istruzioni in**. [Creazione di un'istanza del notebook con un repository Git associato (console)](#nbi-git-create-console) Per clonare un repository pubblico che non è archiviato nell'account, scegli **Clona un repository Git pubblico solo in questa istanza del notebook**, quindi specifica l'URL per tale repository.

   1. Per **Archivio aggiuntivo 1**, scegli un repository che desideri aggiungere come directory aggiuntiva. SageMaker AI clona questo repository come sottodirectory nella directory di avvio di Jupyter in. `/home/ec2-user/SageMaker` Per scegliere un repository che viene archiviato come una risorsa nell'account, scegli il nome dall'elenco. Per aggiungere un nuovo repository come risorsa nel tuo account, scegli **Aggiungi un repository all' SageMaker AI (apre il flusso Aggiungi repository in una nuova finestra) e segui le istruzioni in**. [Creazione di un'istanza del notebook con un repository Git associato (console)](#nbi-git-create-console) Per clonare un repository che non è archiviato nell'account, scegli **Clona un repository Git pubblico solo in questa istanza del notebook**, quindi specifica l'URL per tale repository.

      Ripeti questa fase fino a tre volte per aggiungere fino a tre repository aggiuntivi all'istanza del notebook.

# Creazione di un'istanza del notebook con un repository Git associato (CLI)
<a name="nbi-git-create-cli"></a>

**Importante**  
Le politiche IAM personalizzate che consentono ad Amazon SageMaker Studio o Amazon SageMaker Studio Classic di creare SageMaker risorse Amazon devono inoltre concedere le autorizzazioni per aggiungere tag a tali risorse. L’autorizzazione per aggiungere tag alle risorse è necessaria perché Studio e Studio Classic applicano automaticamente tag a tutte le risorse che creano. Se una policy IAM consente a Studio e Studio Classic di creare risorse ma non consente l'etichettatura, possono verificarsi errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta [Fornisci le autorizzazioni per etichettare SageMaker le risorse AI](security_iam_id-based-policy-examples.md#grant-tagging-permissions).  
[AWS politiche gestite per Amazon SageMaker AI](security-iam-awsmanpol.md)che danno i permessi per creare SageMaker risorse includono già le autorizzazioni per aggiungere tag durante la creazione di tali risorse.

Per creare un'istanza del notebook e associare repository Git utilizzando AWS CLI, utilizza il comando `create-notebook-instance` come segue:
+ Specifica il repository che desideri utilizzare come repository predefinito come valore dell'argomento `default-code-repository`. Amazon SageMaker AI clona questo repository come sottodirectory nella directory di avvio di Jupyter all'indirizzo. `/home/ec2-user/SageMaker` L'istanza del notebook viene aperta in questo repository. Per utilizzare un repository archiviato come risorsa nel tuo account SageMaker AI, specifica il nome del repository come valore dell'argomento. `default-code-repository` Per utilizzare un repository che non è archiviato nell'account , specifica l'URL del repository come il valore dell'argomento `default-code-repository`.
+ Specificate fino a tre repository aggiuntivi come valore dell'argomento. `additional-code-repositories` SageMaker AI clona questo repository come sottodirectory nella directory di avvio di Jupyter in `/home/ec2-user/SageMaker` e il repository viene escluso dal repository predefinito aggiungendolo alla directory del repository predefinito. `.git/info/exclude` Per utilizzare i repository archiviati come risorse nel tuo account SageMaker AI, specifica i nomi dei repository come valore dell'argomento. `additional-code-repositories` Per utilizzare i repository che non sono archiviati nel tuo account, specifica i URLs repository come valore dell'argomento. `additional-code-repositories`

Ad esempio, il comando seguente crea un'istanza di notebook con un repository denominato`MyGitRepo`, archiviato come risorsa nel tuo account SageMaker AI, come repository predefinito e un repository aggiuntivo ospitato su: GitHub

```
aws sagemaker create-notebook-instance \
                    --notebook-instance-name "MyNotebookInstance" \
                    --instance-type "ml.t2.medium" \
                    --role-arn "arn:aws:iam::012345678901:role/service-role/AmazonSageMaker-ExecutionRole-20181129T121390" \
                    --default-code-repository "MyGitRepo" \
                    --additional-code-repositories "https://github.com/myprofile/my-other-repo"
```

**Nota**  
Se utilizzi un AWS CodeCommit repository che non contiene "SageMaker" nel nome, aggiungi le `codecommit:GitPush` autorizzazioni `codecommit:GitPull` e al ruolo che passi come argomento al `role-arn` comando. `create-notebook-instance` Per informazioni su come aggiungere autorizzazioni a un ruolo, consulta [Adding and Removing IAM Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) nella *AWS Identity and Access Management Guida per l'utente*. 

# Associate un CodeCommit repository in un AWS account diverso a un'istanza di Notebook
<a name="nbi-git-cross"></a>

Per associare un CodeCommit repository in un AWS account diverso all'istanza del notebook, configura l'accesso tra account diversi per il repository. CodeCommit 

**Per configurare l'accesso tra più account per un CodeCommit repository e associarlo a un'istanza di notebook:**

1. Nell' AWS account che contiene il CodeCommit repository, crea una policy IAM che consenta l'accesso al repository agli utenti dell'account che contiene l'istanza del notebook. Per informazioni, consultare la [Fase 1: creare una policy per l'accesso al repository nell'AccountA](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account-administrator-a.html#cross-account-create-policy-a) nella *Guida per l'utente di CodeCommit *.

1. Nell' AWS account che contiene il CodeCommit repository, crea un ruolo IAM e collega a quel ruolo la policy creata nel passaggio precedente. Per informazioni, consultare la [Fase 2: creare un ruolo per l'accesso al repository nell'AccountA](https://docs.aws.amazon.com/codecommit/latest/userguide/cross-account-administrator-a.html#cross-account-create-role-a) nella *Guida per l'utente di CodeCommit *.

1. Nell'istanza del notebook, crea un profilo che usa il ruolo creato nella fase precedente:

   1. Apri l'istanza del notebook.

   1. Apri un terminale nell'istanza del notebook.

   1. Modifica un nuovo profilo digitando il seguente comando nel terminale:

      ```
      vi /home/ec2-user/.aws/config
      ```

   1. Modifica il file con le seguenti informazioni di profilo:

      ```
      [profile CrossAccountAccessProfile]
      region = us-west-2
      role_arn = arn:aws:iam::CodeCommitAccount:role/CrossAccountRepositoryContributorRole
      credential_source=Ec2InstanceMetadata
      output = json
      ```

      *CodeCommitAccount*Dov'è l'account che contiene l' CodeCommit archivio, *CrossAccountAccessProfile* è il nome del nuovo profilo e *CrossAccountRepositoryContributorRole* il nome del ruolo che hai creato nel passaggio precedente.

1. Nell'istanza del notebook, configura Git in modo che usi il profilo creato nella fase precedente:

   1. Apri l'istanza del notebook.

   1. Apri un terminale nell'istanza del notebook.

   1. Modifica il file di configurazione Git digitando il seguente comando nel terminale:

      ```
      vi /home/ec2-user/.gitconfig
      ```

   1. Modifica il file con le seguenti informazioni di profilo:

      ```
      [credential]
              helper = !aws codecommit credential-helper --profile CrossAccountAccessProfile $@
              UseHttpPath = true
      ```

      *CrossAccountAccessProfile*Dov'è il nome del profilo che hai creato nel passaggio precedente.

# Utilizzo di repository Git in un'istanza del notebook
<a name="git-nbi-use"></a>

Quando apri un'istanza del notebook cui sono associati repository Git, questa viene aperta nel repository predefinito, il quale è installato nell'istanza del notebook direttamente in `/home/ec2-user/SageMaker`. Puoi aprire e creare notebook ed eseguire manualmente comandi Git in un cella di notebook. Esempio:

```
!git pull origin master
```

Per aprire uno dei repository aggiuntivi, passa alla cartella superiore nella gerarchia. I repository aggiuntivi vengono anche installati come directory in `/home/ec2-user/SageMaker`.

Se apri l'istanza del notebook con un' JupyterLab interfaccia, l'estensione jupyter-git viene installata e disponibile per l'uso. [Per informazioni sull'estensione jupyter-git per, vedi jupyterlab-git. JupyterLab https://github.com/jupyterlab/](https://github.com/jupyterlab/jupyterlab-git)

Quando apri un'istanza di notebook in JupyterLab, vedi i repository git ad essa associati nel menu a sinistra:

![\[Esempio di browser di file in JupyterLab.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/git-notebook.png)


Puoi utilizzare l'estensione jupyter-git per gestire git visivamente, anziché utilizzare la riga di comando:

![\[Esempio dell'estensione jupyter-git in. JupyterLab\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/jupyterlab-git.png)


# Metadati dell'istanza del notebook
<a name="nbi-metadata"></a>

Quando crei un'istanza notebook, Amazon SageMaker AI crea un file JSON sull'istanza nella posizione `/opt/ml/metadata/resource-metadata.json` che contiene l'istanza `ResourceName` e l'istanza `ResourceArn` del notebook. Questi metadati sono accessibili da qualsiasi punto all'interno del notebook, incluse le configurazioni del ciclo di vita dell'istanza. Per informazioni sulle configurazioni del ciclo di vita dell'istanza del notebook, consulta [Personalizzazione di un'istanza di SageMaker notebook utilizzando uno script LCC](notebook-lifecycle-config.md).

**Nota**  
Il file `resource-metadata.json` può essere modificato con accesso root.

Il file `resource-metadata.json` ha la struttura seguente:

```
{
    "ResourceArn": "NotebookInstanceArn",
    "ResourceName": "NotebookInstanceName"
}
```

È possibile utilizzare questi metadati dall'interno dell'istanza del notebook per ottenere altre informazioni sull'istanza del notebook. Ad esempio, i seguenti comandi ottengono i tag associati all'istanza del notebook:

```
NOTEBOOK_ARN=$(jq '.ResourceArn'
            /opt/ml/metadata/resource-metadata.json --raw-output)
aws sagemaker list-tags --resource-arn $NOTEBOOK_ARN
```

L'output sarà simile al seguente:

```
{
    "Tags": [
        {
            "Key": "test",
            "Value": "true"
        }
    ]
}
```

# Monitora i log di Jupyter in Amazon Logs CloudWatch
<a name="jupyter-logs"></a>

I log di Jupyter includono informazioni importanti come eventi, metriche e informazioni sullo stato di salute che forniscono informazioni utili durante l'esecuzione di notebook Amazon. SageMaker Importando i log di Jupyter in Logs, i clienti possono utilizzare CloudWatch Logs per rilevare CloudWatch comportamenti anomali, impostare allarmi e scoprire informazioni utili a far funzionare i notebook AI in modo più fluido. SageMaker Puoi accedere ai log anche quando l'istanza Amazon EC2 che ospita il notebook non risponde e utilizzare i log per risolvere i problemi relativi a notebook che non rispondono. Le informazioni sensibili come AWS account IDs, chiavi segrete e token di autenticazione predefinite vengono rimosse in modo che i clienti possano condividere i log senza divulgare informazioni private. URLs 

**Per visualizzare i log Jupyter per un'istanza del notebook:**

1. Accedi Console di gestione AWS e apri la console AI all' SageMaker indirizzo. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) 

1. Scegli **Istanze del notebook**.

1. Nell'elenco delle istanze del notebook, scegli l'istanza del notebook per la quale desideri visualizzare i log Jupyter selezionando il **Nome** dell’istanza del notebook.

   In questo modo accederai alla pagina dei dettagli per quell'istanza del notebook.

1. In **Monitoraggio** nella pagina dei dettagli dell'istanza del notebook, scegli **Vedi log**.

1. Nella CloudWatch console, scegli il flusso di log per l'istanza del tuo notebook. Il formato del nome è `NotebookInstanceName/jupyter.log`.

Per ulteriori informazioni sul monitoraggio dei CloudWatch log per l' SageMaker IA, consulta[CloudWatch Registri per Amazon SageMaker AI](logging-cloudwatch.md).