Az AutoML beállítása számítógépes látásmodellek Betanítása Pythonnal (v1)
ÉRVÉNYES:Python SDK azureml v1
Fontos
A cikkben szereplő Azure CLI-parancsok némelyike az azure-cli-ml
Azure Machine Tanulás vagy v1 bővítményét használja. A v1-bővítmény támogatása 2025. szeptember 30-án megszűnik. Addig a dátumig telepítheti és használhatja a v1-bővítményt.
Javasoljuk, hogy 2025. szeptember 30-a előtt váltsa át a ml
(vagy v2) bővítményt. További információ a v2-es bővítményről: Azure ML CLI-bővítmény és Python SDK v2.
Fontos
Ez a funkció jelenleg nyilvános előzetes verzióban érhető el. Ez az előzetes verzió szolgáltatásszintű szerződés nélkül érhető el. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik. További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.
Ebből a cikkből megtudhatja, hogyan taníthat be számítógépes látásmodelleket képadatokon automatizált gépi tanulással az Azure Machine Tanulás Python SDK-ban.
Az automatizált gépi tanulás támogatja a modellbetanítást olyan számítógépes látástechnológiás feladatok esetében, mint a képbesorolás, objektumészlelés és a példányszegmentálás. Az AutoML-modellek számítógépes látástechnológiás feladatokhoz való létrehozása jelenleg az Azure Machine Learning Python SDK-n keresztül támogatott. Az eredményként kapott kísérletezési futtatások, modellek és kimenetek az Azure Machine Tanulás studio felhasználói felületén érhetők el. További információ az automatikus ml-ről a képadatok számítógépes látási feladataihoz.
Feljegyzés
A számítógépes látási feladatokhoz készült automatizált gépi tanulás csak az Azure Machine Tanulás Python SDK-val érhető el.
Előfeltételek
Egy Azure Machine Learning-munkaterület. A munkaterület létrehozásához lásd : Munkaterület-erőforrások létrehozása.
Az Azure Machine Tanulás Python SDK telepítve van. Az SDK telepítéséhez
Hozzon létre egy számítási példányt, amely automatikusan telepíti az SDK-t, és előre konfigurálva van az ML-munkafolyamatokhoz. További információ: Azure Machine-Tanulás számítási példány létrehozása és kezelése.
Telepítse saját maga a
automl
csomagot, amely tartalmazza az SDK alapértelmezett telepítését.
Feljegyzés
Csak a Python 3.7 és 3.8 kompatibilis a számítógépes látási feladatok automatizált gépi tanulási támogatásával.
Válassza ki a feladattípust
A rendszerképekhez készült automatizált gépi tanulás a következő feladattípusokat támogatja:
Tevékenység típusa | AutoMLImage konfigurációs szintaxis |
---|---|
képbesorolás | ImageTask.IMAGE_CLASSIFICATION |
képbesorolás többcímke | ImageTask.IMAGE_CLASSIFICATION_MULTILABEL |
képobjektum-észlelés | ImageTask.IMAGE_OBJECT_DETECTION |
képpéldány szegmentálása | ImageTask.IMAGE_INSTANCE_SEGMENTATION |
Ez a feladattípus kötelező paraméter, és a rendszer a paraméterrel adja át a task
AutoMLImageConfig
következőben: .
Példa:
from azureml.train.automl import AutoMLImageConfig
from azureml.automl.core.shared.constants import ImageTask
automl_image_config = AutoMLImageConfig(task=ImageTask.IMAGE_OBJECT_DETECTION)
Betanítási és érvényesítési adatok
A számítógépes látásmodellek létrehozásához címkézett képadatokat kell bevinnie a modellbetanítás bemeneteként egy Azure Machine Tanulás TabularDataset formájában. Használhat egy TabularDataset
adatcímkéző projektből exportált projektet, vagy létrehozhat egy újat TabularDataset
a címkézett betanítási adatokkal.
Ha a betanítási adatok más formátumban vannak (például pascal VOC vagy COCO), a mintajegyzetfüzetekben található segédszkriptekkel JSONL-vé alakíthatja az adatokat. További információ az adatok számítógépes látási feladatokhoz való előkészítéséről az automatizált gépi tanulással.
Figyelmeztetés
A TabularDatasets JSONL formátumú adatokból való létrehozását csak az SDK támogatja, ehhez a funkcióhoz. Az adathalmaz felhasználói felületen történő létrehozása jelenleg nem támogatott. A felhasználói felület egyelőre nem ismeri fel a StreamInfo adattípust, amely a JSONL formátumú kép URL-címekhez használt adattípus.
Feljegyzés
A betanítási adatkészletnek legalább 10 képre van szüksége ahhoz, hogy autoML-futtatásokat lehessen küldeni.
JSONL-sémaminták
A TabularDataset felépítése az adott feladattól függ. A computer vision tevékenységtípusok esetében a következő mezőkből áll:
Mező | Leírás |
---|---|
image_url |
A FilePath-t StreamInfo-objektumként tartalmazza |
image_details |
A kép metaadatai a magasságból, a szélességből és a formátumból állnak. Ez a mező nem kötelező, ezért előfordulhat, hogy nem létezik. |
label |
A képcímke json-ábrázolása a feladat típusa alapján. |
A képbesoroláshoz az alábbi minta JSONL-fájl található:
{
"image_url": "AmlDatastore://image_data/Image_01.png",
"image_details":
{
"format": "png",
"width": "2230px",
"height": "4356px"
},
"label": "cat"
}
{
"image_url": "AmlDatastore://image_data/Image_02.jpeg",
"image_details":
{
"format": "jpeg",
"width": "3456px",
"height": "3467px"
},
"label": "dog"
}
Az alábbi kód egy objektumészlelési JSONL-mintafájl:
{
"image_url": "AmlDatastore://image_data/Image_01.png",
"image_details":
{
"format": "png",
"width": "2230px",
"height": "4356px"
},
"label":
{
"label": "cat",
"topX": "1",
"topY": "0",
"bottomX": "0",
"bottomY": "1",
"isCrowd": "true",
}
}
{
"image_url": "AmlDatastore://image_data/Image_02.png",
"image_details":
{
"format": "jpeg",
"width": "1230px",
"height": "2356px"
},
"label":
{
"label": "dog",
"topX": "0",
"topY": "1",
"bottomX": "0",
"bottomY": "1",
"isCrowd": "false",
}
}
Adatok felhasználása
Miután az adatok JSONL formátumban vannak, létrehozhat egy TabularDatasetet a következő kóddal:
ws = Workspace.from_config()
ds = ws.get_default_datastore()
from azureml.core import Dataset
training_dataset = Dataset.Tabular.from_json_lines_files(
path=ds.path('odFridgeObjects/odFridgeObjects.jsonl'),
set_column_types={'image_url': DataType.to_stream(ds.workspace)})
training_dataset = training_dataset.register(workspace=ws, name=training_dataset_name)
Az automatizált gépi tanulás nem ír elő semmilyen korlátozást a betanítási és ellenőrzési adatok méretére a számítógépes látási feladatok esetében. Az adathalmaz maximális méretét csak az adathalmaz mögötti tárolási réteg (pl. blobtároló) korlátozza. Nincs minimális számú kép vagy címke. Javasoljuk azonban, hogy címkénként legalább 10–15 mintát használjon, hogy a kimeneti modell megfelelően betanult legyen. Minél nagyobb a címkék/osztályok teljes száma, annál több mintára van szükség címkénként.
A betanítási adatok megadása kötelező, és a paraméter használatával kerül átadásra training_data
. Opcionálisan megadhat egy másik TabularDatasetet érvényesítési adatkészletként, amelyet az AutoMLImageConfig paraméterrel validation_data
használhat a modellhez. Ha nincs megadva érvényesítési adatkészlet, a betanítási adatok 20%-a alapértelmezés szerint az ellenőrzéshez lesz használva, hacsak nem ad át validation_size
egy másik értékkel rendelkező argumentumot.
Példa:
from azureml.train.automl import AutoMLImageConfig
automl_image_config = AutoMLImageConfig(training_data=training_dataset)
Számítás a kísérlet futtatásához
Adjon meg egy számítási célt az automatizált gépi tanuláshoz a modell betanításának elvégzéséhez. A számítógépes látási feladatok automatizált ml-modelljei gpu-termékváltozatokat igényelnek, és támogatják az NC- és ND-családokat. A gyorsabb betanításhoz az NCsv3 sorozatot (v100 GPU-kkal) javasoljuk. A több GPU-s virtuálisgép-termékváltozattal rendelkező számítási cél több GPU-val is felgyorsítja a betanítást. Emellett ha több csomóponttal állít be számítási célt, akkor a modell hiperparamétereinek finomhangolása során a párhuzamosságon keresztül gyorsabban végezheti el a modell betanítását.
Feljegyzés
Ha számítási példányt használ számítási célként, győződjön meg arról, hogy több AutoML-feladat nem fut egyszerre. Győződjön meg arról is, hogy max_concurrent_iterations
a kísérlet erőforrásaiban 1 érték van beállítva.
A számítási cél egy kötelező paraméter, és a rendszer a compute_target
AutoMLImageConfig
. Példa:
from azureml.train.automl import AutoMLImageConfig
automl_image_config = AutoMLImageConfig(compute_target=compute_target)
Modell-algoritmusok és hiperparaméterek konfigurálása
A számítógépes látási feladatok támogatásával szabályozhatja a modellalgoritmust és a hiperparamétereket. Ezek a modell-algoritmusok és hiperparaméterek a takarítás paraméterterületeként kerülnek átadásra.
A modell algoritmusa kötelező, és paraméteren keresztül model_name
kerül átadásra. Megadhat egyetlen model_name
vagy több lehetőséget is.
Támogatott modell-algoritmusok
Az alábbi táblázat összefoglalja az egyes számítógépes látási feladatok támogatott modelljeit.
Feladatok | Modell-algoritmusok | Sztringkonstans szintaxisadefault_model * *-nal jelölve |
---|---|---|
Képbesorolás (többosztályos és többcímkés) |
MobileNet: Egyszerűsített modellek mobilalkalmazásokhoz ResNet: Reziduális hálózatok ResNeSt: Figyelési hálózatok felosztása Standard kiadás-ResNeXt50: Kiszorítási és gerjesztési hálózatok ViT: Vision transzformátor hálózatok |
mobilenetv2 resnet18 resnet34 resnet50 resnet101 resnet152 resnest50 resnest101 seresnext vits16r224 (kicsi) vitb16r224 * (alap) vitl16r224 (nagy) |
Objektumészlelés | YOLOv5: Egyfázisú objektumészlelési modell Gyorsabb RCNN ResNet FPN: Kétfázisú objektumészlelési modellek RetinaNet ResNet FPN: az osztály kiegyensúlyozatlanságának kezelése a fókuszveszteséggel Megjegyzés: A YOLOv5-modellméretekhez tekintse meg model_size a hiperparamétert . |
yolov5 * fasterrcnn_resnet18_fpn fasterrcnn_resnet34_fpn fasterrcnn_resnet50_fpn fasterrcnn_resnet101_fpn fasterrcnn_resnet152_fpn retinanet_resnet50_fpn |
Példányszegmentálás | MaskRCNN ResNet FPN | maskrcnn_resnet18_fpn maskrcnn_resnet34_fpn maskrcnn_resnet50_fpn * maskrcnn_resnet101_fpn maskrcnn_resnet152_fpn maskrcnn_resnet50_fpn |
A modell algoritmusának vezérlése mellett a modell betanításához használt hiperparamétereket is hangolhatja. Bár a közzétett hiperparaméterek többsége modellfüggő, vannak olyan példányok, ahol a hiperparaméterek feladatspecifikusak vagy modellspecifikusak. További információ az ilyen példányokhoz elérhető hiperparaméterekről.
Adatnagyobbítás
A mélytanulási modell teljesítménye általában több adattal javítható. Az adatnagyobbítás gyakorlati módszer az adathalmazok adatméretének és variabilitásának felerősítésére, amely segít megelőzni a túlillesztést és javítani a modell általánosítási képességét a nem látott adatokon. Az automatizált gépi tanulás különböző adatnagyobbítási technikákat alkalmaz a számítógépes látási feladat alapján, mielőtt bemeneti képeket ad a modellhez. Jelenleg nincs közzétett hiperparaméter az adatnagyobbítások szabályozásához.
Feladatok | Érintett adathalmaz | Alkalmazott adatnagyobbítási technika(ok) |
---|---|---|
Képbesorolás (többosztályos és többcímke) | Képzés Ellenőrzés > teszt |
Véletlenszerű átméretezés és körülvágás, vízszintes tükrözés, szín jitter (fényerő, kontraszt, telítettség és árnyalat), normalizálás csatorna-bölcs ImageNet középérték és szórás használatával Átméretezés, körülvágás középre igazítása, normalizálás |
Objektumészlelés, példányszegmentálás | Képzés Ellenőrzés > teszt |
Véletlenszerű körülvágás a határolókeretek körül, kibontás, vízszintes tükrözés, normalizálás, átméretezés Normalizálás, átméretezés |
Objektumészlelés a yolov5 használatával | Képzés Ellenőrzés > teszt |
Mozaik, véletlenszerű affine (forgatás, fordítás, skálázás, nyírás), vízszintes tükrözés Postaláda átméretezése |
A kísérlet beállításainak konfigurálása
Mielőtt nagy keresést végeznénk az optimális modellek és hiperparaméterek kereséséhez, javasoljuk, hogy próbálja ki az alapértelmezett értékeket az első alapkonfiguráció eléréséhez. A következő lépésben több hiperparamétert is megvizsgálhat ugyanahhoz a modellhez, mielőtt több modellt és azok paramétereit átsöprnénk. Ily módon iteratívabb megközelítést alkalmazhat, mivel több modell és több hiperparaméter esetén a keresési terület exponenciálisan növekszik, és több iterációra van szükség az optimális konfigurációk megtalálásához.
Ha egy adott algoritmushoz (például yolov5) az alapértelmezett hiperparaméter-értékeket szeretné használni, az AutoML-rendszerképek konfigurációját az alábbiak szerint adhatja meg:
from azureml.train.automl import AutoMLImageConfig
from azureml.train.hyperdrive import GridParameterSampling, choice
from azureml.automl.core.shared.constants import ImageTask
automl_image_config_yolov5 = AutoMLImageConfig(task=ImageTask.IMAGE_OBJECT_DETECTION,
compute_target=compute_target,
training_data=training_dataset,
validation_data=validation_dataset,
hyperparameter_sampling=GridParameterSampling({'model_name': choice('yolov5')}),
iterations=1)
Miután létrehozott egy alapmodellt, érdemes optimalizálni a modell teljesítményét a modellalgoritmus és a hiperparaméter-terület átsöprése érdekében. Az alábbi mintakonfigurációval átsöpörheti az egyes algoritmusok hiperparamétereit, és kiválaszthat egy értéktartományt learning_rate, optimalizáló, lr_scheduler stb. számára, hogy létrehozhassa az optimális elsődleges metrikával rendelkező modellt. Ha nincs megadva hiperparaméter-érték, akkor a rendszer az alapértelmezett értékeket használja a megadott algoritmushoz.
Elsődleges metrika
A modelloptimalizáláshoz és a hiperparaméter finomhangolásához használt elsődleges metrika a tevékenység típusától függ. Az egyéb elsődleges metrikaértékek használata jelenleg nem támogatott.
accuracy
IMAGE_CLASSIFICATIONiou
IMAGE_CLASSIFICATION_MULTILABELmean_average_precision
IMAGE_OBJECT_DETECTIONmean_average_precision
IMAGE_INSTANCE_Standard kiadás GMENTATION esetén
Kísérlet költségvetése
Opcionálisan megadhatja az AutoML Vision-kísérlet experiment_timeout_hours
maximális időkeretét – a kísérlet befejeződése előtti órákban megadott időtartamot. Ha nincs megadva, a kísérlet alapértelmezett időtúllépése hét nap (legfeljebb 60 nap).
Hiperparaméterek takarítása a modellhez
A számítógépes látásmodellek betanításakor a modell teljesítménye nagymértékben függ a kiválasztott hiperparaméter-értékektől. Gyakran érdemes lehet a hiperparamétereket finomhangolni az optimális teljesítmény érdekében. Az automatizált gépi tanulásban a számítógépes látási feladatok támogatásával hiperparamétereket söpörhet le, hogy megtalálja a modell optimális beállításait. Ez a funkció az Azure Machine Tanulás hiperparaméter-finomhangolási képességeit alkalmazza. Megtudhatja, hogyan hangolhatja a hiperparamétereket.
A paraméter keresési helyének meghatározása
Meghatározhatja a modell algoritmusait és hiperparamétereit a paramétertérben való takarításhoz.
- Lásd: Modell-algoritmusok és hiperparaméterek konfigurálása az egyes tevékenységtípusok támogatott modell-algoritmusainak listájához.
- Lásd : Hyperparameters for computer vision tasks hyperparameters for each computer vision task type.
- A különálló és folyamatos hiperparaméterek támogatott eloszlásainak részletei.
Mintavételi módszerek a takarításhoz
Hiperparaméterek seprésekor meg kell adnia a mintavételezési módszert, amelyet a megadott paraméterterületen való átsöpréshez használ. Jelenleg a következő mintavételezési módszerek támogatottak a hyperparameter_sampling
paraméterrel:
Feljegyzés
Jelenleg csak a véletlenszerű és a rácsos mintavételezés támogatja a feltételes hiperparaméter-szóközöket.
Korai megszüntetési szabályzatok
Automatikusan befejezheti a rosszul teljesítő futtatásokat egy korai megszüntetési szabályzattal. A korai megszüntetés javítja a számítási hatékonyságot, így olyan számítási erőforrásokat takarít meg, amelyeket egyébként kevésbé ígéretes konfigurációkra fordítottak volna. A rendszerképekhez készült automatizált gépi tanulás a következő korai megszüntetési szabályzatokat támogatja a early_termination_policy
paraméter használatával. Ha nincs megadva leállítási szabályzat, a rendszer az összes konfigurációt a befejezésig futtatja.
További információ a hiperparaméter-takarítás korai megszakítási szabályzatának konfigurálásáról.
Erőforrások a takarításhoz
A hiperparaméteres takarításra fordított erőforrásokat a takarítás és max_concurrent_iterations
a iterations
takarítás megadásával szabályozhatja.
Paraméter | Részlet |
---|---|
iterations |
Kötelező paraméter a átvizsgálandó konfigurációk maximális számához. 1 és 1000 közötti egész számnak kell lennie. Ha csak az adott modell-algoritmus alapértelmezett hiperparamétereit vizsgálja meg, állítsa ezt a paramétert 1 értékre. |
max_concurrent_iterations |
Egyidejűleg futtatható futtatások maximális száma. Ha nincs megadva, az összes futtatás párhuzamosan indul el. Ha meg van adva, 1 és 100 közötti egész számnak kell lennie. MEGJEGYZÉS: Az egyidejű futtatások száma a megadott számítási célban elérhető erőforrásokon van meghatározva. Győződjön meg arról, hogy a számítási cél rendelkezik a kívánt egyidejűséghez elérhető erőforrásokkal. |
Feljegyzés
A teljes takarítási konfigurációs mintaért tekintse meg ezt az oktatóanyagot.
Argumentumok
Olyan rögzített beállításokat vagy paramétereket adhat meg, amelyek nem változnak a paraméterterület-takarítás során argumentumként. Az argumentumok név-érték párokban vannak átadva, és a nevet két kötőjelnek kell előtaggal előtaggal elneveznie.
from azureml.train.automl import AutoMLImageConfig
arguments = ["--early_stopping", 1, "--evaluation_frequency", 2]
automl_image_config = AutoMLImageConfig(arguments=arguments)
Növekményes betanítás (nem kötelező)
A betanítási futtatás után lehetősége van a modell további betanítására a betanított modell ellenőrzőpontjának betöltésével. Használhatja ugyanazt az adatkészletet vagy egy másikat a növekményes betanításhoz.
A növekményes betanításhoz két lehetőség áll rendelkezésre. Képes vagy
- Adja meg azt a futtatási azonosítót, amelyből be szeretné tölteni az ellenőrzőpontot.
- Adja át az ellenőrzőpontokat egy FileDataseten keresztül.
Az ellenőrzőpont átadása futtatási azonosítón keresztül
A kívánt modell futtatási azonosítójának megkereséséhez használja az alábbi kódot.
# find a run id to get a model checkpoint from
target_checkpoint_run = automl_image_run.get_best_child()
Ha egy ellenőrzőpontot a futtatási azonosítón keresztül szeretne átadni, a paramétert checkpoint_run_id
kell használnia.
automl_image_config = AutoMLImageConfig(task='image-object-detection',
compute_target=compute_target,
training_data=training_dataset,
validation_data=validation_dataset,
checkpoint_run_id= target_checkpoint_run.id,
primary_metric='mean_average_precision',
**tuning_settings)
automl_image_run = experiment.submit(automl_image_config)
automl_image_run.wait_for_completion(wait_post_processing=True)
Az ellenőrzőpont átadása a FileDataseten keresztül
Az ellenőrzőpont FileDataseten keresztüli átadásához a paramétereket és checkpoint_filename
a checkpoint_dataset_id
paramétereket kell használnia.
# download the checkpoint from the previous run
model_name = "outputs/model.pt"
model_local = "checkpoints/model_yolo.pt"
target_checkpoint_run.download_file(name=model_name, output_file_path=model_local)
# upload the checkpoint to the blob store
ds.upload(src_dir="checkpoints", target_path='checkpoints')
# create a FileDatset for the checkpoint and register it with your workspace
ds_path = ds.path('checkpoints/model_yolo.pt')
checkpoint_yolo = Dataset.File.from_files(path=ds_path)
checkpoint_yolo = checkpoint_yolo.register(workspace=ws, name='yolo_checkpoint')
automl_image_config = AutoMLImageConfig(task='image-object-detection',
compute_target=compute_target,
training_data=training_dataset,
validation_data=validation_dataset,
checkpoint_dataset_id= checkpoint_yolo.id,
checkpoint_filename='model_yolo.pt',
primary_metric='mean_average_precision',
**tuning_settings)
automl_image_run = experiment.submit(automl_image_config)
automl_image_run.wait_for_completion(wait_post_processing=True)
A futtatás elküldése
Ha elkészült az AutoMLImageConfig
objektum, elküldheti a kísérletet.
ws = Workspace.from_config()
experiment = Experiment(ws, "Tutorial-automl-image-object-detection")
automl_image_run = experiment.submit(automl_image_config)
Kimenetek és kiértékelési metrikák
Az automatizált gépi tanulási futtatások kimeneti modellfájlokat, kiértékelési metrikákat, naplókat és üzembehelyezési összetevőket hoznak létre, például a pontozófájlt és a környezeti fájlt, amely a gyermekfuttatások kimenetei és naplói és metrikák lapján tekinthető meg.
Tipp.
Ellenőrizze, hogyan navigálhat a feladat eredményeihez a Futtatási eredmények megtekintése szakaszban.
Az egyes futtatásokhoz megadott teljesítménydiagramokra és metrikákra vonatkozó definíciókat és példákat lásd: Automatizált gépi tanulási kísérletek eredményeinek kiértékelése
Modell regisztrálása és üzembe helyezése
Miután a futtatás befejeződött, regisztrálhatja a legjobb futtatásból létrehozott modellt (olyan konfigurációt, amely a legjobb elsődleges metrikát eredményezte)
best_child_run = automl_image_run.get_best_child()
model_name = best_child_run.properties['model_name']
model = best_child_run.register_model(model_name = model_name, model_path='outputs/model.pt')
A használni kívánt modell regisztrálása után üzembe helyezheti webszolgáltatásként az Azure Container Instances (ACI) vagy az Azure Kubernetes Service (AKS) szolgáltatásban. Az ACI tökéletes megoldás az üzemelő példányok tesztelésére, míg az AKS jobban megfelel a nagy léptékű, éles használatnak.
Ez a példa webszolgáltatásként helyezi üzembe a modellt az AKS-ben. Az AKS-ben való üzembe helyezéshez először hozzon létre egy AKS számítási fürtöt, vagy használjon egy meglévő AKS-fürtöt. Az üzembehelyezési fürthöz GPU-t vagy CPU-beli virtuálisgép-termékváltozatokat is használhat.
from azureml.core.compute import ComputeTarget, AksCompute
from azureml.exceptions import ComputeTargetException
# Choose a name for your cluster
aks_name = "cluster-aks-gpu"
# Check to see if the cluster already exists
try:
aks_target = ComputeTarget(workspace=ws, name=aks_name)
print('Found existing compute target')
except ComputeTargetException:
print('Creating a new compute target...')
# Provision AKS cluster with GPU machine
prov_config = AksCompute.provisioning_configuration(vm_size="STANDARD_NC6",
location="eastus2")
# Create the cluster
aks_target = ComputeTarget.create(workspace=ws,
name=aks_name,
provisioning_configuration=prov_config)
aks_target.wait_for_completion(show_output=True)
Ezután megadhatja a következtetési konfigurációt, amely leírja, hogyan állíthatja be a modellt tartalmazó webszolgáltatást. A pontozási szkriptet és a környezetet a betanítási futtatásból használhatja a következtetési konfigurációban.
from azureml.core.model import InferenceConfig
best_child_run.download_file('outputs/scoring_file_v_1_0_0.py', output_file_path='score.py')
environment = best_child_run.get_environment()
inference_config = InferenceConfig(entry_script='score.py', environment=environment)
Ezután üzembe helyezheti a modellt AKS-webszolgáltatásként.
# Deploy the model from the best run as an AKS web service
from azureml.core.webservice import AksWebservice
from azureml.core.webservice import Webservice
from azureml.core.model import Model
from azureml.core.environment import Environment
aks_config = AksWebservice.deploy_configuration(autoscale_enabled=True,
cpu_cores=1,
memory_gb=50,
enable_app_insights=True)
aks_service = Model.deploy(ws,
models=[model],
inference_config=inference_config,
deployment_config=aks_config,
deployment_target=aks_target,
name='automl-image-test',
overwrite=True)
aks_service.wait_for_deployment(show_output=True)
print(aks_service.state)
Másik lehetőségként üzembe helyezheti a modellt az Azure Machine Tanulás studio felhasználói felületén. Lépjen az automatizált gépi tanulási futtatás Modellek lapján üzembe helyezni kívánt modellre, és válassza az Üzembe helyezés lehetőséget.
A modell központi telepítési végpontjának nevét és a következtetési fürtöt a modell üzembe helyezéséhez a Modell üzembe helyezése panelen konfigurálhatja.
Következtetéskonfiguráció frissítése
Az előző lépésben letöltöttük a pontozófájlt outputs/scoring_file_v_1_0_0.py
a legjobb modellből egy helyi score.py
fájlba, és egy objektum létrehozásához InferenceConfig
használtuk. Ez a szkript módosítható úgy, hogy szükség esetén módosítsa a modellre vonatkozó következtetési beállításokat a letöltés után és a InferenceConfig
létrehozás előtt. Ez például az a kódszakasz, amely inicializálja a modellt a pontozófájlban:
...
def init():
...
try:
logger.info("Loading model from path: {}.".format(model_path))
model_settings = {...}
model = load_model(TASK_TYPE, model_path, **model_settings)
logger.info("Loading successful.")
except Exception as e:
logging_utilities.log_traceback(e, logger)
raise
...
Mindegyik feladat (és néhány modell) rendelkezik paraméterekkel a model_settings
szótárban. Alapértelmezés szerint ugyanazokat az értékeket használjuk a betanítás és ellenőrzés során használt paraméterekhez. Attól függően, hogy milyen viselkedésre van szükség a modell következtetéséhez, módosíthatjuk ezeket a paramétereket. Az alábbiakban megtalálja az egyes tevékenységtípusokhoz és modellekhez tartozó paraméterek listáját.
Feladatok | Paraméter neve | Alapértelmezett |
---|---|---|
Képbesorolás (többosztályos és többcímke) | valid_resize_size valid_crop_size |
256 224 |
Objektumészlelés | min_size max_size box_score_thresh nms_iou_thresh box_detections_per_img |
600 1333 0.3 0,5 100 |
Objektumészlelés a következő használatával: yolov5 |
img_size model_size box_score_thresh nms_iou_thresh |
640 közepes 0,1 0,5 |
Példányszegmentálás | min_size max_size box_score_thresh nms_iou_thresh box_detections_per_img mask_pixel_score_threshold max_number_of_polygon_points export_as_image image_type |
600 1333 0.3 0,5 100 0,5 100 Hamis JPG |
A feladatspecifikus hiperparaméterekkel kapcsolatos részletes leírásért tekintse meg az automatizált gépi tanulásban a számítógépes látási feladatok hyperparamétereit.
Ha burkolást szeretne használni, és szabályozni szeretné a burkolás viselkedését, a következő paraméterek érhetők el: tile_grid_size
és tile_overlap_ratio
tile_predictions_nms_thresh
. Ezekről a paraméterekről további információt az AutoML használatával végzett kis objektumészlelési modell betanítása című témakörben talál.
Példajegyzetfüzetek
Tekintse át a részletes kódmintákat és használati eseteket az automatizált gépi tanulási minták GitHub-jegyzetfüzettárában. Ellenőrizze a mappák "image-" előtagját a számítógépes látásmodellek készítésére vonatkozó mintákhoz.