Share via


Oktatóanyag: Python-szkript használatának első lépései az Azure Machine Tanulás-ben (SDK v1, 1. rész 3)

ÉRVÉNYES:Python SDK azureml v1

Ebben az oktatóanyagban az első Python-szkriptet futtatja a felhőben az Azure Machine Tanulás. Ez az oktatóanyag egy kétrészes oktatóanyag-sorozat 1. része.

Ez az oktatóanyag elkerüli a gépi tanulási modellek betanításának összetettségét. Egy ""Helló világ!" alkalmazás" Python-szkriptet fog futtatni a felhőben. Megtudhatja, hogyan konfigurálható és hozható létre futtatás az Azure Machine-Tanulás vezérlőszkripttel.

Az oktatóanyag során az alábbi lépéseket fogja végrehajtani:

  • "Hello world!" létrehozása és futtatása Python-szkript.
  • Hozzon létre egy Python-vezérlőszkriptet a "Hello world!" elküldéséhez az Azure Machine Tanulás.
  • Ismerje meg az Azure Machine Tanulás vezérlőszkriptben szereplő fogalmait.
  • Küldje el és futtassa a "Hello world!" szkriptet.
  • A kód kimenetének megtekintése a felhőben.

Előfeltételek

Python-szkript létrehozása és futtatása

Ez az oktatóanyag a számítási példányt használja fejlesztési számítógépként. Először hozzon létre néhány mappát és a szkriptet:

  1. Jelentkezzen be az Azure Machine Tanulás studióba, és válassza ki a munkaterületet, ha a rendszer kéri.
  2. A bal oldalon válassza a Jegyzetfüzetek lehetőséget
  3. A Fájlok eszköztáron válassza az +Új mappa létrehozása lehetőséget. Képernyőkép: új mappaeszköz létrehozása az eszköztáron.
  4. Első lépésként nevezze el a mappát.
  5. A mappanév jobb oldalán a ... használatával hozzon létre egy másik mappát az első lépések alatt. Képernyőkép: Almappák létrehozása menü.
  6. Nevezze el az új mappa src nevét. Ha a fájl helye nem megfelelő, használja a Hely szerkesztése hivatkozást.
  7. Az src mappa jobb oldalán a ... használatával hozzon létre egy új fájlt az src mappában.
  8. Nevezze el a fájlt hello.py. A fájltípusváltása Pythonra (.py)*.

Másolja a kódot a fájlba:

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

A projektmappa struktúrája a következőképpen fog kinézni:

A mappaszerkezet az src almappában hello.py jeleníti meg.

A szkript tesztelése

A kódot helyileg is futtathatja, ami ebben az esetben a számítási példányt jelenti. A kód helyi futtatásának előnye a kód interaktív hibakeresése.

Ha korábban leállította a számítási példányt, indítsa el most a számítási eszköz elindításával a számítási legördülő menü jobb oldalán. Várjon körülbelül egy percet, amíg az állapot futásra változik.

Képernyőkép a számítási példány leállításáról

A szkript futtatásához válassza a Szkript mentése és futtatása a terminálban lehetőséget.

Képernyőkép: szkript mentése és futtatása a termináleszközben az eszköztáron

A szkript kimenete a megnyíló terminálablakban jelenik meg. Zárja be a lapot, és a Munkamenet bezárásához válassza a Leállítás lehetőséget.

Vezérlőszkript létrehozása

A vezérlőszkripttel különböző számítási erőforrásokon futtathatja a hello.py szkriptet. A vezérlőszkripttel szabályozhatja a gépi tanulási kód futtatásának módját és helyét.

Új fájl létrehozásához válassza ki a ... elemet az első lépések mappa végén. Hozzon létre egy Run-hello.py nevű Python-fájlt, és másolja/illessze be a következő kódot a fájlba:

# 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)

Tipp.

Ha a számítási fürt létrehozásakor más nevet használt, ügyeljen arra, hogy a kódban compute_target='cpu-cluster' is módosítsa a nevet.

A kód értelmezése

Íme egy leírás a vezérlőszkript működéséről:

ws = Workspace.from_config()

A munkaterület az Azure Machine Tanulás-munkaterülethez csatlakozik, így kommunikálhat az Azure Machine-Tanulás erőforrásaival.

experiment = Experiment( ... )

A kísérlet segítségével egyszerűen rendszerezhet több feladatot egyetlen név alatt. Később megtudhatja, hogy a kísérletek hogyan teszik egyszerűvé a metrikák összehasonlítását több tucat feladat között.

config = ScriptRunConfig( ... )

A ScriptRunConfig körbefuttatja a hello.py kódot, és átadja a munkaterületnek. Ahogy a neve is sugallja, ezzel az osztályval konfigurálhatja, hogyan szeretné futtatni a szkriptetaz Azure Machine Tanulás. Azt is meghatározza, hogy a szkript milyen számítási célon fut. Ebben a kódban a cél a beállítási oktatóanyagban létrehozott számítási fürt.

run = experiment.submit(config)

Elküldi a szkriptet. Ezt a beküldést futtatásnak nevezzük. A v2-ben a rendszer átnevezte egy feladatra. A futtatás/feladat a kód egyetlen végrehajtását foglalja magában. Feladat használatával figyelheti a szkript előrehaladását, rögzítheti a kimenetet, elemezheti az eredményeket, vizualizálhatja a metrikákat stb.

aml_url = run.get_portal_url()

Az run objektum egy leírót biztosít a kód végrehajtásához. Figyelje meg a folyamat előrehaladását az Azure Machine Tanulás studióból a Python-szkriptből kinyomtatott URL-címmel.

A kód elküldése és futtatása a felhőben

  1. Válassza a Szkript mentése és futtatása a terminálban lehetőséget a vezérlőszkript futtatásához, amely viszont a beállítási oktatóanyagban létrehozott számítási fürtön futhello.py.

  2. Előfordulhat, hogy a terminálon a hitelesítéshez be kell jelentkeznie. Másolja ki a kódot, és kövesse a hivatkozást a lépés végrehajtásához.

  3. A hitelesítés után megjelenik egy hivatkozás a terminálban. Kattintson a hivatkozásra a feladat megtekintéséhez.

Kód monitorozása a felhőben a stúdióban

A szkript kimenete egy, a stúdióra mutató hivatkozást tartalmaz, amely a következőképpen néz ki: https://ml.azure.com/experiments/hello-world/runs/<run-id>?wsid=/subscriptions/<subscription-id>/resourcegroups/<resource-group>/workspaces/<workspace-name>.

Kövesse a hivatkozást. Először megjelenik az üzenetsorba helyezett vagy az előkészítés állapota. Az első futtatás 5-10 percet vesz igénybe. Ennek az az oka, hogy a következők történnek:

  • Docker-rendszerkép készült a felhőben
  • A számítási fürt átméretezése 0 és 1 csomópont között történik
  • A rendszer letölti a Docker-rendszerképet a számításba.

A további feladatok gyorsabbak (~15 másodperc), mivel a Docker-rendszerkép gyorsítótárazva van a számításban. Ezt az alábbi kód újbóli elküldésével tesztelheti, miután az első feladat befejeződött.

Várjon körülbelül 10 percet. Megjelenik egy üzenet, amely szerint a feladat befejeződött. Ezután a Frissítés parancsot használva megtekintheti, hogy az állapot befejeződött-e. A feladat befejezése után lépjen a Kimenetek + naplók lapra. Itt egy fájl látható std_log.txt a user_logs mappában. A szkript kimenete ebben a fájlban található.

A azureml-logs mappák olyan system-logs fájlokat tartalmaznak, amelyek hasznosak lehetnek a távoli feladatok felhőbeli hibakeresése során.

Következő lépés

Ebben az oktatóanyagban egy egyszerű "Hello world!" szkriptet készített, és futtatta az Azure-ban. Látta, hogyan csatlakozhat az Azure Machine Tanulás-munkaterülethez, hogyan hozhat létre kísérletet, és hogyan küldheti el a hello.py kódot a felhőbe.

A következő oktatóanyagban ezekre a tanulásokra épít, ha valami érdekesebbet futtat, mint print("Hello world!")a .

Feljegyzés

Ha itt szeretné befejezni az oktatóanyag-sorozatot, és nem szeretne továbblépni a következő lépésre, ne felejtse el megtisztítani az erőforrásokat.