Konfigurera ett labb för att lära ut datavetenskap med Python och Jupyter Notebooks
I den här artikeln beskrivs hur du konfigurerar en virtuell malldator (VM) i Azure Lab Services som innehåller verktyg för att lära eleverna att använda Jupyter Notebooks. Du får också lära dig hur labbanvändare kan ansluta till notebook-filer på sina virtuella datorer.
Jupyter Notebooks är ett projekt med öppen källkod som gör att du enkelt kan kombinera RTF och körbar Python-källkod på en enda arbetsyta, som kallas notebook-fil. Kör en notebook-fil för att skapa en linjär post med indata och utdata. Dessa utdata kan innehålla text, informationstabeller, punktdiagram med mera.
Kommentar
Den här artikeln refererar till funktioner som är tillgängliga i labbplaner, som ersatte labbkonton.
Förutsättningar
- Om du vill konfigurera den här labbuppgiften behöver du åtkomst till en Azure-prenumeration. Diskutera med organisationens administratör för att se om du kan få åtkomst till en befintlig Azure-prenumeration. Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Konfigurera inställningar för labbplan
När du har en Azure-prenumeration kan du skapa en labbplan i Azure Lab Services. Mer information om hur du skapar en ny labbplan finns i Snabbstart: Konfigurera resurser för att skapa labb. Du kan också använda en befintlig labbplan.
I det här labbet används en av Datavetenskap Virtual Machine-avbildningar som basavbildning för virtuella datorer. Dessa avbildningar är tillgängliga på Azure Marketplace. Med det här alternativet kan labbskapare sedan välja avbildningen som basavbildning för sitt labb. Du måste aktivera dessa avbildningar i din labbplan.
Följ de här stegen för att aktivera dessa Azure Marketplace-avbildningar som är tillgängliga för labbskapare.
Välj någon av följande Azure Marketplace-avbildningar, beroende på dina operativsystemkrav:
- Datavetenskap virtuell dator – Windows Server 2019/Windows Server 2022
- Datavetenskap virtuell dator – Ubuntu 20.04
Du kan också skapa en anpassad VM-avbildning:
De Datavetenskap VM-avbildningarna på Azure Marketplace har redan konfigurerats med Jupyter Notebooks. Dessa bilder innehåller även andra utveckling- och modelleringsverktyg för datavetenskap. Om du inte behöver dessa extra verktyg och vill ha en enkel installation med endast Jupyter Notebooks skapar du en anpassad VM-avbildning. Ett exempel finns i Installera JupyterHub på Azure.
När du har skapat den anpassade avbildningen laddar du upp avbildningen till ett beräkningsgalleri för att använda den med Azure Lab Services. Läs mer om hur du använder beräkningsgalleriet i Azure Lab Services.
Skapa ett labb
Skapa ett labb för din labbplan:
Anvisningar om hur du skapar ett labb finns i Självstudie: Konfigurera ett labb. Ange följande labbinställningar:
Labbinställningar Värde Storlek för virtuell dator Välj Liten eller Medel för en grundläggande konfiguration för att få åtkomst till Jupyter Notebooks. Välj Alternativ liten GPU (Beräkning) för beräkningsintensiva och nätverksintensiva program som används i klasser för artificiell intelligens och djupinlärning. Avbildning av virtuell dator Välj Datavetenskap virtuell dator – Windows Server 2019, Datavetenskap Virtual Machine – Windows Server 2022 eller Datavetenskap Virtual Machine – Ubuntu. Mallinställningar för virtuella datorer Välj Använd virtuell dator utan anpassning. När du skapar ett labb med storleken Alternative Small GPU (Compute) installerar du GPU-drivrutiner.
Den här processen installerar de senaste NVIDIA-drivrutinerna och CUDA-verktygen (Compute Unified Device Architecture), som du behöver för att aktivera databehandling med höga prestanda med GPU:n. Mer information finns i Konfigurera ett labb med virtuella GPU-datorer.
Konfiguration av malldator
När du har skapat ett labb skapar du en virtuell malldator som baseras på den virtuella datorstorlek och avbildning som du väljer. Konfigurera den virtuella malldatorn med allt du vill ge eleverna för den här klassen. Mer information finns i Skapa och hantera en mall i Azure Lab Services.
De Datavetenskap VM-avbildningarna levereras med många datavetenskapsramverk och verktyg som krävs för den här typen av klass. Bilderna inkluderar till exempel:
- Jupyter Notebooks: Ett webbprogram som gör att dataforskare kan ta rådata, köra beräkningar och se resultaten i samma miljö. Den körs lokalt på den virtuella malldatorn.
- Visual Studio Code: En integrerad utvecklingsmiljö (IDE) som ger en omfattande interaktiv upplevelse när du skriver och testar en notebook-fil. Mer information finns i Arbeta med Jupyter Notebooks i Visual Studio Code.
Avbildningen Datavetenskap Virtual Machine – Ubuntu etableras med X2Go-servern så att labbanvändare kan använda en grafisk skrivbordsmiljö.
Aktivera verktyg för att använda GPU:er
Om du använder storleken Alternativ liten GPU (Beräkning) rekommenderar vi att du kontrollerar att Datavetenskap ramverk och bibliotek är korrekt konfigurerade för att använda GPU:er. Du kan behöva installera en annan version av NVIDIA-drivrutinerna och CUDA-verktygen. Om du vill konfigurera GPU:er bör du läsa ramverkets eller bibliotekets dokumentation.
Om du till exempel vill verifiera att TensorFlow använder GPU:n ansluter du till den virtuella malldatorn och kör följande Python-TensorFlow-kod i Jupyter Notebooks:
import tensorflow as tf
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
Om utdata från den här koden ser ut som följande resultat använder TensorFlow inte GPU:n:
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 15833696144144374634
]
Information om hur du fortsätter med det här exemplet finns i TensorFlow GPU-stöd . TensorFlow-vägledning omfattar:
- Nödvändig version av NVIDIA-drivrutinerna
- Nödvändig version av CUDA Toolkit
- Instruktioner för att installera NVIDIA CUDA Deep Neural Network-biblioteket (cudDNN)
När du har följt TensorFlows steg för att konfigurera GPU:n bör du se resultat som liknar följande utdata när du kör testkoden igen.
[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"
]
Ange notebook-filer för klassen
Nästa uppgift är att ge labbanvändare notebook-filer som du vill att de ska använda. Du kan spara notebook-filer lokalt på den virtuella malldatorn så att varje labbanvändare har en egen kopia.
Om du vill använda exempelanteckningsböcker från Azure Machine Learning kan du läsa om hur du konfigurerar en miljö med Jupyter Notebooks.
Publicera malldatorn
Publicera mallen för att göra den virtuella labbdatorn tillgänglig för labbanvändare. Den virtuella labbdatorn har alla lokala verktyg och notebook-filer som du konfigurerade tidigare.
Ansluta till Jupyter Notebooks
Följande avsnitt visar olika sätt för labbanvändare att ansluta till Jupyter Notebooks på den virtuella labbdatorn.
Använda Jupyter Notebooks på den virtuella labbdatorn
Labbanvändare kan ansluta från sin lokala dator till den virtuella labbdatorn och sedan använda Jupyter Notebooks i den virtuella labbdatorn.
Om du använder en Windows-baserad virtuell labbdator kan labbanvändare ansluta till sina virtuella labbdatorer via fjärrskrivbord (RDP). Mer information finns i hur du ansluter till en virtuell Windows-labbdator.
Om du använder en Linux-baserad virtuell labbdator kan labbanvändare ansluta till sina virtuella labbdatorer via SSH eller med hjälp av X2Go. Mer information finns i hur du ansluter till en virtuell Linux-labbdator.
SSH-tunnel till Jupyter-servern på den virtuella datorn
För Linux-baserade labb kan du också ansluta direkt från din lokala dator till Jupyter-servern på den virtuella labbdatorn. SSH-protokollet möjliggör portvidarebefordring mellan den lokala datorn och en fjärrserver. Det här är användarens virtuella labbdator. Ett program som körs på en viss port på servern dirigeras till mappningsporten på den lokala datorn.
Följ dessa steg för att konfigurera en SSH-tunnel mellan en användares lokala dator och Jupyter-servern på den virtuella labbdatorn:
Gå till Webbplatsen för Azure Lab Services.
Kontrollera att den Linux-baserade virtuella labbdatorn körs.
Välj ikonen >Anslut anslut via SSH för att hämta SSH-anslutningskommandot.
SSH-anslutningskommandot ser ut som i följande exempel:
ssh -p 12345 student@ml-lab-00000000-0000-0000-0000-000000000000.eastus2.cloudapp.azure.com
Läs mer om hur du ansluter till en virtuell Linux-dator.
Starta en terminal eller kommandotolk på den lokala datorn och kopiera SSH-anslutningssträng till den. Lägg sedan till
-L 8888:localhost:8888
i kommandosträngen, som skapar tunneln mellan portarna.Det slutliga kommandot bör se ut som i följande exempel.
ssh –L 8888:localhost:8888 -p 12345 student@ml-lab-00000000-0000-0000-0000-000000000000.eastus.cloudapp.azure.com
Kör kommandot genom att trycka på Retur .
När du uppmanas till det anger du lösenordet för den virtuella labbdatorn för att ansluta till den virtuella labbdatorn.
När du ansluter till den virtuella datorn startar du Jupyter-servern med det här kommandot:
jupyter notebook
Kommandot matar ut en URL för Jupyter-servern i terminalen. URL:en bör se ut så här:
http://localhost:8888/?token=8c09ecfc93e6a8cbedf9c66dffdae19670a64acc1d37
Om du vill ansluta till din Jupyter Notebook och arbeta med den klistrar du in den här URL:en i en webbläsare på den lokala datorn.
Kommentar
Visual Studio Code möjliggör också en bra Jupyter Notebook-redigeringsupplevelse. Du kan följa anvisningarna om hur du ansluter till en fjärransluten Jupyter-server och använder samma URL från föregående steg för att ansluta från VS Code i stället för från webbläsaren.
Uppskatta kostnad
Det här avsnittet innehåller en kostnadsuppskattning för att köra den här klassen för 25 labbanvändare. Det finns 20 timmars schemalagd klasstid. Dessutom får varje användare 10 timmars kvot för läxor eller tilldelningar utanför schemalagd klasstid. Den valda VM-storleken var en alternativ liten GPU (beräkning), som är 139 labbenheter. Om du vill använda små (20 labbenheter) eller Medelstorlek (42 labbenheter) kan du ersätta labbenhetsdelen i ekvationen här med rätt tal.
Här är ett exempel på en möjlig kostnadsuppskattning för den här klassen: 25 lab users * (20 scheduled hours + 10 quota hours) * 139 lab units * 0.01 USD per hour = 1042.5 USD
.
Viktigt!
Den här kostnadsuppskattningen är endast i exempelsyfte. Aktuell information om priser finns i Prissättning för Azure Lab Services.
Relaterat innehåll
I den här artikeln har du lärt dig hur du skapar ett labb för en Jupyter Notebooks-klass och hur användaren kan ansluta till sina notebook-filer på den virtuella labbdatorn. Du kan använda en liknande konfiguration för andra maskininlärningsklasser.
Mallbilden kan nu publiceras i labbet. Mer information finns i Publicera den virtuella malldatorn.
När du konfigurerar labbuppgiften kan du läsa följande artiklar: