Felsöka jobb och övervaka träningsförlopp
Maskininlärningsmodellträning är en iterativ process och kräver betydande experimentering. Med den interaktiva jobbupplevelsen i Azure Machine Learning kan dataexperter använda Azure Machine Learning Python SDK, Azure Machine Learning CLI eller Azure Studio för att få åtkomst till containern där deras jobb körs. När jobbcontainern har använts kan användarna iterera på träningsskript, övervaka träningsförloppet eller felsöka jobbet på distans som de vanligtvis gör på sina lokala datorer. Jobb kan interageras med via olika utbildningsprogram, inklusive JupyterLab, TensorBoard, VS Code eller genom att ansluta till jobbcontainern direkt via SSH.
Interaktiv utbildning stöds i Azure Machine Learning Compute Clusters och Azure Arc-aktiverade Kubernetes-kluster.
Förutsättningar
- Läs komma igång med utbildning i Azure Machine Learning.
- Mer information finns i den här länken för VS Code för att konfigurera Azure Machine Learning-tillägget.
- Kontrollera att jobbmiljön har paketen
openssh-server
ochipykernel ~=6.0
installerade (alla Azure Machine Learning-kuraterade träningsmiljöer har dessa paket installerade som standard). - Interaktiva program kan inte aktiveras på distribuerade träningskörningar där distributionstypen är något annat än PyTorch, TensorFlow eller MPI. Anpassad distribuerad träningskonfiguration (konfigurera träning med flera noder utan att använda ovanstående distributionsramverk) stöds inte för närvarande.
- Om du vill använda SSH behöver du ett SSH-nyckelpar. Du kan använda
ssh-keygen -f "<filepath>"
kommandot för att generera ett offentligt och privat nyckelpar.
Interagera med din jobbcontainer
Genom att ange interaktiva program när jobbet skapas kan du ansluta direkt till containern på beräkningsnoden där jobbet körs. När du har åtkomst till jobbcontainern kan du testa eller felsöka jobbet i exakt samma miljö där det skulle köras. Du kan också använda VS Code för att ansluta till den process som körs och felsöka på samma sätt som lokalt.
Aktivera under jobböverföring
Skapa ett nytt jobb från det vänstra navigeringsfönstret i studioportalen.
Välj Beräkningskluster eller Ansluten beräkning (Kubernetes) som beräkningstyp, välj beräkningsmål och ange hur många noder du behöver i
Instance count
.
Följ guiden för att välja den miljö som du vill starta jobbet i.
I steget Träningsskript lägger du till träningskoden (och indata/utdata) och refererar till den i kommandot för att se till att den är monterad på jobbet.
Du kan placera sleep <specific time>
i slutet av kommandot för att ange hur lång tid du vill reservera beräkningsresursen. Formatet följer:
- sömn 1s
- viloläge 1 m
- sömn 1h
- sömn 1d
Du kan också använda kommandot sleep infinity
som skulle hålla jobbet vid liv på obestämd tid.
Kommentar
Om du använder sleep infinity
måste du avbryta jobbet manuellt för att släppa beräkningsresursen (och stoppa faktureringen).
- I Beräkningsinställningar expanderar du alternativet för Utbildningsprogram. Välj minst ett träningsprogram som du vill använda för att interagera med jobbet. Om du inte väljer ett program är felsökningsfunktionen inte tillgänglig.
- Granska och skapa jobbet.
Ansluta till slutpunkter
Om du vill interagera med ditt jobb som körs väljer du knappen Felsöka och övervaka på jobbinformationssidan.
När du klickar på programmen i panelen öppnas en ny flik för programmen. Du kan bara komma åt programmen när de har statusEn Körs och endast jobbägaren har behörighet att komma åt programmen. Om du tränar på flera noder kan du välja den nod som du vill interagera med.
Det kan ta några minuter att starta jobbet och de utbildningsprogram som angavs när jobbet skapades.
Interagera med programmen
När du väljer på slutpunkterna att interagera när jobbet, du tas till användarcontainern under din arbetskatalog, där du kan komma åt din kod, indata, utdata och loggar. Om du stöter på problem när du ansluter till programmen kan du hitta de interaktiva funktions- och programloggarna från system_logs-interactive_capability> under fliken Utdata + loggar.
Du kan öppna en terminal från Jupyter Lab och börja interagera i jobbcontainern. Du kan också iterera direkt i ditt träningsskript med Jupyter Lab.
Du kan också interagera med jobbcontainern i VS Code. Om du vill koppla ett felsökningsprogram till ett jobb under jobböverföringen och pausa körningen navigerar du hit.
Kommentar
Privata länkaktiverade arbetsytor stöds för närvarande inte när du interagerar med jobbcontainern med VS Code.
Om du har loggat tensorflow-händelser för ditt jobb kan du använda TensorBoard för att övervaka måtten när jobbet körs.
Avsluta jobb
När du är klar med den interaktiva utbildningen kan du också gå till sidan med jobbinformation för att avbryta jobbet, vilket frigör beräkningsresursen. Du kan också använda az ml job cancel -n <your job name>
i CLI eller ml_client.job.cancel("<job name>")
i SDK.
Koppla ett felsökningsprogram till ett jobb
Om du vill skicka ett jobb med ett kopplat felsökningsprogram och körningen har pausats kan du använda felsökning och VS Code (debugpy
måste installeras i din jobbmiljö).
Kommentar
Privata länkaktiverade arbetsytor stöds för närvarande inte när du kopplar ett felsökningsprogram till ett jobb i VS Code.
- Under jobböverföring (antingen via användargränssnittet, CLI eller SDK) använder du felsökningskommandot för att köra python-skriptet. Följande skärmbild visar till exempel ett exempelkommando som använder felsökning för att bifoga felsökningsprogrammet för ett tensorflow-skript (
tfevents.py
kan ersättas med namnet på ditt träningsskript).
När jobbet har skickats ansluter du till VS Code och väljer det inbyggda felsökningsprogrammet.
Använd felsökningskonfigurationen "Fjärranslutning" för att ansluta till det skickade jobbet och skicka sökvägen och porten som du konfigurerade i kommandot för jobböverföring. Du hittar även den här informationen på sidan med jobbinformation.
Ange brytpunkter och gå igenom jobbkörningen på samma sätt som i ditt lokala arbetsflöde för felsökning.
Kommentar
Om du använder felsökning för att starta jobbet körs inte jobbet om du inte bifogar felsökningsprogrammet i VS Code och kör skriptet. Om detta inte är klart reserveras beräkningen tills jobbet avbryts.
Nästa steg
- Läs mer om hur och var du distribuerar en modell.