Dela via


Självstudie: Kom igång med ett Python-skript i Azure Machine Learning (SDK v1, del 1 av 3)

GÄLLER FÖR: Python SDK azureml v1

I den här självstudien kör du ditt första Python-skript i molnet med Azure Machine Learning. Den här självstudien är del 1 i en självstudieserie i två delar.

Den här självstudien undviker komplexiteten i att träna en maskininlärningsmodell. Du kör pythonskriptet "Hello World" i molnet. Du får lära dig hur ett kontrollskript används för att konfigurera och skapa en körning i Azure Machine Learning.

I den här självstudien kommer vi att:

  • Skapa och kör "Hello world!" Python-skript.
  • Skapa ett Python-kontrollskript för att skicka "Hello world!" till Azure Machine Learning.
  • Förstå Azure Machine Learning-begreppen i kontrollskriptet.
  • Skicka in och kör skriptet "Hello world!".
  • Visa dina kodutdata i molnet.

Förutsättningar

Skapa och köra ett Python-skript

I den här självstudien används beräkningsinstansen som utvecklingsdator. Skapa först några mappar och skriptet:

  1. Logga in på Azure Machine Learning-studio och välj din arbetsyta om du uppmanas att göra det.
  2. Till vänster väljer du Notebooks
  3. I verktygsfältet Filer väljer du +och väljer sedan Skapa ny mapp. Skärmbild som visar hur du skapar ett nytt mappverktyg i verktygsfältet.
  4. Ge mappen namnet get-started.
  5. Till höger om mappnamnet använder du ... för att skapa en annan mapp under Komma igång. Skärmbild som visar hur du skapar en undermappsmeny.
  6. Ge den nya mappen namnet src. Använd länken Redigera plats om filplatsen inte är korrekt.
  7. Till höger om mappen src använder du ... för att skapa en ny fil i mappen src .
  8. Ge filen namnet hello.py. Växla filtypen till Python (.py)*.

Kopiera den här koden till filen:

# src/hello.py
print("Hello world!")

Projektmappstrukturen ser nu ut så här:

Mappstrukturen visar hello.py i undermappen src.

Testa skriptet

Du kan köra koden lokalt, vilket i det här fallet betyder på beräkningsinstansen. Att köra kod lokalt har fördelen med interaktiv felsökning av kod.

Om du tidigare har stoppat beräkningsinstansen startar du den nu med verktyget Starta beräkning till höger om listrutan för beräkning. Vänta ungefär en minut tills tillståndet har ändrats till Körs.

Skärmbild som visar hur beräkningsinstansen startas om den stoppas

Välj Spara och kör skript i terminalen för att köra skriptet.

Skärmbild som visar spara och köra skript i terminalverktyget i verktygsfältet

Du ser utdata från skriptet i terminalfönstret som öppnas. Stäng fliken och välj Avsluta för att stänga sessionen.

Skapa ett kontrollskript

Med ett kontrollskript kan du köra skriptet hello.py på olika beräkningsresurser. Du använder kontrollskriptet för att styra hur och var maskininlärningskoden körs.

Välj mappen ... i slutet av kom igång-mappen för att skapa en ny fil. Skapa en Python-fil med namnet run-hello.py och kopiera/klistra in följande kod i filen:

# get-started/run-hello.py
from azureml.core import Workspace, Experiment, Environment, ScriptRunConfig

ws = Workspace.from_config()
experiment = Experiment(workspace=ws, name='day1-experiment-hello')

config = ScriptRunConfig(source_directory='./src', script='hello.py', compute_target='cpu-cluster')

run = experiment.submit(config)
aml_url = run.get_portal_url()
print(aml_url)

Dricks

Om du använde ett annat namn när du skapade beräkningsklustret måste du också justera namnet i koden compute_target='cpu-cluster' .

Förstå koden

Här är en beskrivning av hur kontrollskriptet fungerar:

ws = Workspace.from_config()

Arbetsytan ansluter till din Azure Machine Learning-arbetsyta så att du kan kommunicera med dina Azure Machine Learning-resurser.

experiment = Experiment( ... )

Experiment ger ett enkelt sätt att organisera flera jobb under ett enda namn. Senare kan du se hur experiment gör det enkelt att jämföra mått mellan dussintals jobb.

config = ScriptRunConfig( ... )

ScriptRunConfig omsluter koden hello.py och skickar den till din arbetsyta. Som namnet antyder kan du använda den här klassen för att konfigurera hur du vill att skriptet ska köras i Azure Machine Learning. Den anger också vilket beräkningsmål skriptet körs på. I den här koden är målet det beräkningskluster som du skapade i installationsguiden.

run = experiment.submit(config)

Skickar in skriptet. Den här insändningen kallas för en körning. I v2 har det bytt namn till ett jobb. En körning/ett jobb kapslar in en enda körning av koden. Använd ett jobb för att övervaka skriptförloppet, samla in utdata, analysera resultaten, visualisera mått med mera.

aml_url = run.get_portal_url()

Objektet run ger ett handtag för körningen av koden. Övervaka dess förlopp från Azure Machine Learning-studio med url:en som skrivs ut från Python-skriptet.

Skicka och kör din kod i molnet

  1. Välj Spara och kör skript i terminalen för att köra kontrollskriptet, som i sin tur körs hello.py på beräkningsklustret som du skapade i installationsguiden.

  2. I terminalen kan du bli ombedd att logga in för att autentisera. Kopiera koden och följ länken för att slutföra det här steget.

  3. När du har autentiserats visas en länk i terminalen. Välj länken för att visa jobbet.

Övervaka din kod i molnet i studion

Utdata från skriptet innehåller en länk till studion som ser ut ungefär så här: https://ml.azure.com/experiments/hello-world/runs/<run-id>?wsid=/subscriptions/<subscription-id>/resourcegroups/<resource-group>/workspaces/<workspace-name>.

Följ länken. Först ser du statusen Köad eller Förbereder. Den första körningen tar 5–10 minuter att slutföra. Detta beror på att följande inträffar:

  • En docker-avbildning skapas i molnet
  • Beräkningsklustret ändras från 0 till 1 nod
  • Docker-avbildningen laddas ned till beräkningen.

Efterföljande jobb är snabbare (~15 sekunder) eftersom docker-avbildningen cachelagras på beräkningen. Du kan testa detta genom att skicka koden nedan igen när det första jobbet har slutförts.

Vänta ungefär 10 minuter. Du ser ett meddelande om att jobbet har slutförts. Använd sedan Uppdatera för att se statusändringen till Slutförd. När jobbet är klart går du till fliken Utdata + loggar . Där kan du se en std_log.txt fil i user_logs mappen. Utdata från skriptet finns i den här filen.

Mapparna azureml-logs och system-logs innehåller filer som kan vara användbara när du felsöker fjärrjobb i molnet.

Gå vidare

I den här självstudien tog du ett enkelt "Hello world!"-skript och körde det i Azure. Du såg hur du ansluter till din Azure Machine Learning-arbetsyta, skapar ett experiment och skickar din hello.py kod till molnet.

I nästa självstudie bygger du vidare på dessa lärdomar genom att köra något mer intressant än print("Hello world!").

Kommentar

Om du vill slutföra självstudieserien här och inte gå vidare till nästa steg, kom ihåg att rensa dina resurser.