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à.
Personalizzazione di un'istanza di SageMaker notebook utilizzando uno script LCC
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.
AWSpolitiche gestite per Amazon SageMaker AIche 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.
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
nohupnello 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.
Best practice per la configurazione del ciclo di vita
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.
-
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 conpip, utilizza il comandosudo -u ec2-userper l'esecuzione come utenteec2-user. Si tratta dello stesso utente con cui viene eseguito Amazon SageMaker AI. -
SageMaker Le istanze di notebook AI utilizzano
condaambienti 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 ambientecondache 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 # ReplacemyPackagewith the name of the package you want to install. pip installmyPackage# You can also perform "conda install" here as well. source deactivate EOFPer 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 # ReplacemyPackagewith the name of the package you want to install. pip install --upgrade --quietmyPackage# 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.