Mi a Pythonhoz készült Azure Machine Learning SDK v1?
Fontos
Ez a cikk az Azure Machine Learning SDK 1-ről szól, amely nem az aktuális SDK. Az SDK jelenlegi verziója az Azure Machine Learning Python SDK v2
Az adattudósok és az AI-fejlesztők az Azure Machine Learning SDK v1 for Python használatával hozhatnak létre és futtathatnak gépi tanulási munkafolyamatokat az Azure Machine Learning szolgáltatás
Az SDK főbb területei a következők:
- A gépi tanulási kísérletekben használt adathalmazok életciklusának megismerése, előkészítése és kezelése.
- Felhőbeli erőforrások kezelése a gépi tanulási kísérletek monitorozásához, naplózásához és rendszerezéséhez.
- Modellek betanítása helyileg vagy felhőbeli erőforrások használatával, beleértve a GPU-gyorsított modell betanítását.
- Használjon automatizált gépi tanulást, amely elfogadja a konfigurációs paramétereket és a betanítási adatokat. Automatikusan iterál algoritmusokkal és hiperparaméter-beállításokkal, hogy megtalálja a legjobb modellt az előrejelzések futtatásához.
- Webszolgáltatások üzembe helyezése a betanított modellek RESTful-szolgáltatásokká alakításához, amelyek bármely alkalmazásban felhasználhatók.
Az első lépések részletes útmutatójához próbálja ki a oktatóanyagot.
Az alábbi szakaszok áttekintést nyújtanak az SDK néhány legfontosabb osztályáról, valamint a használatuk gyakori tervezési mintáiról. Az SDK beszerzéséhez tekintse meg a telepítési útmutatóját.
Stabil és kísérleti
A Pythonhoz készült Azure Machine Learning SDK stabil és kísérleti funkciókat is biztosít ugyanabban az SDK-ban.
Funkció/képesség állapota | Leírás |
---|---|
Stabil funkciók |
Üzemkész Ezek a funkciók a legtöbb használati esethez és éles környezethez ajánlottak. Ezek ritkábban frissülnek, mint a kísérleti funkciók. |
Kísérleti funkciók |
Fejlesztési Ezek a funkciók olyan újonnan kifejlesztett képességek, & olyan frissítések, amelyek nem állnak készen vagy nem tesztelhetők teljes mértékben éles használatra. Bár a funkciók általában működőképesek, néhány kompatibilitástörő módosítást is tartalmazhatnak. A kísérleti funkciók az SDK kompatibilitástörő hibáinak kivédésére szolgálnak, és csak a tesztelési időszak alatt kapnak frissítéseket. A kísérleti funkciókat előzetes verzióbanfunkcióknak is nevezik. Ahogy a név is jelzi, a kísérleti (előzetes verzió) funkciók kísérletezéshez használhatók, és nem tekinthető hibamentesnek vagy stabilnak. Ezért csak azoknak a haladó felhasználóknak ajánljuk a kísérleti funkciókat, akik szeretnék kipróbálni a képességek és frissítések korai verzióit, és részt kívánnak venni a hibák és hibák jelentésében. |
A kísérleti funkciókat az SDK-referencia megjegyzés szakasza jelöli, és szöveggel jelöli, például (előzetes verzió)Azure Machine Learning dokumentációjában.
Munkaterület
névtér: azureml.core.workspace.Workspace
A Workspace
osztály egy alapvető erőforrás a felhőben, amelyet gépi tanulási modellek kísérletezésére, betanítására és üzembe helyezésére használ. Az Azure-előfizetést és az erőforráscsoportot egy könnyen felhasznált objektumhoz konfigurálja.
Tekintse meg munkaterület-létrehozási módszer összes paraméterét, a meglévő példányok (Storage, Key Vault, App-Insights és Azure Container Registry-ACR) újrafelhasználásához, valamint további beállítások, például a privát végpont konfigurációja és a számítási cél módosítása.
Importálja az osztályt, és hozzon létre egy új munkaterületet az alábbi kód használatával. Állítsa create_resource_group
False
, ha a munkaterülethez korábban már használt Azure-erőforráscsoportot szeretne használni. Egyes függvények kérhetik az Azure-hitelesítési hitelesítő adatokat.
from azureml.core import Workspace
ws = Workspace.create(name='myworkspace',
subscription_id='<azure-subscription-id>',
resource_group='myresourcegroup',
create_resource_group=True,
location='eastus2'
)
Ugyanazt a munkaterületet több környezetben is használhatja, ha először egy konfigurációs JSON-fájlba írja. Ez menti az előfizetés, az erőforrás és a munkaterület névadatait.
ws.write_config(path="./file-path", file_name="ws_config.json")
Töltse be a munkaterületet a konfigurációs fájl olvasásával.
from azureml.core import Workspace
ws_other_environment = Workspace.from_config(path="./file-path/ws_config.json")
Másik lehetőségként használja a statikus get()
metódust egy meglévő munkaterület konfigurációs fájlok használata nélküli betöltéséhez.
from azureml.core import Workspace
ws = Workspace.get(name="myworkspace", subscription_id='<azure-subscription-id>', resource_group='myresourcegroup')
A ws
változó egy Workspace
objektumot jelöl az alábbi kód példákban.
Kísérlet
névtér: azureml.core.experiment.Experiment
A Experiment
osztály egy másik alapszintű felhőerőforrás, amely próbaverziók gyűjteményét jelöli (egyéni modellfuttatások). Az alábbi kód egy Experiment
objektumot hív le Workspace
név alapján, vagy létrehoz egy új Experiment
objektumot, ha a név nem létezik.
from azureml.core.experiment import Experiment
experiment = Experiment(workspace=ws, name='test-experiment')
Futtassa az alábbi kódot a Workspace
található Experiment
objektumok listájának lekéréséhez.
list_experiments = Experiment.list(ws)
A get_runs
függvénnyel lekérheti Run
objektumok (kísérletek) listáját Experiment
. Az alábbi kód lekéri a futtatásokat, és kinyomtatja az egyes futtatási azonosítókat.
list_runs = experiment.get_runs()
for run in list_runs:
print(run.id)
A kísérlet próbaverziója kétféleképpen hajtható végre. Ha interaktívan kísérletezik egy Jupyter-jegyzetfüzetben, használja a start_logging
függvényt. Ha standard Python-környezetből küld be kísérletet, használja a submit
függvényt. Mindkét függvény egy Run
objektumot ad vissza. A experiment
változó egy Experiment
objektumot jelöl az alábbi kód példákban.
Fut
névtér: azureml.core.run.Run
A futtatás egy kísérlet egyetlen próbaverzióját jelenti.
Run
a próbaverzió aszinkron végrehajtásának figyeléséhez, a próbaverzió kimenetének tárolásához, az eredmények elemzéséhez és a létrehozott összetevők eléréséhez használt objektum. A kísérletezési kódban Run
használatával naplózhatja a metrikákat és összetevőket a Futtatási előzmények szolgáltatásban. A funkciók a következők:
- Metrikák és adatok tárolása és lekérése.
- Címkék és gyermekhierarchia használata a korábbi futtatások egyszerű kereséséhez.
- Tárolt modellfájlok regisztrálása üzembe helyezéshez.
- Futtatás tulajdonságainak tárolása, módosítása és beolvasása.
Hozzon létre egy Run
objektumot úgy, hogy elküld egy Experiment
objektumot egy futtatási konfigurációs objektummal. A tags
paraméter használatával egyéni kategóriákat és címkéket csatolhat a futtatásokhoz. Később könnyen megtalálhatja és lekérheti őket Experiment
.
tags = {"prod": "phase-1-model-tests"}
run = experiment.submit(config=your_config_object, tags=tags)
A statikus list
függvénnyel lekérheti az összes Run
objektum listáját Experiment
. Adja meg a korábban létrehozott címke alapján szűrni kívánt tags
paramétert.
from azureml.core.run import Run
filtered_list_runs = Run.list(experiment, tags=tags)
A futtatás részletes kimenetének lekéréséhez használja a get_details
függvényt.
run_details = run.get_details()
A függvény kimenete egy szótár, amely a következőket tartalmazza:
- Futtatási azonosító
- Állapot
- Kezdési és befejezési idő
- Számítási cél (helyi és felhőbeli)
- A futtatás során használt függőségek és verziók
- Betanításspecifikus adatok (a modell típusától függően eltérőek)
A futtatások konfigurálására és monitorozására vonatkozó további példákért tekintse meg a útmutatót.
Modell
névtér: azureml.core.model.Model
A Model
osztály a gépi tanulási modellek felhőbeli reprezentációinak kezelésére szolgál. A metódusok segítenek a modellek átvitelében a helyi fejlesztési környezetek és a felhőben található Workspace
objektum között.
A modellregisztrációval a modelleket az Azure-felhőben, a munkaterületen tárolhatja és verziószámezheti. A regisztrált modelleket név és verzió alapján azonosítjuk. Minden alkalommal, amikor egy meglévővel azonos nevű modellt regisztrál, a beállításjegyzék növeli a verziót. Az Azure Machine Learning minden olyan modellt támogat, amely a Python 3-on keresztül tölthető be, nem csak az Azure Machine Learning-modelleket.
Az alábbi példa bemutatja, hogyan hozhat létre egyszerű helyi besorolási modellt scikit-learn
, hogyan regisztrálhatja a modellt a Workspace
, és hogyan töltheti le a modellt a felhőből.
Hozzon létre egy egyszerű osztályozót, clf
, hogy előrejelezhesse az ügyfelek változását az életkoruk alapján. Ezután a modellt egy .pkl
fájlba kell kiképezni ugyanabban a könyvtárban.
from sklearn import svm
import joblib
import numpy as np
# customer ages
X_train = np.array([50, 17, 35, 23, 28, 40, 31, 29, 19, 62])
X_train = X_train.reshape(-1, 1)
# churn y/n
y_train = ["yes", "no", "no", "no", "yes", "yes", "yes", "no", "no", "yes"]
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X_train, y_train)
joblib.dump(value=clf, filename="churn-model.pkl")
A register
függvénnyel regisztrálhatja a modellt a munkaterületen. Adja meg a helyi modell elérési útját és a modell nevét. Ha többször regisztrálja ugyanazt a nevet, új verziót hoz létre.
from azureml.core.model import Model
model = Model.register(workspace=ws, model_path="churn-model.pkl", model_name="churn-model-test")
Most, hogy a modell regisztrálva lett a munkaterületen, egyszerűen kezelheti, letöltheti és rendszerezheti a modelleket. Ha egy modellobjektumot (például egy másik környezetben) szeretne lekérni Workspace
, használja az osztálykonstruktort, és adja meg a modell nevét és a választható paramétereket. Ezután töltse le a modellt a download
függvénnyel, beleértve a felhőmappa struktúráját is.
from azureml.core.model import Model
import os
model = Model(workspace=ws, name="churn-model-test")
model.download(target_dir=os.getcwd())
A delete
függvénnyel távolítsa el a modellt a Workspace
.
model.delete()
Miután regisztrált egy modellt, a webszolgáltatásként való üzembe helyezés egyszerű folyamat. Először létrehozni és regisztrálni egy lemezképet. Ez a lépés konfigurálja a Python-környezetet és annak függőségeit, valamint egy szkriptet a webszolgáltatás kéréseinek és válaszformátumainak meghatározásához. A rendszerkép létrehozása után létrehozni egy üzembe helyezési konfigurációs, amely beállítja a számítási cél processzormagjait és memóriaparamétereit. Ezután csatolja a képet.
ComputeTarget, RunConfiguration és ScriptRunConfig
névtér: azureml.core.compute.ComputeTarget
névtér: azureml.core.runconfig.RunConfiguration
névtér: azureml.core.script_run_config.ScriptRunConfig
A ComputeTarget
osztály a számítási célok létrehozására és kezelésére szolgáló absztrakt szülőosztály. A számítási célok számos olyan erőforrást jelölnek, amelyek betanítása lehetővé teszi a gépi tanulási modellek betanítása. A számítási cél lehet helyi gép vagy felhőerőforrás, például Azure Machine Learning Compute, Azure HDInsight vagy távoli virtuális gép.
Számítási célok használatával kihasználhatja a hatékony virtuális gépek előnyeit a modell betanításához, és állandó számítási célokat vagy ideiglenes futásidejű meghívású célokat állíthat be. A számítási célok beállításával és kezelésével kapcsolatos átfogó útmutatóért tekintse meg a útmutatót.
Az alábbi kód egy egyszerű példát mutat be egy AmlCompute
(ComputeTarget
gyermekosztálya) cél beállítására. Ez a cél létrehoz egy futtatókörnyezeti távoli számítási erőforrást a Workspace
objektumban. Az erőforrás automatikusan skálázódik egy feladat elküldésekor. A futtatás befejezésekor a rendszer automatikusan törli.
Használja újra az egyszerű scikit-learn
adatváltozási modellt, és hozza létre saját fájljába, train.py
az aktuális könyvtárban. A fájl végén hozzon létre egy új, outputs
nevű könyvtárat. Ez a lépés létrehoz egy könyvtárat a felhőben (a munkaterületen) a betanított modell tárolásához, amely joblib.dump()
szerializált.
# train.py
from sklearn import svm
import numpy as np
import joblib
import os
# customer ages
X_train = np.array([50, 17, 35, 23, 28, 40, 31, 29, 19, 62])
X_train = X_train.reshape(-1, 1)
# churn y/n
y_train = ["yes", "no", "no", "no", "yes", "yes", "yes", "no", "no", "yes"]
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X_train, y_train)
os.makedirs("outputs", exist_ok=True)
joblib.dump(value=clf, filename="outputs/churn-model.pkl")
Ezután létrehoz egy számítási célt egy RunConfiguration
objektum példányosításával, valamint a típus és a méret beállításával. Ez a példa a legkisebb erőforrásméretet használja (1 processzormag, 3,5 GB memória). A list_vms
változó a támogatott virtuális gépek listáját és azok méretét tartalmazza.
from azureml.core.runconfig import RunConfiguration
from azureml.core.compute import AmlCompute
list_vms = AmlCompute.supported_vmsizes(workspace=ws)
compute_config = RunConfiguration()
compute_config.target = "amlcompute"
compute_config.amlcompute.vm_size = "STANDARD_D1_V2"
Függőségek létrehozása a távoli számítási erőforrás Python-környezetéhez a CondaDependencies
osztály használatával. A train.py
fájl scikit-learn
és numpy
használ, amelyeket telepíteni kell a környezetben. A függőségek verzióit is megadhatja. A dependencies
objektummal állítsa be a környezetet compute_config
.
from azureml.core.conda_dependencies import CondaDependencies
dependencies = CondaDependencies()
dependencies.add_pip_package("scikit-learn")
dependencies.add_pip_package("numpy==1.15.4")
compute_config.environment.python.conda_dependencies = dependencies
Most már készen áll a kísérlet elküldésére. A ScriptRunConfig
osztály használatával csatolja a számítási célkonfigurációt, és adja meg a betanítási szkript elérési útját/fájlját train.py
. Küldje el a kísérletet a submit()
függvény config
paraméterének megadásával. Hívja meg az wait_for_completion
az eredményül kapott futtatáson, hogy lássa az aszinkron futtatási kimenetet a környezet inicializálása és a modell betanítása során.
Figyelmeztetés
Az alábbiakban ScriptRunConfig
paraméterekben használt konkrét karakterekre vonatkozó korlátozásokat ismertetjük:
- A
"
,$
,;
és\
karaktereket a háttér feloldja, mivel a bash-parancsok elválasztására fenntartott karaktereknek minősülnek. - A
(
,)
,%
,!
,^
,<
,>
,&
és|
karakterek a Windows helyi futtatásaihoz kerülnek.
from azureml.core.experiment import Experiment
from azureml.core import ScriptRunConfig
script_run_config = ScriptRunConfig(source_directory=os.getcwd(), script="train.py", run_config=compute_config)
experiment = Experiment(workspace=ws, name="compute_target_test")
run = experiment.submit(config=script_run_config)
run.wait_for_completion(show_output=True)
A futtatás befejezése után a betanított modellfájl churn-model.pkl
elérhető a munkaterületen.
Környezet
névtér: azureml.core.environment
Az Azure Machine Learning-környezetek meghatározzák a Python-csomagokat, a környezeti változókat és a szoftverbeállításokat a betanítási és pontozási szkriptek körül. A Python mellett a PySpark, a Docker és az R környezetekhez is konfigurálható. A környezetek belsőleg Docker-rendszerképeket eredményeznek, amelyek a számítási cél betanítási és pontozási folyamatainak futtatására szolgálnak. A környezetek felügyelt és verziószámozott entitások a Machine Learning-munkaterületen, amelyek reprodukálható, naplózható és hordozható gépi tanulási munkafolyamatokat tesznek lehetővé számos számítási cél és számítási típus között.
Egy Environment
objektumot a következőhöz használhat:
- A betanítási szkript fejlesztése.
- Használja újra ugyanazt a környezetet az Azure Machine Learning Compute-ben a nagy léptékű modellbetanításhoz.
- Helyezze üzembe a modellt ugyanazzal a környezettel anélkül, hogy egy adott számítási típushoz kötődik.
Az alábbi kód importálja a Environment
osztályt az SDK-ból, és létrehoz egy környezeti objektumot.
from azureml.core.environment import Environment
Environment(name="myenv")
Csomagok hozzáadása egy környezethez Conda-, pip- vagy magánkerekes fájlok használatával. Az egyes csomagfüggőségeket a CondaDependency
osztály használatával adhatja hozzá a környezet PythonSection
.
Az alábbi példa hozzáadja a környezetet. Hozzáadja a numpy
1.17.0-s verzióját. Emellett hozzáadja a pillow
csomagot a környezethez, myenv
. A példa a add_conda_package()
és a add_pip_package()
metódust használja.
from azureml.core.environment import Environment
from azureml.core.conda_dependencies import CondaDependencies
myenv = Environment(name="myenv")
conda_dep = CondaDependencies()
# Installs numpy version 1.17.0 conda package
conda_dep.add_conda_package("numpy==1.17.0")
# Installs pillow package
conda_dep.add_pip_package("pillow")
# Adds dependencies to PythonSection of myenv
myenv.python.conda_dependencies=conda_dep
A betanítási futtatás elküldéséhez a környezetet, a számítási cél
A betanítási futtatás elküldésekor egy új környezet kiépítése több percet is igénybe vehet. Az időtartam a szükséges függőségek méretétől függ. A környezeteket a szolgáltatás gyorsítótárazza. Tehát amíg a környezetdefiníció változatlan marad, a teljes beállítási időt csak egyszer kell megadnia.
Az alábbi példa bemutatja, hogy hol használná ScriptRunConfig
burkolóobjektumként.
from azureml.core import ScriptRunConfig, Experiment
from azureml.core.environment import Environment
exp = Experiment(name="myexp", workspace = ws)
# Instantiate environment
myenv = Environment(name="myenv")
# Add training script to run config
runconfig = ScriptRunConfig(source_directory=".", script="train.py")
# Attach compute target to run config
runconfig.run_config.target = "local"
# Attach environment to run config
runconfig.run_config.environment = myenv
# Submit run
run = exp.submit(runconfig)
Ha a futtatás elküldése előtt nem ad meg környezetet a futtatási konfigurációban, akkor a rendszer létrehoz egy alapértelmezett környezetet.
Tekintse meg a modell üzembe helyezésének szakaszát, amely környezeteket használ a webszolgáltatás üzembe helyezéséhez.
Folyamat, PythonScriptStep
névtér: azureml.pipeline.core.pipeline.Pipeline
névtér: azureml.pipeline.steps.python_script_step.PythonScriptStep
Az Azure Machine Learning-folyamat egy teljes gépi tanulási feladat automatizált munkafolyamata. Az altevékenységek lépéssorozatként vannak beágyazva a folyamaton belül. Az Azure Machine Learning-folyamat egy olyan egyszerű lépés lehet, amely Python-szkripteket hív meg. A folyamatok a következők funkcióit tartalmazzák:
- Adatelőkészítés, beleértve az importálást, az érvényesítést és a tisztítást, a mungingot és az átalakítást, a normalizálást és az előkészítést
- Betanítási konfiguráció, beleértve a paraméterezés argumentumait, a filepathst és a naplózási/jelentéskészítési konfigurációkat
- Hatékony és megismételhető betanítás és ellenőrzés, amely magában foglalhatja adott adathalmazok megadását, a különböző hardveres számítási erőforrásokat, az elosztott feldolgozást és a folyamatfigyelést
- Üzembe helyezés, beleértve a verziószámozást, a skálázást, a kiépítést és a hozzáférés-vezérlést
- Folyamat közzététele REST-végponton bármely HTTP-kódtárból való újrafuttatáshoz
A PythonScriptStep
egy alapszintű, beépített lépés egy Python-szkript számítási célon való futtatásához. A parancsprogram neve és egyéb választható paraméterek, például a szkript argumentumai, a számítási cél, a bemenetek és a kimenetek. Az alábbi kód egy egyszerű példa egy PythonScriptStep
. Példa egy train.py
szkriptre, lásd az oktatóanyagot alszakaszban.
from azureml.pipeline.steps import PythonScriptStep
train_step = PythonScriptStep(
script_name="train.py",
arguments=["--input", blob_input_data, "--output", output_data1],
inputs=[blob_input_data],
outputs=[output_data1],
compute_target=compute_target,
source_directory=project_folder
)
Legalább egy lépés létrehozása után a lépések összekapcsolhatók és közzétehetők egyszerű automatizált folyamatként.
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=[train_step])
pipeline_run = experiment.submit(pipeline)
A folyamat-munkafolyamatok létrehozásának átfogó példájáért kövesse a speciális oktatóanyagot.
Folyamatok létrehozásának és használatának mintája
Az Azure Machine Learning-folyamat egy Azure Machine Learning-munkaterülethez van társítva, a folyamatlépés pedig az adott munkaterületen elérhető számítási célhoz van társítva. További információkért tekintse meg ezt a cikket a munkaterületekről, vagy számítási célokmagyarázatát.
A folyamatlépések gyakori mintája a következő:
- Munkaterület, számítás és tárolás megadása
- A bemeneti és kimeneti adatok konfigurálása
- adatkészlet, amely egy meglévő Azure-adattárat tesz elérhetővé
- PipelineDataset, amely a beírt táblázatos adatokat foglalja magában
- PipelineData-, amelyet az egyik lépésben írt köztes fájl- vagy címtáradatokhoz használnak, és amelyeket egy másik használ fel
- Egy vagy több folyamatlépés definiálása
- Folyamat példányosítása a munkaterület és a lépések használatával
- Kísérlet létrehozása, amelyhez elküldi a folyamatot
- A kísérlet eredményeinek figyelése
Ez a jegyzetfüzet jó példa erre a mintára. foglalkozás
Az Azure Machine Learning Pipelinesról és különösen arról, hogy miben különböznek más típusú folyamatoktól, olvassa el ezt a cikket.
AutoMLConfig
névtér: azureml.train.automl.automlconfig.AutoMLConfig
Az AutoMLConfig
osztály használatával konfigurálhatja az automatizált gépi tanulási betanítás paramétereit. Az automatizált gépi tanulás a gépi tanulási algoritmusok és a hiperparaméter-beállítások számos kombinációján keresztül iterál. Ezután megkeresi a legjobban illeszkedő modellt a választott pontossági metrika alapján. A konfiguráció lehetővé teszi a következő beállítások megadását:
- Tevékenység típusa (besorolás, regresszió, előrejelzés)
- Az algoritmus-iterációk száma és az iterációnkénti maximális idő
- Pontossági metrika az optimalizáláshoz
- A tiltólistára/engedélyezésre használt algoritmusok
- Keresztérvényesítések száma
- Számítási célok
- Betanítási adatok
Jegyzet
A telepítés automl
extra használatával automatizálhatja a gépi tanulást.
Az automatizált gépi tanulási kísérletek beállítására vonatkozó részletes útmutatókért és példákért tekintse meg az oktatóanyagot és útmutatót.
Az alábbi kód bemutatja, hogy egy automatikus gépi tanulási konfigurációs objektumot kell létrehozni egy besorolási modellhez, és azt használni egy kísérlet elküldésekor.
from azureml.train.automl import AutoMLConfig
automl_config = AutoMLConfig(task="classification",
X=your_training_features,
y=your_training_labels,
iterations=30,
iteration_timeout_minutes=5,
primary_metric="AUC_weighted",
n_cross_validations=5
)
A kísérlet elküldéséhez használja a automl_config
objektumot.
from azureml.core.experiment import Experiment
experiment = Experiment(ws, "automl_test_experiment")
run = experiment.submit(config=automl_config, show_output=True)
A kísérlet elküldése után a kimenet az egyes iterációk betanítási pontosságát jeleníti meg a befejezéskor. A futtatás befejezése után a rendszer visszaad egy AutoMLRun
objektumot (amely kibővíti a Run
osztályt). A legjobban illeszkedő modellt a get_output()
függvénnyel szerezheti be egy Model
objektum visszaadásához.
best_model = run.get_output()
y_predict = best_model.predict(X_test)
Modell üzembe helyezése
névtér: azureml.core.model.InferenceConfig
névtér: azureml.core.webservice.webservice.Webservice
A InferenceConfig
osztály a modell és a webszolgáltatás üzemeltetéséhez szükséges környezetet leíró konfigurációs beállításokhoz készült.
Webservice
a modellek webszolgáltatásainak létrehozására és üzembe helyezésére szolgáló absztrakt szülőosztály. A modell üzembe helyezésének és a webszolgáltatások üzembe helyezésének előkészítésével kapcsolatos részletes útmutatóért tekintse meg ezt a útmutatót.
A modell webszolgáltatásként való üzembe helyezésekor ContainerImage
osztályt használta az üzembe helyezéshez, tekintse meg a DockerSection
osztályt, amely hasonló munkafolyamatot hajt végre környezetekkel.
Webszolgáltatás üzembe helyezéséhez kombinálja a környezetet, a következtetési számítást, a pontozási szkriptet és a regisztrált modellt az üzembehelyezési objektumban, deploy()
.
Az alábbi példa feltételezi, hogy már végzett egy betanítási futtatáson környezettel, myenv
, és ezt a modellt szeretné üzembe helyezni az Azure Container Instancesben.
from azureml.core.model import InferenceConfig, Model
from azureml.core.webservice import AciWebservice, Webservice
# Register the model to deploy
model = run.register_model(model_name = "mymodel", model_path = "outputs/model.pkl")
# Combine scoring script & environment in Inference configuration
inference_config = InferenceConfig(entry_script="score.py",
environment=myenv)
# Set deployment configuration
deployment_config = AciWebservice.deploy_configuration(cpu_cores = 1,
memory_gb = 1)
# Define the model, inference, & deployment configuration and web service name and location to deploy
service = Model.deploy(workspace = ws,
name = "my_web_service",
models = [model],
inference_config = inference_config,
deployment_config = deployment_config)
Ez a példa létrehoz egy Azure Container Instances webszolgáltatást, amely a legjobb a kis léptékű teszteléshez és a gyors üzembe helyezéshez. A modell éles szintű webszolgáltatásként való üzembe helyezéséhez használja az Azure Kubernetes Service-t (AKS). További információ: AksCompute osztály.
Adatkészlet
névtér: azureml.core.dataset.Dataset
névtér: azureml.data.file_dataset.FileDataset
névtér: azureml.data.tabular_dataset.TabularDataset
A Dataset
osztály az Azure Machine Learningben található adatok feltárásának és kezelésének alapvető erőforrása. Az adatok összegzési statisztikákkal való feltárásával és az adathalmaz AML-munkaterületre való mentésével verziószámozási és reprodukálhatósági képességeket kaphat. Az adathalmazokat a modellek egyszerűen felhasználhatják a betanítás során. Részletes használati példákért tekintse meg a útmutatót.
-
TabularDataset
egy fájl vagy fájllista elemzésével létrehozott táblázatos formátumban jeleníti meg az adatokat. -
FileDataset
egy vagy több fájlra hivatkozik az adattárakban vagy a nyilvános URL-címeken.
Az alábbi példa bemutatja, hogyan hozhat létre egyetlen elérési útra mutató TabularDatasetet egy adattárban.
from azureml.core import Dataset
dataset = Dataset.Tabular.from_delimited_files(path = [(datastore, 'train-dataset/tabular/iris.csv')])
dataset.take(3).to_pandas_dataframe()
Az alábbi példa bemutatja, hogyan hozhat létre több fájl URL-címére hivatkozó FileDataset
.
from azureml.core.dataset import Dataset
url_paths = [
'http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz',
'http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz',
'http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz',
'http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz'
]
dataset = Dataset.File.from_files(path=url_paths)
Következő lépések
A következő lépésekkel megtudhatja, hogyan használhatja a Pythonhoz készült Azure Machine Learning SDK-t:
Kövesse az oktatóanyagot, amelyből megtudhatja, hogyan hozhat létre, taníthat be és helyezhet üzembe modelleket a Pythonban.
Osztályokat és modulokat kereshet a webhelyen található referenciadokumentációban a bal oldali tartalomjegyzék használatával.