Installazione di librerie e kernel esterni - Amazon SageMaker

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

Installazione di librerie e kernel esterni

Importante

Attualmente, tutti i pacchetti negli ambienti di istanze notebook sono concessi in licenza per l'uso con Amazon SageMaker e non richiedono licenze commerciali aggiuntive. Tuttavia, questo potrebbe essere soggetto a modifiche in futuro e consigliamo di rivedere 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 nella documentazione di Conda.

Installa ambienti e kernel personalizzati sul EBS volume Amazon dell'istanza notebook. Ciò garantisce che persistano quando si arresta e si riavvia l'istanza del notebook e che le librerie esterne installate non vengano aggiornate. 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. È disponibile un GitHub repository che contiene esempi di script di configurazione del ciclo di vita in Notebook SageMakerInstance Lifecycle 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 - /blob/master/scripts/ /on-start.sh mostrano le migliori pratiche per installare ambienti e kernel su un'istanza di lifecycle-config-samples notebook persistent-conda-ebs. 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 non aggiorna queste librerie quando si arresta e si riavvia l'istanza del notebook, in modo da garantire che l'ambiente personalizzato disponga delle versioni specifiche delle librerie desiderate. 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

SageMaker i notebook supportano i seguenti strumenti di installazione dei pacchetti:

  • installazione conda

  • installazione pip

Puoi installare pacchetti utilizzando i seguenti metodi:

Dall'interno di un notebook puoi utilizzare la sintassi del comando di sistema (le righe che iniziano con!) 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.

Conda

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

Il Deep Learning AMI viene fornito con 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, SageMaker assicura che tutti gli ambienti SageMaker forniti siano corretti. SageMaker non può garantire che i pacchetti installati dall'utente funzionino correttamente.

Nota

Gli utenti di SageMaker AWS Deep Learning AMIs e Amazon EMR possono accedere all'archivio commerciale di Anaconda senza richiedere una licenza commerciale fino al 1 febbraio 2024 quando utilizzano Anaconda in tali servizi. Per qualsiasi utilizzo dell'archivio commerciale Anaconda dopo il 1° febbraio 2024, i clienti sono responsabili della determinazione dei propri requisiti di licenza Anaconda.

Conda ha due metodi per attivare gli ambienti: conda activate/deactivate e source activate/deactivate. Per ulteriori informazioni, consulta Should I use 'conda activate' or 'source activate' in Linux.

SageMaker supporta lo spostamento degli ambienti Conda sul EBS volume Amazon, 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, vedi. 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 da utilizzare EBS

  • Supporta sia conda activate che source activate

Pip

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 per l’ambiente integrato e non è così completo come Conda quando si tratta di pacchetti con dipendenze di librerie native/di sistema. 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.

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 pip da utilizzare EBS

  • Uso di un repository alternativo per installare pacchetti con pip

Non supportato.

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

  • Disinstallazione

  • Downgrade

  • Aggiornamento

Non forniamo supporto per l'installazione di pacchetti tramite yum install o l'installazione di pacchetti R daCRAN.

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.