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
- Végezze el az ebben az oktatóanyag-sorozatban használni kívánt munkaterület és számítási példány létrehozásához szükséges erőforrások létrehozását.
-
- Felhőalapú számítási fürt létrehozása. Nevezze el a "cpu-cluster" nevet, hogy megfeleljen az oktatóanyagban szereplő kódnak.
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:
- Jelentkezzen be az Azure Machine Tanulás studióba, és válassza ki a munkaterületet, ha a rendszer kéri.
- A bal oldalon válassza a Jegyzetfüzetek lehetőséget
- A Fájlok eszköztáron válassza az +Új mappa létrehozása lehetőséget.
- Első lépésként nevezze el a mappát.
- A mappanév jobb oldalán a ... használatával hozzon létre egy másik mappát az első lépések alatt.
- Nevezze el az új mappa src nevét. Ha a fájl helye nem megfelelő, használja a Hely szerkesztése hivatkozást.
- Az src mappa jobb oldalán a ... használatával hozzon létre egy új fájlt az src mappában.
- 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 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.
A szkript futtatásához válassza a Szkript mentése és futtatása a terminálban lehetőséget.
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
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 fut
hello.py
.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.
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.