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
IAMLe politiche 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 taggano automaticamente tutte le risorse che creano. Se una IAM politica consente a Studio e Studio Classic di creare risorse ma non consente l'aggiunta di tag, si possono verificare errori AccessDenied "" durante il tentativo di creare risorse. Per ulteriori informazioni, consulta Fornisci le autorizzazioni per etichettare le risorse SageMaker.
AWS Policy gestite per Amazon SageMakerche concedono le autorizzazioni 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 script di shell che vengono eseguiti solo quando si crea l'istanza del notebook o ogni volta che ne si avvia una. Quando crei un'istanza di notebook, puoi crearne una nuova LCC o allegare un'istanza LCC che già possiedi. 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 di notebook
-
Configurazione della rete e della sicurezza per un'istanza di notebook
-
Utilizzo di uno script di shell per personalizzare un'istanza di 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'EMRistanza Amazon.
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 scegliendo Configurazione del ciclo di vita nella console. SageMaker È possibile allegare un'istanza di notebook LCC quando si crea una nuova istanza di 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-user
per l'esecuzione come utenteec2-user
. Si tratta dello stesso utente utilizzato SageMaker da Amazon. -
SageMaker le istanze di notebook 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 ambienteconda
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 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 # Replace
myPackage
with 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 memorizzare tutti gli ambienti Conda nella cartella ambienti predefiniti (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.