Megosztás a következőn keresztül:


CLI (v2) takarítási feladat YAML-sémája

A KÖVETKEZŐRE VONATKOZIK: Azure CLI ml-bővítmény v2 (aktuális)

A forrás JSON-séma a következő helyen https://azuremlschemas.azureedge.net/latest/sweepJob.schema.jsontalálható: .

Feljegyzés

A dokumentumban részletezett YAML-szintaxis az ML CLI v2 bővítmény legújabb verziójának JSON-sémáján alapul. Ez a szintaxis garantáltan csak az ML CLI v2 bővítmény legújabb verziójával működik. A régebbi bővítményverziók sémáit a következő helyen https://azuremlschemasprod.azureedge.net/találja: .

YAML-szintaxis

Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
$schema húr A YAML-séma. Ha az Azure Machine Learning VS Code-bővítményt használja a YAML-fájl létrehozásához, séma- és erőforrás-kiegészítéseket hívhat meg, ha a fájl tetején szerepel $schema .
type Const Szükséges. A feladat típusa. sweep sweep
name húr A feladat neve. A munkaterület összes feladatának egyedinek kell lennie. Ha nincs megadva, az Azure Machine Learning automatikusan létrehoz egy GUID azonosítót a névhez.
display_name húr A feladat megjelenítendő neve a stúdió felhasználói felületén. Nem egyedi lehet a munkaterületen belül. Ha nincs megadva, az Azure Machine Learning automatikusan létrehoz egy emberi olvasásra alkalmas melléknév-főnév azonosítót a megjelenítendő névhez.
experiment_name húr Rendszerezze a feladatot a kísérlet neve alatt. Az egyes feladatok futtatási rekordja a megfelelő kísérlet alatt van rendszerezve a stúdió "Kísérletek" lapján. Ha nincs megadva, az Azure Machine Learning alapértelmezés szerint experiment_name annak a munkakönyvtárnak a nevére kerül, ahol a feladatot létrehozták.
description húr A feladat leírása.
tags object A feladat címkéinek szótára.
sampling_algorithm object Szükséges. A hiperparaméter mintavételezési algoritmusa, amelyet a search_space. Az egyik RandomSamplingAlgorithm, GridSamplingAlgorithm vagy BayesianSamplingAlgorithm.
search_space object Szükséges. A hiperparaméter keresési helyének szótára. A hiperparaméter neve a kulcs, az érték pedig a paraméterkifejezés.

A hiperparaméterekre a kifejezésben trial.command ${{ search_space.<hyperparameter> }} hivatkozhat.
search_space.<hyperparameter> object Keresse fel a paraméterkifejezéseket a használandó lehetséges kifejezések halmazához.
objective.primary_metric húr Szükséges. Az egyes próbafeladatok által jelentett elsődleges metrika neve. A metrikát a felhasználó betanítási szkriptjében kell naplózni ugyanazzal mlflow.log_metric() a metrikával.
objective.goal húr Szükséges. objective.primary_metricA . maximize, minimize
early_termination object A használni kívánt korai felmondási szabályzat. A próbafeladat megszakad, ha a megadott szabályzat feltételei teljesülnek. Ha nincs megadva, a rendszer nem alkalmaz korai megszüntetési szabályzatot. A BanditPolicy, a MedianStoppingPolicy vagy a TruncationSelectionPolicy egyike.
limits object A takarítási feladat korlátai. Lásd a limits kulcs attribútumait.
compute húr Szükséges. Annak a számítási célnak a neve, amelyen a feladatot végre kívánja hajtani a azureml:<compute_name> szintaxissal.
trial object Szükséges. Az egyes próbaverziók feladatsablonja. Minden próbafeladathoz más-más hiperparaméter-értékeket biztosítunk, amelyeket a rendszer a search_space. Keresse fel a trial kulcs attribútumait.
inputs object A feladat bemeneteinek szótára. A kulcs a feladat környezetében lévő bemenet neve, az érték pedig a bemeneti érték.

A bemenetekre a command kifejezés használatával ${{ inputs.<input_name> }} lehet hivatkozni.
inputs.<input_name> szám, egész szám, logikai érték, sztring vagy objektum Egy literális érték (típusszám, egész szám, logikai vagy sztring) vagy egy feladat bemeneti adatspecifikációját tartalmazó objektum.
outputs object A feladat kimeneti konfigurációinak szótára. A kulcs a feladat környezetében lévő kimenet neve, az érték pedig a kimeneti konfiguráció.

A kimenetekre a command kifejezés használatával ${{ outputs.<output_name> }} hivatkozhat.
outputs.<output_name> object Az objektumot üresen hagyhatja, és ebben az esetben alapértelmezés szerint a kimenet típusa, uri_folder és az Azure Machine Learning rendszer létrehoz egy kimeneti helyet a kimenethez. A kimeneti könyvtárba beírt összes fájl írási-olvasási csatlakoztatáson keresztül lesz megírva. A kimenet másik módjának megadásához adjon meg egy objektumot, amely tartalmazza a feladat kimeneti specifikációját.
identity object Az identitás az adathozzáféréshez használatos. Lehet felhasználói identitáskonfiguráció, felügyelt identitáskonfiguráció vagy Nincs. A UserIdentityConfiguration esetében a feladat-beküldő identitása a bemeneti adatok elérésére és az eredmények kimeneti mappába való írására szolgál. Ellenkező esetben a számítási cél felügyelt identitását használja a rendszer.

Mintavételezési algoritmusok

RandomSamplingAlgorithm

Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
type Const Szükséges. A mintavételezési algoritmus típusa. random
seed egész szám Véletlenszerű mag a véletlenszerű számgenerálás inicializálásához. Ha nincs megadva, az alapértelmezett kezdőérték null.
rule húr A használandó véletlenszerű mintavételezés típusa. Az alapértelmezett, randomegyszerű, egységes véletlenszerű mintavételezést használ, míg sobol a Sobol kvázi véletlenszerű sorozatot használja. random, sobol random

GridSamplingAlgorithm

Kulcs Típus Leírás Megengedett értékek
type Const Szükséges. A mintavételezési algoritmus típusa. grid

BayesianSamplingAlgorithm

Kulcs Típus Leírás Megengedett értékek
type Const Szükséges. A mintavételezési algoritmus típusa. bayesian

Korai megszüntetési szabályzatok

BanditPolicy

Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
type Const Szükséges. A szabályzat típusa. bandit
slack_factor szám A legjobban teljesítő próbaidőszaktól megengedett távolság kiszámításához használt arány. Az egyik vagy slack_factor slack_amount kötelező.
slack_amount szám A legjobban teljesítő próbaidőszaktól megengedett abszolút távolság. Az egyik vagy slack_factor slack_amount kötelező.
evaluation_interval egész szám A szabályzat alkalmazásának gyakorisága. 1
delay_evaluation egész szám Azoknak az intervallumoknak a száma, amelyeknél késleltetni kell az első szabályzat kiértékelését. Ha meg van adva, a szabályzat minden olyan többszörösre evaluation_interval vonatkozik, amely nagyobb vagy egyenlő delay_evaluation. 0

MediánStoppingPolicy

Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
type Const Szükséges. A szabályzat típusa. median_stopping
evaluation_interval egész szám A szabályzat alkalmazásának gyakorisága. 1
delay_evaluation egész szám Azoknak az intervallumoknak a száma, amelyeknél késleltetni kell az első szabályzat kiértékelését. Ha meg van adva, a szabályzat minden olyan többszörösre evaluation_interval vonatkozik, amely nagyobb vagy egyenlő delay_evaluation. 0

CsonkolásSelectionPolicy

Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
type Const Szükséges. A szabályzat típusa. truncation_selection
truncation_percentage egész szám Szükséges. Az egyes kiértékelési időszakokban megszakítandó próbafeladatok százalékos aránya.
evaluation_interval egész szám A szabályzat alkalmazásának gyakorisága. 1
delay_evaluation egész szám Azoknak az intervallumoknak a száma, amelyeknél késleltetni kell az első szabályzat kiértékelését. Ha meg van adva, a szabályzat minden olyan többszörösre evaluation_interval vonatkozik, amely nagyobb vagy egyenlő delay_evaluation. 0

Paraméterkifejezések

Választási lehetőség

Kulcs Típus Leírás Megengedett értékek
type Const Szükséges. A kifejezés típusa. choice
values array Szükséges. Azoknak a különálló értékeknek a listája, amelyek közül választani szeretne.

Randint

Kulcs Típus Leírás Megengedett értékek
type Const Szükséges. A kifejezés típusa. randint
upper egész szám Szükséges. Az egész számok tartományának kizárólagos felső határa.

Qlognormal, qnormális

Kulcs Típus Leírás Megengedett értékek
type Const Szükséges. A kifejezés típusa. qlognormal, qnormal
mu szám Szükséges. A normál eloszlás középértékét.
sigma szám Szükséges. A normál eloszlás szórása.
q egész szám Szükséges. A simító tényező.

Qloguniform, quniform

Kulcs Típus Leírás Megengedett értékek
type Const Szükséges. A kifejezés típusa. qloguniform, quniform
min_value szám Szükséges. A tartomány minimális értéke (a tartományt is beleértve).
max_value szám Szükséges. A tartomány maximális értéke (a tartományt is beleértve).
q egész szám Szükséges. A simító tényező.

Lognormális, normál

Kulcs Típus Leírás Megengedett értékek
type Const Szükséges. A kifejezés típusa. lognormal, normal
mu szám Szükséges. A normál eloszlás középértékét.
sigma szám Szükséges. A normál eloszlás szórása.

Loguniform

Kulcs Típus Leírás Megengedett értékek
type Const Szükséges. A kifejezés típusa. loguniform
min_value szám Szükséges. A tartomány minimális értéke (a teljes tartományt exp(min_value) is beleértve).
max_value szám Szükséges. A tartomány maximális értéke (a teljes értéket exp(max_value) is beleértve).

Egyenruha

Kulcs Típus Leírás Megengedett értékek
type Const Szükséges. A kifejezés típusa. uniform
min_value szám Szükséges. A tartomány minimális értéke (a tartományt is beleértve).
max_value szám Szükséges. A tartomány maximális értéke (a tartományt is beleértve).

A kulcs attribútumai limits

Kulcs Típus Leírás Alapértelmezett érték
max_total_trials egész szám A próbafeladatok maximális száma. 1000
max_concurrent_trials egész szám Az egyidejűleg futtatható próbafeladatok maximális száma. Alapértelmezett érték: max_total_trials.
timeout egész szám A teljes takarítási feladat futtatásának maximális időtartama másodpercben. A korlát elérése után a rendszer megszakítja a takarítási feladatot, beleértve az összes próbaverzióját is. 5184000
trial_timeout egész szám Az egyes próbafeladatok maximális futási ideje másodpercben. A korlát elérése után a rendszer megszakítja a próbaverziót.

A kulcs attribútumai trial

Kulcs Típus Leírás Alapértelmezett érték
command húr Szükséges. A végrehajtandó parancs.
code húr A feladathoz feltölteni és használni kívánt forráskódkönyvtár helyi elérési útja.
environment sztring vagy objektum Szükséges. A feladathoz használni kívánt környezet. Ez az érték hivatkozhat a munkaterület meglévő verziójú környezetére, vagy egy beágyazott környezeti specifikációra.

Meglévő környezetre való hivatkozáshoz használja a szintaxist azureml:<environment-name>:<environment-version> .

A környezet beágyazott definiálásához kövesse a Környezeti sémát. Zárja ki a name tulajdonságokat, version mert a beágyazott környezetek nem támogatják őket.
environment_variables object A környezeti változó név-érték párjainak szótára a parancs végrehajtásának folyamatához.
distribution object Az elosztott betanítási forgatókönyvek terjesztési konfigurációja. Mpi-konfiguráció, PyTorch-konfiguráció vagy TensorFlow-konfiguráció.
resources.instance_count egész szám A feladathoz használandó csomópontok száma. 1

Terjesztési konfigurációk

MpiConfiguration
Kulcs Típus Leírás Megengedett értékek
type Const Szükséges. Terjesztési típus. mpi
process_count_per_instance egész szám Szükséges. A feladathoz elindítandó csomópontonkénti folyamatok száma.
PyTorchConfiguration
Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
type Const Szükséges. Terjesztési típus. pytorch
process_count_per_instance egész szám A feladathoz elindítandó csomópontonkénti folyamatok száma. 1
TensorFlowConfiguration
Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
type Const Szükséges. Terjesztési típus. tensorflow
worker_count egész szám A feladathoz elindítandó dolgozók száma. Alapértelmezett érték: resources.instance_count.
parameter_server_count egész szám A feladathoz elindítandó paraméterkiszolgálók száma. 0

Feladatbemenetek

Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
type húr A feladatbemenet típusa. Adja meg uri_file az egyetlen fájlforrásra ható bemeneti adatokat, illetve uri_folder a mappaforrásra ható bemeneti adatokat. További információ: További információ az adathozzáférésről. uri_file, uri_folder, mltablemlflow_model uri_folder
path húr A bemenetként használni kívánt adatok elérési útja. Ez az érték többféleképpen is megadható:

- Az adatforrásfájl vagy -mappa helyi elérési útja, például path: ./iris.csv. Az adatok feltöltése a feladat beküldése során.

- A bemenetként használni kívánt fájl vagy mappa felhőbeli elérési útjának URI-ja. A támogatott URI-típusok a következőkazureml: , https, wasbs, abfssadl. Az URI formátum használatáról további információt a azureml:// Core yaml szintaxisában talál.

