Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
Come posso risolvere i problemi di timeout di un'istanza del notebook Amazon SageMaker AI quando installo librerie aggiuntive?
Quando provo a installare librerie aggiuntive nella mia istanza del notebook Amazon SageMaker AI, ricevo un errore di timeout.
Risoluzione
Quando uno script di configurazione del ciclo di vita viene eseguito per più di 5 minuti, lo script ha esito negativo e SageMaker AI non crea né avvia l'istanza del notebook.
Utilizza uno dei seguenti metodi per risolvere il problema.
Esegui il comando nohup
Per una soluzione temporanea, esegui il comando nohup per forzare l'esecuzione dello script di configurazione del ciclo di vita in background fino all'installazione dei pacchetti.
Esegui questo comando con nohup all'inizio e una e commerciale (&) alla fine:
#!/bin/bash set -e nohup pip install xgboost &
Dopo aver installato le librerie, l'esecuzione dello script viene interrotta. SageMaker AI non ti avvisa quando ciò accade, ma puoi eseguire il comando ps per verificare lo stato dello script.
Nota: puoi anche eseguire il comando nohup per altre situazioni in cui si verificano timeout degli script, ad esempio quando scarichi oggetti Amazon Simple Storage Service (Amazon S3) di grandi dimensioni.
Crea un'installazione Conda persistente personalizzata sul volume dell'istanza del notebook
-
Nel terminale di un'istanza del notebook esistente, esegui questo comando nell'editor preferito per creare un file .sh:
vim custom-script.sh -
Aggiungi il contenuto dello script in fase di creazione al file .sh. Per copiare lo script, consulta amazon-sagemaker-notebook-instance-lifecycle-config-samples sul sito web GitHub. Lo script crea un nuovo ambiente Conda in un'installazione Conda personalizzata. Lo script installa anche NumPy e Boto3 nel nuovo ambiente Conda.
Nota: l'istanza del notebook deve disporre di connettività Internet per scaricare il programma di installazione di Miniconda e ipykernel. -
Esegui questo comando per contrassegnare lo script come eseguibile ed eseguirlo:
chmod +x custom-script.sh ./custom-script.sh -
Al termine dell'installazione, arresta l'istanza del notebook.
-
Aggiungi lo script all'avvio al file .sh. Per copiare lo script, consulta amazon-sagemaker-notebook-instance-lifecycle-config-samples sul sito web GitHub.
-
Nell'istanza del notebook arrestata, aggiungi lo script all'avvio come configurazione del ciclo di vita. Ogni volta che avvii l'istanza del notebook, lo script rende l'ambiente personalizzato disponibile come kernel in Jupyter.
-
Avvia l'istanza del notebook, quindi installa le librerie personalizzate nell'ambiente personalizzato.
Ad esempio, per installare pyarrow, esegui questo comando:import sys !conda install --yes --prefix {sys.prefix} -c conda-forge pyarrow
Se arresti e avvii l'istanza del notebook, l'ambiente e le librerie Conda personalizzati sono ancora disponibili. Non serve installarli nuovamente.
Se ricevi un messaggio di errore indicante che devi aggiornare Conda, esegui questi comandi:
!conda install -p "/home/ec2-user/anaconda3" "conda>=4.8" --yes !conda install -p "/home/ec2-user/SageMaker/custom-miniconda/miniconda" "conda>=4.8" --yes
Al termine dell'installazione di Conda, installa le librerie.
Crea un notebook Neptune e configura le policy e le connessioni
Quando crei un notebook in Amazon Neptune, Neptune utilizza una configurazione del ciclo di vita predefinita che punta a un oggetto S3, ad esempio aws s3 cp s3://aws-neptune-notebook/graph_notebook.tar.gz /tmp/graph_notebook.tar.gz. Il ruolo AWS Identity and Access Management (AWS IAM) di Neptune deve avere una policy di autorizzazione che conceda le azioni s3:GetObject e s3:ListBucket per le risorse arn:aws:s3:::aws-neptune-notebook e arn:aws:s3:::aws-neptune-notebook/.
Il ruolo IAM di Neptune deve inoltre avere una policy di attendibilità che conceda a SageMaker AI l'azione AssumeRole. Ad esempio, hai attivato l'autenticazione del database IAM sul cluster di database associato al notebook. Il ruolo IAM deve avere una policy di autorizzazione che conceda l'azione neptune-db: per il cluster di database associato.
Se utilizzi un cloud privato virtuale (VPC) per connettere il notebook Neptune a Internet, devi collegare un gateway NAT al VPC. Inoltre, devi configurare i gruppi di sicurezza per consentire l'accesso Internet ad Amazon S3 e PyPI (Python Package Index). Per ulteriori informazioni su PyPI, consulta sito web Python Package Index.
Nota: per risolvere i problemi relativi agli script di configurazione del ciclo di vita, utilizza Amazon CloudWatch Logs. Puoi trovare i log nelle seguenti posizioni:
- gruppo di log: /aws/sagemaker/NotebookInstances
- flusso di log: example_notebook_instance_name/LifecycleConfigOnStart
Informazioni correlate
- Argomenti
- Machine Learning & AIStorage
- Lingua
- Italiano
