Configurare un lab per insegnare data science con Python e Jupyter Notebook
Importante
Azure Lab Services verrà ritirato il 28 giugno 2027. Per altre informazioni, vedere la Guida al ritiro.
Questo articolo descrive come configurare una macchina virtuale (VM) modello in Azure Lab Services che include gli strumenti per insegnare agli studenti a usare Jupyter Notebook. Si apprende anche come gli utenti del lab possono connettersi ai notebook nelle loro macchine virtuali.
Jupyter Notebooks è un progetto open-source che consente di combinare facilmente il formato RTF e il codice sorgente Python eseguibile in un unico canvas, noto come notebook. Eseguire un notebook per creare un record lineare di input e di output. Questi output possono includere testo, tabelle di informazioni, grafici a dispersione e altro ancora.
Nota
Questo articolo fa riferimento alle funzionalità disponibili nei piani lab, che hanno sostituito gli account lab.
Prerequisiti
- Per configurare questo lab, è necessario accedere a una sottoscrizione di Azure. Discutere con l'amministratore dell'organizzazione per verificare se è possibile ottenere l'accesso a una sottoscrizione di Azure esistente. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Configurare le impostazioni del piano lab
Dopo aver creato una sottoscrizione di Azure, è possibile creare un piano lab in Azure Lab Services. Per altre informazioni sulla creazione di un nuovo piano lab, vedere Avvio rapido: Configurare le risorse per creare lab. È anche possibile usare un piano lab esistente.
Questo lab usa una delle immagini di Data Science Virtual Machine come immagine della macchina virtuale di base. Queste immagini sono disponibili in Azure Marketplace. Questa opzione consente ai creatori di lab di selezionare l'immagine come immagine di base per il loro lab. È necessario abilitare queste immagini nel piano lab.
Seguire la procedura seguente per abilitare queste immagini di Azure Marketplace disponibili per i creatori di lab.
Selezionare una delle seguenti immagini di Azure Marketplace, in base ai requisiti del sistema operativo:
- Data Science Virtual Machine – Windows Server 2019/Windows Server 2022
- Data Science Virtual Machine – Ubuntu 20.04
In alternativa, creare un'immagine di macchina virtuale personalizzata:
Le immagini di Data Science Virtual Machine in Azure Marketplace sono già configurate con Jupyter Notebooks. Queste immagini includono anche altri strumenti di sviluppo e modellazione per la data science. Se non si ha bisogno di questi strumenti aggiuntivi e si vuole una configurazione leggera con solo i notebook Jupyter, creare un'immagine VM personalizzata. Per un esempio, vedere Installazione di JupyterHub in Azure.
Dopo aver creato l'immagine personalizzata, caricarla in una galleria di calcolo per usarla con Azure Lab Services. Altre informazioni sull'uso della galleria di calcolo in Azure Lab Services .
Creare un lab
Creare un lab per il piano lab:
Per istruzioni su come creare un lab, vedere Esercitazione: Configurare un lab. Specificare le impostazioni lab seguenti:
Impostazioni del lab Valore Virtual machine size (Dimensioni della macchina virtuale) Selezionare Small o Medium per un'installazione di base per accedere a Jupyter Notebook. Selezionare Alternative Small GPU (Compute) per applicazioni a elevato utilizzo di calcolo e a elevato utilizzo di rete usate nelle classi di Intelligenza artificiale e Deep Learning. Immagine di macchina virtuale Scegliere Data Science Virtual Machine – Windows Server 2019, Data Science Virtual Machine – Windows Server 2022o Data Science Virtual Machine – Ubuntu. Impostazioni della macchina virtuale modello Selezionare Usa macchina virtuale senza personalizzazione. Quando si crea un lab con le dimensioni Alternative small GPU (Compute), installare i driver GPU.
Questo processo installa i driver NVIDIA recenti e il toolkit CUDA (Compute Unified Device Architecture), necessari per abilitare il calcolo ad alte prestazioni con la GPU. Per altre informazioni, vedere Configurare un lab con macchine virtuali GPU.
Configurazione macchina del modello
Dopo aver creato un lab, creare un modello di macchina virtuale basato sulle dimensioni della macchina virtuale e sull'immagine scelta. Configurare il modello di macchina virtuale inserendo tutto ciò che si intende fornire agli studenti di questo corso. Per altre informazioni, vedere Creare e gestire un modello in Azure Lab Services.
Le immagini di Data Science VM sono dotate di molti dei framework e degli strumenti di data science necessari per questo tipo di classe. Ad esempio, le immagini includono:
- Jupyter Notebooks: un'applicazione Web che consente ai data scientist di acquisire dati non elaborati, eseguire calcoli e visualizzare i risultati nello stesso ambiente. Viene eseguito localmente nella macchina virtuale modello.
- Visual Studio Code: un ambiente di sviluppo integrato (IDE) che offre un'esperienza interattiva avanzata durante la scrittura e il test di un notebook. Per altre informazioni, vedere Uso dei notebook di Jupyter in Visual Studio Code.
L'immagine Data Science Virtual Machine - Ubuntu è dotata di server X2Go per consentire agli utenti del lab di usare un'esperienza desktop grafica.
Abilitazione degli strumenti per l'uso di GPU
Se si usano le dimensioni di Alternative Small GPU (Compute), è consigliabile verificare che i framework e le librerie di Data Science siano configurati correttamente per l'uso delle GPU. Potrebbe essere necessario installare una versione diversa dei driver NVIDIA e del toolkit CUDA. Per configurare le GPU, consultare la documentazione del framework o della libreria.
Ad esempio, per verificare che TensorFlow usi la GPU, connettersi alla macchina virtuale modello ed eseguire il codice Python-TensorFlow seguente in Jupyter Notebook:
import tensorflow as tf
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
Se l'output di questo codice è simile al risultato seguente, TensorFlow non usa la GPU:
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 15833696144144374634
]
Per indicazioni, vedere il Supporto GPU di TensorFlow. Le indicazioni di TensorFlow riguardano:
- Versione richiesta dei driver NVIDIA
- Versione richiesta del toolkit CUDA
- Istruzioni per installare NVIDIA CUDA Deep Neural Network library (cudDNN)
Dopo aver seguito i passaggi di TensorFlow per configurare la GPU, quando si esegue di nuovo il codice di test, si dovrebbero visualizzare risultati simili all'output seguente.
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 15833696144144374634
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 11154792128
locality {
bus_id: 1
links {
}
}
incarnation: 2659412736190423786
physical_device_desc: "device: 0, name: NVIDIA Tesla K80, pci bus id: 0001:00:00.0, compute capability: 3.7"
]
Fornire notebook per la classe
L'attività successiva consiste nel fornire agli utenti del lab i notebook da usare. È possibile salvare i notebook in locale nella macchina virtuale modello in modo che ogni utente del lab abbia la propria copia.
Per usare notebook di esempio di Azure Machine Learning, vedere come configurare un ambiente con Jupyter Notebook.
Pubblicare il computer modello
Per rendere disponibile la macchina virtuale lab per gli utenti del lab, pubblicare il modello. La macchina virtuale lab include tutti gli strumenti e i notebook locali configurati in precedenza.
Connettersi a Jupyter Notebook
Le sezioni seguenti illustrano diversi modi per consentire agli utenti del lab di connettersi a Jupyter Notebook nella macchina virtuale del lab.
Usare Jupyter Notebook nella macchina virtuale del lab
Gli utenti del lab possono connettersi dal loro computer locale alla macchina virtuale del lab e quindi usare Jupyter Notebook all'interno della macchina virtuale del lab.
Se si usa una macchina virtuale lab basata su Windows, gli utenti del lab possono connettersi alle macchine virtuali del lab tramite Desktop remoto (RDP). Per altre informazioni, vedere come connettersi a una macchina virtuale del lab Windows.
Se si usa una macchina virtuale lab basata su Linux, gli utenti del lab possono connettersi alle macchine virtuali del lab tramite SSH o tramite X2Go. Per altre informazioni, vedere come connettersi a una macchina virtuale del lab Linux.
Tunnel SSH al server Jupyter nella macchina virtuale
Per i lab basati su Linux, è anche possibile connettersi direttamente dal computer locale al server Jupyter all'interno della macchina virtuale lab. Il protocollo SSH abilita il port forwarding tra il computer locale e un server remoto. Questa è la macchina virtuale lab dell'utente. Un'applicazione eseguita su una determinata porta nel server viene sottoposto a tunneling alla porta di mapping nel computer locale.
Seguire questa procedura per configurare un tunnel SSH tra il computer locale di un utente e il server Jupyter nella macchina virtuale del lab:
Passare al sito Web di Azure Lab Services .
Verificare che la macchina virtuale lab basata su Linux sia in esecuzione.
Selezionare l'icona Connetti, >Connetti tramite SSH per ottenere il comando di connessione SSH.
Il comando di connessione SSH è simile all'esempio seguente:
ssh -p 12345 student@ml-lab-00000000-0000-0000-0000-000000000000.eastus2.cloudapp.azure.com
Altre informazioni su come connettersi a una macchina virtuale Linux.
Nel computer locale avviare un terminale o un prompt dei comandi e copiarvi la stringa di connessione SSH. Aggiungere quindi
-L 8888:localhost:8888
alla stringa di comando, che crea il tunnel tra le porte.Il comando finale dovrebbe essere simile all'esempio seguente.
ssh –L 8888:localhost:8888 -p 12345 student@ml-lab-00000000-0000-0000-0000-000000000000.eastus.cloudapp.azure.com
Premere INVIO per eseguire il comando.
Quando richiesto, specificare la password della macchina virtuale del lab per connettersi alla macchina virtuale del lab.
Quando ci si connette alla macchina virtuale, avviare il server Jupyter usando questo comando:
jupyter notebook
Il comando restituisce un URL per il server Jupyter nel terminale. L'URL dovrebbe essere simile all'esempio seguente:
http://localhost:8888/?token=8c09ecfc93e6a8cbedf9c66dffdae19670a64acc1d37
Per connettersi a Jupyter Notebook e lavorarci, incollare questo URL in un browser nel computer locale.
Nota
Visual Studio Code consente anche un'ottima esperienza di editing di Jupyter Notebook.. È possibile seguire le istruzioni su come connettersi a un server Jupyter remoto e usare lo stesso URL del passaggio precedente per connettersi da VS Code anziché dal browser.
Contenuto correlato
In questo articolo si è appreso come creare un lab per una classe Jupyter Notebook e come gli utenti possono collegarsi ai loro notebook sulla macchina virtuale del lab. È possibile usare una configurazione simile per altre classi di Machine Learning.
È ora possibile pubblicare l'immagine modello nel lab. Per altre informazioni, vedere Pubblicare il modello di macchina virtuale.
Durante la configurazione del lab, vedere gli articoli seguenti: