De YAML-syntaxis die in dit document wordt beschreven, is gebaseerd op het JSON-schema voor de nieuwste versie van de ML CLI v2-extensie. Deze syntaxis werkt gegarandeerd alleen met de nieuwste versie van de ML CLI v2-extensie.
U vindt de schema's voor oudere extensieversies op https://azuremlschemasprod.azureedge.net/.
YAML-syntaxis
Sleutel
Type
Description
Toegestane waarden
Default value
$schema
tekenreeks
Het YAML-schema. Als u de Azure Machine Learning VS Code-extensie gebruikt om het YAML-bestand te ontwerpen, kunt u schema- en resourcevoltooiingen aanroepen als u het bestand boven aan het bestand opneemt $schema .
type
Const
Vereist. Het type taak.
sweep
sweep
name
tekenreeks
Naam van de taak. Moet uniek zijn voor alle taken in de werkruimte. Als u dit weglaat, wordt in Azure Machine Learning automatisch een GUID gegenereerd voor de naam.
display_name
tekenreeks
Weergavenaam van de taak in de gebruikersinterface van studio. Kan niet uniek zijn binnen de werkruimte. Als u dit weglaat, wordt in Azure Machine Learning automatisch een door mensen leesbare naamwoord-id voor het naamwoord voor de weergavenaam gegenereerd.
experiment_name
tekenreeks
Organiseer de taak onder de naam van het experiment. De uitvoeringsrecord van elke taak wordt geordend onder het bijbehorende experiment op het tabblad Experimenten van de studio. Als u dit weglaat, wordt azure Machine Learning standaard experiment_name ingesteld op de naam van de werkmap waarin de taak is gemaakt.
Vereist. Woordenlijst van de zoekruimte hyperparameter. De naam van de hyperparameter is de sleutel en de waarde is de parameterexpressie.
Naar Hyperparameters kan worden verwezen in de trial.command expressie ${{ search_space.<hyperparameter> }} .
search_space.<hyperparameter>
object
Ga naar parameterexpressies voor de set mogelijke expressies die u wilt gebruiken.
objective.primary_metric
tekenreeks
Vereist. De naam van de primaire metriek die door elke proeftaak wordt gerapporteerd. De metrische gegevens moeten worden geregistreerd in het trainingsscript van de gebruiker, met behulp van mlflow.log_metric() dezelfde bijbehorende metrische naam.
objective.goal
tekenreeks
Vereist. Het optimalisatiedoel van de objective.primary_metric.
maximize, minimize
early_termination
object
Het beleid voor vroegtijdige beëindiging dat moet worden gebruikt. Een proeftaak wordt geannuleerd wanneer aan de criteria van het opgegeven beleid wordt voldaan. Als u dit weglaat, wordt er geen beleid voor vroegtijdige beëindiging toegepast. Een van BanditPolicy, MedianStoppingPolicy of TruncationSelectionPolicy.
Vereist. Naam van het rekendoel waarop de taak moet worden uitgevoerd, met de azureml:<compute_name> syntaxis.
trial
object
Vereist. De taaksjabloon voor elke proefversie. Elke proeftaak wordt geleverd met een andere combinatie van hyperparameterwaarden die de systeemvoorbeelden van de search_space. Ga naar Kenmerken van de trial sleutel.
inputs
object
Woordenlijst met invoer voor de taak. De sleutel is een naam voor de invoer binnen de context van de taak en de waarde is de invoerwaarde.
In de command${{ inputs.<input_name> }} expressie kan naar invoer worden verwezen.
inputs.<input_name>
getal, geheel getal, booleaanse waarde, tekenreeks of object
Een van een letterlijke waarde (van het type getal, geheel getal, booleaanse waarde of tekenreeks) of een object dat een specificatie voor taakinvoergegevens bevat.
outputs
object
Woordenlijst met uitvoerconfiguraties van de taak. De sleutel is een naam voor de uitvoer binnen de context van de taak en de waarde is de uitvoerconfiguratie.
Er kan naar uitvoer worden verwezen in de command expressie ${{ outputs.<output_name> }} .
outputs.<output_name>
object
U kunt het object leeg laten en in dat geval is de uitvoer standaard van uri_folder het type en genereert het Azure Machine Learning-systeem een uitvoerlocatie voor de uitvoer. Alle bestanden naar de uitvoermap worden geschreven via koppeling voor lezen/schrijven. Als u een andere modus voor de uitvoer wilt opgeven, geeft u een object op dat de taakuitvoerspecificatie bevat.
identity
object
De identiteit wordt gebruikt voor toegang tot gegevens. Dit kan gebruikersidentiteitsconfiguratie, beheerde identiteitconfiguratie of geen zijn. Voor UserIdentityConfiguration wordt de identiteit van de taakaanzender gebruikt voor toegang tot invoergegevens en het schrijfresultaat naar de uitvoermap. Anders wordt de beheerde identiteit van het rekendoel gebruikt.
Samplingalgoritmen
RandomSamplingAlgorithm
Sleutel
Type
Description
Toegestane waarden
Default value
type
Const
Vereist. Het type sampling-algoritme.
random
seed
geheel getal
Een willekeurige seed die moet worden gebruikt om de generatie van willekeurige getallen te initialiseren. Als u dit weglaat, is de standaard seed-waarde null.
rule
tekenreeks
Het type willekeurige steekproeven dat moet worden gebruikt. De standaardinstelling, randommaakt gebruik van eenvoudige uniforme willekeurige steekproeven, terwijl sobol de sobol quasi-willekeurige reeks wordt gebruikt.
random, sobol
random
GridSamplingAlgorithm
Sleutel
Type
Description
Toegestane waarden
type
Const
Vereist. Het type sampling-algoritme.
grid
BayesianSamplingAlgorithm
Sleutel
Type
Description
Toegestane waarden
type
Const
Vereist. Het type sampling-algoritme.
bayesian
Beleid voor vroegtijdige beëindiging
BanditPolicy
Sleutel
Type
Description
Toegestane waarden
Default value
type
Const
Vereist. Het type beleid.
bandit
slack_factor
Nummer
De verhouding die wordt gebruikt om de toegestane afstand van de best presterende proefversie te berekenen. Een van slack_factor of slack_amount is vereist.
slack_amount
Nummer
De absolute afstand die is toegestaan van de best presterende proefversie. Een van slack_factor of slack_amount is vereist.
evaluation_interval
geheel getal
De frequentie voor het toepassen van het beleid.
1
delay_evaluation
geheel getal
Het aantal intervallen waarvoor de eerste beleidsevaluatie moet worden vertraagd. Indien opgegeven, is het beleid van toepassing op elk veelvoud evaluation_interval dat groter is dan of gelijk is aan delay_evaluation.
0
MedianStoppingPolicy
Sleutel
Type
Description
Toegestane waarden
Default value
type
Const
Vereist. Het type beleid.
median_stopping
evaluation_interval
geheel getal
De frequentie voor het toepassen van het beleid.
1
delay_evaluation
geheel getal
Het aantal intervallen waarvoor de eerste beleidsevaluatie moet worden vertraagd. Indien opgegeven, is het beleid van toepassing op elk veelvoud evaluation_interval dat groter is dan of gelijk is aan delay_evaluation.
0
TruncationSelectionPolicy
Sleutel
Type
Description
Toegestane waarden
Default value
type
Const
Vereist. Het type beleid.
truncation_selection
truncation_percentage
geheel getal
Vereist. Het percentage proeftaken dat bij elk evaluatieinterval moet worden geannuleerd.
evaluation_interval
geheel getal
De frequentie voor het toepassen van het beleid.
1
delay_evaluation
geheel getal
Het aantal intervallen waarvoor de eerste beleidsevaluatie moet worden vertraagd. Indien opgegeven, is het beleid van toepassing op elk veelvoud evaluation_interval dat groter is dan of gelijk is aan delay_evaluation.
0
Parameterexpressies
Keuze
Sleutel
Type
Description
Toegestane waarden
type
Const
Vereist. Het expressietype.
choice
values
matrix
Vereist. De lijst met discrete waarden waaruit u kunt kiezen.
Randint
Sleutel
Type
Description
Toegestane waarden
type
Const
Vereist. Het expressietype.
randint
upper
geheel getal
Vereist. De exclusieve bovengrens voor het bereik van gehele getallen.
Qlognormal, qnormal
Sleutel
Type
Description
Toegestane waarden
type
Const
Vereist. Het expressietype.
qlognormal, qnormal
mu
Nummer
Vereist. Het gemiddelde van de normale verdeling.
sigma
Nummer
Vereist. De standaarddeviatie van de normale verdeling.
q
geheel getal
Vereist. De vloeiende factor.
Qloguniform, quniform
Sleutel
Type
Description
Toegestane waarden
type
Const
Vereist. Het expressietype.
qloguniform, quniform
min_value
Nummer
Vereist. De minimumwaarde in het bereik (inclusief).
max_value
Nummer
Vereist. De maximumwaarde in het bereik (inclusief).
q
geheel getal
Vereist. De vloeiende factor.
Logaritmische, normale
Sleutel
Type
Description
Toegestane waarden
type
Const
Vereist. Het expressietype.
lognormal, normal
mu
Nummer
Vereist. Het gemiddelde van de normale verdeling.
sigma
Nummer
Vereist. De standaarddeviatie van de normale verdeling.
Loguniform
Sleutel
Type
Description
Toegestane waarden
type
Const
Vereist. Het expressietype.
loguniform
min_value
Nummer
Vereist. De minimumwaarde in het bereik is exp(min_value) (inclusief).
max_value
Nummer
Vereist. De maximumwaarde in het bereik is exp(max_value) (inclusief).
Uniform
Sleutel
Type
Description
Toegestane waarden
type
Const
Vereist. Het expressietype.
uniform
min_value
Nummer
Vereist. De minimumwaarde in het bereik (inclusief).
max_value
Nummer
Vereist. De maximumwaarde in het bereik (inclusief).
Kenmerken van de limits sleutel
Sleutel
Type
Description
Default value
max_total_trials
geheel getal
Het maximum aantal proeftaken.
1000
max_concurrent_trials
geheel getal
Het maximum aantal proeftaken dat gelijktijdig kan worden uitgevoerd.
Standaard ingesteld op max_total_trials.
timeout
geheel getal
De maximale tijd in seconden, dat de hele sweep-taak mag worden uitgevoerd. Zodra deze limiet is bereikt, annuleert het systeem de sweep-taak, inclusief alle proefversies.
5184000
trial_timeout
geheel getal
De maximale tijd in seconden mag elke proeftaak worden uitgevoerd. Zodra deze limiet is bereikt, annuleert het systeem de proefversie.
Kenmerken van de trial sleutel
Sleutel
Type
Description
Default value
command
tekenreeks
Vereist. De opdracht die moet worden uitgevoerd.
code
tekenreeks
Lokaal pad naar de broncodemap die moet worden geüpload en gebruikt voor de taak.
environment
tekenreeks of object
Vereist. De omgeving die moet worden gebruikt voor de taak. Deze waarde kan een verwijzing zijn naar een bestaande versieomgeving in de werkruimte of een inline-omgevingsspecificatie.
Als u naar een bestaande omgeving wilt verwijzen, gebruikt u de azureml:<environment-name>:<environment-version> syntaxis.
Als u een omgeving inline wilt definiëren, volgt u het omgevingsschema. Sluit de name en version eigenschappen uit omdat inline-omgevingen deze niet ondersteunen.
environment_variables
object
Woordenlijst van naam-waardeparen van omgevingsvariabelen die moeten worden ingesteld voor het proces waarin de opdracht wordt uitgevoerd.
Het aantal knooppunten dat moet worden gebruikt voor de taak.
1
Distributieconfiguraties
MpiConfiguration
Sleutel
Type
Description
Toegestane waarden
type
Const
Vereist. Distributietype.
mpi
process_count_per_instance
geheel getal
Vereist. Het aantal processen per knooppunt dat moet worden gestart voor de taak.
PyTorchConfiguration
Sleutel
Type
Description
Toegestane waarden
Default value
type
Const
Vereist. Distributietype.
pytorch
process_count_per_instance
geheel getal
Het aantal processen per knooppunt dat moet worden gestart voor de taak.
1
TensorFlowConfiguration
Sleutel
Type
Description
Toegestane waarden
Default value
type
Const
Vereist. Distributietype.
tensorflow
worker_count
geheel getal
Het aantal werknemers dat voor de taak moet worden gestart.
Standaard ingesteld op resources.instance_count.
parameter_server_count
geheel getal
Het aantal parameterservers dat moet worden gestart voor de taak.
0
Taakinvoer
Sleutel
Type
Description
Toegestane waarden
Default value
type
tekenreeks
Het type taakinvoer. Geef uri_file op voor invoergegevens die naar één bestandsbron verwijst of uri_folder voor invoergegevens die naar een mapbron verwijst. Ga voor meer informatie naar Meer informatie over gegevenstoegang.
uri_file, , , uri_foldermltablemlflow_model
uri_folder
path
tekenreeks
Het pad naar de gegevens die moeten worden gebruikt als invoer. Deze waarde kan op een aantal manieren worden opgegeven:
- Een lokaal pad naar het gegevensbestand of de map, bijvoorbeeld path: ./iris.csv. De gegevens worden geüpload tijdens het verzenden van taken.
- Een URI van een cloudpad naar het bestand of de map die moet worden gebruikt als invoer. Ondersteunde URI-typen zijn azureml, https, wasbs, , abfss. adl Ga naar core yaml-syntaxis voor meer informatie over het gebruik van de azureml:// URI-indeling.
- Een bestaand geregistreerd Azure Machine Learning-gegevensasset dat moet worden gebruikt als invoer. Als u wilt verwijzen naar een geregistreerde gegevensasset, gebruikt u de azureml:<data_name>:<data_version> syntaxis of azureml:<data_name>@latest (om te verwijzen naar de nieuwste versie van die gegevensasset), bijvoorbeeld path: azureml:cifar10-data:1 .path: azureml:cifar10-data@latest
mode
tekenreeks
Modus van hoe de gegevens moeten worden geleverd aan het rekendoel.
Voor alleen-lezenkoppeling (ro_mount) worden de gegevens gebruikt als koppelpad. Een map wordt gekoppeld als een map en een bestand wordt gekoppeld als een bestand. Azure Machine Learning lost de invoer voor het koppelpad op.
Voor download de modus worden de gegevens gedownload naar het rekendoel. Azure Machine Learning lost de invoer op naar het gedownloade pad.
Voor alleen de URL van de opslaglocatie van het gegevensartefact of artefacten, in plaats van de gegevens zelf te koppelen of te downloaden, gebruikt u de direct modus. Hiermee wordt de URL van de opslaglocatie doorgegeven als de taakinvoer. In dit geval bent u volledig verantwoordelijk voor het afhandelen van referenties voor toegang tot de opslag.
ro_mount, , downloaddirect
ro_mount
Taakuitvoer
Sleutel
Type
Description
Toegestane waarden
Default value
type
tekenreeks
Het uitvoertype van de taak. Voor het standaardtype uri_folder komt de uitvoer overeen met een map.
uri_file, , , uri_foldermltablemlflow_model
uri_folder
mode
tekenreeks
Modus van de levering van het uitvoerbestand of de bestanden aan de doelopslag. Voor de koppelingsmodus lezen/schrijven (rw_mount) is de uitvoermap een gekoppelde map. Voor de uploadmodus worden alle geschreven bestanden aan het einde van de taak geüpload.
rw_mount, upload
rw_mount
Identiteitsconfiguraties
UserIdentityConfiguration
Sleutel
Type
Description
Toegestane waarden
type
Const
Vereist. Identiteitstype.
user_identity
ManagedIdentityConfiguration
Sleutel
Type
Description
Toegestane waarden
type
Const
Vereist. Identiteitstype.
managed of managed_identity
Opmerkingen
U kunt de az ml job opdracht gebruiken om Azure Machine Learning-taken te beheren.