– Meglévő regisztrált Azure Machine Learning-adategység bemenetként való használatához. Regisztrált adategységre való hivatkozáshoz használja a azureml:<data_name>:<data_version> szintaxist vagy azureml:<data_name>@latest (az adategység legújabb verziójára való hivatkozáshoz) – például vagy path: azureml:cifar10-data:1 path: azureml:cifar10-data@latest.
mode húr Az adatok számítási célba való kézbesítésének módja.

Írásvédett csatlakoztatásro_mount () esetén az adatok csatlakoztatási útvonalként lesznek felhasználva. A mappa mappaként van csatlakoztatva, a fájl pedig fájlként van csatlakoztatva. Az Azure Machine Learning feloldja a csatlakoztatási útvonal bemenetét.

Mód esetén download az adatok a számítási célra lesznek letöltve. Az Azure Machine Learning feloldja a letöltött elérési út bemenetét.

Csak az adatösszetevő vagy -összetevők tárolási helyének URL-címe esetén az adatok csatlakoztatása vagy letöltése helyett használja a direct módot. Ez a feladat bemeneteként a tárolási hely URL-címét adja át. Ebben az esetben teljes mértékben Ön a felelős a tárhoz való hozzáféréshez szükséges hitelesítő adatok kezeléséért.
ro_mount, , downloaddirect ro_mount

Feladatkimenetek

Kulcs Típus Leírás Megengedett értékek Alapértelmezett érték
type húr A feladat kimenetének típusa. Az alapértelmezett uri_folder típus esetében a kimenet egy mappának felel meg. uri_file, uri_folder, mltablemlflow_model uri_folder
mode húr A kimeneti fájl vagy fájlok céltárolóba való kézbesítésének módja. Az olvasási-írási csatlakoztatási mód (rw_mount) esetében a kimeneti könyvtár egy csatlakoztatott könyvtár. A feltöltési mód esetében az összes megírt fájl a feladat végén lesz feltöltve. rw_mount, upload rw_mount

Identitáskonfigurációk

UserIdentityConfiguration

Kulcs Típus Leírás Megengedett értékek
type Const Szükséges. Identitástípus. user_identity

ManagedIdentityConfiguration

Kulcs Típus Leírás Megengedett értékek
type Const Szükséges. Identitástípus. managed vagy managed_identity

Megjegyzések

A paranccsal kezelheti az az ml job Azure Machine Learning-feladatokat.

Példák

Példákért tekintse meg a GitHub-adattárat . Itt több is látható:

YAML: hello sweep

$schema: https://azuremlschemas.azureedge.net/latest/sweepJob.schema.json
type: sweep
trial:
  command: >-
    python hello-sweep.py
    --A ${{inputs.A}}
    --B ${{search_space.B}}
    --C ${{search_space.C}}
  code: src
  environment: azureml:AzureML-sklearn-1.5@latest
inputs:
  A: 0.5
sampling_algorithm: random
search_space:
  B:
    type: choice
    values: ["hello", "world", "hello_world"]
  C:
    type: uniform
    min_value: 0.1
    max_value: 1.0
objective:
  goal: minimize
  primary_metric: random_metric
limits:
  max_total_trials: 4
  max_concurrent_trials: 2
  timeout: 3600
display_name: hello-sweep-example
experiment_name: hello-sweep-example
description: Hello sweep job example.

YAML: alapszintű Python-modell hiperparaméter-finomhangolása

$schema: https://azuremlschemas.azureedge.net/latest/sweepJob.schema.json
type: sweep
trial:
  code: src
  command: >-
    python main.py 
    --iris-csv ${{inputs.iris_csv}}
    --C ${{search_space.C}}
    --kernel ${{search_space.kernel}}
    --coef0 ${{search_space.coef0}}
  environment: azureml://registries/azureml/environments/sklearn-1.5/labels/latest
inputs:
  iris_csv: 
    type: uri_file
    path: wasbs://datasets@azuremlexamples.blob.core.windows.net/iris.csv
compute: azureml:cpu-cluster
sampling_algorithm: random
search_space:
  C:
    type: uniform
    min_value: 0.5
    max_value: 0.9
  kernel:
    type: choice
    values: ["rbf", "linear", "poly"]
  coef0:
    type: uniform
    min_value: 0.1
    max_value: 1
objective:
  goal: minimize
  primary_metric: training_f1_score
limits:
  max_total_trials: 20
  max_concurrent_trials: 10
  timeout: 7200
display_name: sklearn-iris-sweep-example
experiment_name: sklearn-iris-sweep-example
description: Sweep hyperparemeters for training a scikit-learn SVM on the Iris dataset.

Következő lépések