Condividi tramite


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

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:

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:

  1. Passare al sito Web di Azure Lab Services .

  2. Verificare che la macchina virtuale lab basata su Linux sia in esecuzione.

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

  4. 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
    
  5. Premere INVIO per eseguire il comando.

  6. Quando richiesto, specificare la password della macchina virtuale del lab per connettersi alla macchina virtuale del lab.

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

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: