RunConfiguration Klas
Vertegenwoordigt de configuratie voor experimentuitvoeringen die zijn gericht op verschillende rekendoelen in Azure Machine Learning.
Het RunConfiguration-object bevat de informatie die nodig is om een trainingsuitvoering in een experiment in te dienen. Normaal gesproken maakt u geen RunConfiguration-object rechtstreeks, maar haalt u er een op uit een methode die het retourneert, zoals de submit methode van de Experiment klasse.
RunConfiguration is een basisomgevingsconfiguratie die ook wordt gebruikt in andere typen configuratiestappen die afhankelijk zijn van het type uitvoering dat u activeert. Als u bijvoorbeeld een PythonScriptStepinstelling instelt, hebt u toegang tot het RunConfiguration-object van de stap en configureert u Conda-afhankelijkheden of opent u de omgevingseigenschappen voor de uitvoering.
Zie Een rekendoel selecteren en gebruiken om uw model te trainen voor voorbeelden van uitvoeringsconfiguraties.
Initialiseer een RunConfiguration met de standaardinstellingen.
Constructor
RunConfiguration(script=None, arguments=None, framework=None, communicator=None, conda_dependencies=None, _history_enabled=None, _path=None, _name=None, command=None)
Parameters
| Name | Description |
|---|---|
|
script
|
Het relatieve pad naar het Python-scriptbestand. Het bestandspad is relatief ten opzichte van de bronmap die wordt doorgegeven aan submit. Default value: None
|
|
arguments
|
Opdrachtregelargumenten voor het Python-scriptbestand. Default value: None
|
|
framework
|
Het beoogde framework dat in de uitvoering wordt gebruikt. Ondersteunde frameworks zijn Python, PySpark, TensorFlow en PyTorch. Default value: None
|
|
communicator
|
De communicator die in de uitvoering wordt gebruikt. De ondersteunde communicatoren zijn None, ParameterServer, OpenMpi en IntelMpi. Houd er rekening mee dat OpenMpi een aangepaste installatiekopieën vereist waarop OpenMpi is geïnstalleerd. Gebruik ParameterServer of OpenMpi voor AmlCompute-clusters. Gebruik IntelMpi voor gedistribueerde trainingstaken. Default value: None
|
|
conda_dependencies
|
Wanneer het systeem de standaardwaarde False heeft, maakt het systeem een Python-omgeving, die de pakketten bevat die zijn opgegeven in Default value: None
|
|
auto_prepare_environment
Vereist
|
VEROUDERD. Deze instelling wordt niet meer gebruikt. |
|
command
|
De opdracht die moet worden verzonden voor de uitvoering. De opdrachteigenschap kan ook worden gebruikt in plaats van script/argumenten. Eigenschappen van zowel opdrachten als scripts/argumenten kunnen niet samen worden gebruikt om een uitvoering te verzenden. Een scriptbestand verzenden met behulp van de opdrachteigenschap ['python', 'train.py', '–arg1', arg1_val] Een werkelijke opdracht uitvoeren - ['ls'] Default value: None
|
|
_history_enabled
|
Default value: None
|
|
_path
|
Default value: None
|
|
_name
|
Default value: None
|
Opmerkingen
We bouwen machine learning-systemen doorgaans om een specifiek probleem op te lossen. We kunnen bijvoorbeeld geïnteresseerd zijn in het vinden van het beste model dat webpagina's rangschikt die kunnen worden geleverd als zoekresultaten die overeenkomen met een query. Voor onze zoekopdracht naar het beste machine learning-model kunnen we verschillende algoritmen uitproberen, of verschillende parameterinstellingen overwegen, enzovoort.
In de Azure Machine Learning SDK gebruiken we het concept van een experiment om het idee vast te leggen dat verschillende trainingsuitvoeringen zijn gerelateerd aan het probleem dat ze proberen op te lossen. Een Experiment fungeert vervolgens als een logische container voor deze trainingsuitvoeringen, waardoor het gemakkelijker is om de voortgang van trainingsuitvoeringen bij te houden, twee trainingsuitvoeringen rechtstreeks te vergelijken, enzovoort.
De RunConfiguration bevat uitvoeringsomgevingsinstellingen die nodig zijn om een trainingsuitvoering in een experiment in te dienen. Het legt zowel de gedeelde structuur van trainingsuitvoeringen vast die zijn ontworpen om hetzelfde machine learning-probleem op te lossen, evenals de verschillen in de configuratieparameters (bijvoorbeeld leersnelheid, verliesfunctie, enzovoort) die verschillende trainingsuitvoeringen van elkaar onderscheiden.
In typische trainingsscenario's wordt RunConfiguration gebruikt door een object te maken dat een ScriptRunConfig RunConfiguration-object samenpakt en een uitvoeringsscript voor training.
De configuratie van RunConfiguration omvat:
Bundeling van de bronmap van het experiment, inclusief het ingediende script.
De opdrachtregelargumenten voor het ingediende script instellen.
Het pad voor de Python-interpreter configureren.
Conda-configuratie verkrijgen voor het beheren van de toepassingsafhankelijkheden. Het proces voor het indienen van taken kan de configuratie gebruiken om een tijdelijke Conda-omgeving in te richten en de toepassing binnen te starten. De tijdelijke omgevingen worden in de cache opgeslagen en opnieuw gebruikt in volgende uitvoeringen.
Optioneel gebruik van Docker- en aangepaste basisinstallatiekopieën.
Optionele keuze voor het verzenden van het experiment naar meerdere typen Azure Compute.
Optionele keuze voor het configureren van het materialiseren van invoer- en uploaduitvoer.
Geavanceerde runtime-instellingen voor algemene runtimes, zoals spark en tensorflow.
In het volgende voorbeeld ziet u hoe u een trainingsscript verzendt op uw lokale computer.
from azureml.core import ScriptRunConfig, RunConfiguration, Experiment
# create or load an experiment
experiment = Experiment(workspace, "MyExperiment")
# run a trial from the train.py code in your current directory
config = ScriptRunConfig(source_directory='.', script='train.py',
run_config=RunConfiguration())
run = experiment.submit(config)
In het volgende voorbeeld ziet u hoe u een trainingsscript op uw cluster verzendt met behulp van de opdrachteigenschap in plaats van script en argumenten.
from azureml.core import ScriptRunConfig, Experiment
# create or load an experiment
experiment = Experiment(workspace, 'MyExperiment')
# create or retrieve a compute target
cluster = workspace.compute_targets['MyCluster']
# create or retrieve an environment
env = Environment.get(ws, name='MyEnvironment')
# configure and submit your training run
config = ScriptRunConfig(source_directory='.',
command=['python', 'train.py', '--arg1', arg1_val],
compute_target=cluster,
environment=env)
script_run = experiment.submit(config)
In het volgende voorbeeld ziet u hoe u een opdracht uitvoert op uw cluster.
from azureml.core import ScriptRunConfig, Experiment
# create or load an experiment
experiment = Experiment(workspace, 'MyExperiment')
# create or retrieve a compute target
cluster = workspace.compute_targets['MyCluster']
# create or retrieve an environment
env = Environment.get(ws, name='MyEnvironment')
# configure and submit your training run
config = ScriptRunConfig(source_directory='.',
command=['ls', '-l'],
compute_target=cluster,
environment=env)
script_run = experiment.submit(config)
Variabelen
| Name | Description |
|---|---|
|
environment
|
De omgevingsdefinitie. Met dit veld configureert u de Python-omgeving. Het kan worden geconfigureerd om een bestaande Python-omgeving te gebruiken of te configureren voor het instellen van een tijdelijke omgeving voor het experiment. De definitie is ook verantwoordelijk voor het instellen van de vereiste toepassingsafhankelijkheden. |
|
max_run_duration_seconds
|
De maximale tijd die is toegestaan voor de uitvoering. Het systeem probeert de uitvoering automatisch te annuleren als het langer duurde dan deze waarde. |
|
node_count
|
Het aantal knooppunten dat moet worden gebruikt voor de taak. |
|
priority
|
De prioriteit van de taak voor planningsbeleid. |
|
history
|
De configuratiesectie die wordt gebruikt om functies voor logboekregistratie van experimentgeschiedenis uit te schakelen en in te schakelen. |
|
spark
|
Wanneer het platform is ingesteld op PySpark, wordt de Spark-configuratiesectie gebruikt om de standaard SparkConf in te stellen voor de ingediende taak. |
|
hdi
|
De sectie HDI-configuratie wordt alleen van kracht wanneer het doel is ingesteld op een Azure HDI-rekenproces. De HDI-configuratie wordt gebruikt om de YARN-implementatiemodus in te stellen. De standaardimplementatiemodus is cluster. |
|
docker
|
De sectie Docker-configuratie wordt gebruikt om variabelen in te stellen voor de Docker-omgeving. |
|
tensorflow
|
De configuratiesectie die wordt gebruikt voor het configureren van gedistribueerde TensorFlow-parameters.
Deze parameter wordt alleen van kracht wanneer de |
|
mpi
|
De configuratiesectie die wordt gebruikt voor het configureren van parameters voor gedistribueerde MPI-taken.
Deze parameter wordt alleen van kracht wanneer de |
|
pytorch
|
De configuratiesectie die wordt gebruikt voor het configureren van gedistribueerde PyTorch-taakparameters.
Deze parameter wordt alleen van kracht wanneer de |
|
paralleltask
|
De configuratiesectie die wordt gebruikt voor het configureren van parameters voor gedistribueerde paralleltask-taken.
Deze parameter wordt alleen van kracht wanneer de |
|
data_references
|
Alle gegevensbronnen zijn beschikbaar voor de uitvoering tijdens de uitvoering op basis van elke configuratie. Voor elk item van de woordenlijst is de sleutel een naam die aan de gegevensbron wordt gegeven en de waarde een DataReferenceConfiguration is. |
|
data
|
Alle gegevens die tijdens de uitvoering beschikbaar moeten worden gesteld voor de uitvoering. |
|
datacaches
|
<xref:buildin.list>[DatacacheConfiguration]
Alle gegevens om datacache beschikbaar te maken voor de uitvoering tijdens de uitvoering. |
|
output_data
|
Alle uitvoer die moet worden geüpload en bijgehouden voor deze uitvoering. |
|
source_directory_data_store
|
Het back-upgegevensarchief voor de projectshare. |
|
amlcompute
|
De details van het rekendoel dat tijdens het experiment moet worden gemaakt. De configuratie wordt alleen van kracht wanneer het rekendoel AmlCompute is. |
|
kubernetescompute
|
De details van het rekendoel dat tijdens het experiment moet worden gebruikt. De configuratie wordt alleen van kracht wanneer het rekendoel KubernetesCompute is. |
|
services
|
Eindpunten voor interactief gebruik met de rekenresource. Toegestane eindpunten zijn Jupyter-, JupyterLab-, VS Code-, Tensorboard-, SSH- en Aangepaste poorten. |
Methoden
| delete |
Verwijder een uitvoeringsconfiguratiebestand. Hiermee wordt een UserErrorException opgegeven als het configuratiebestand niet wordt gevonden. |
| load |
Laad een eerder opgeslagen uitvoeringsconfiguratiebestand vanuit een on-disk-bestand. Als Als |
| save |
Sla RunConfiguration op in een bestand op schijf. A UserErrorException wordt verhoogd wanneer:
Als Als Deze methode is handig bij het handmatig bewerken van de configuratie of bij het delen van de configuratie met de CLI. |
delete
Verwijder een uitvoeringsconfiguratiebestand.
Hiermee wordt een UserErrorException opgegeven als het configuratiebestand niet wordt gevonden.
static delete(path, name)
Parameters
| Name | Description |
|---|---|
|
path
Vereist
|
Een gebruiker heeft de hoofdmap geselecteerd voor het uitvoeren van configuraties. Dit is doorgaans de Git-opslagplaats of de hoofdmap van het Python-project. De configuratie wordt verwijderd uit een submap met de naam .azureml. |
|
name
Vereist
|
De naam van het configuratiebestand. |
Uitzonderingen
| Type | Description |
|---|---|
|
UserErrorException
|
load
Laad een eerder opgeslagen uitvoeringsconfiguratiebestand vanuit een on-disk-bestand.
Als path er naar een bestand wordt verwezen, wordt de RunConfiguration vanuit dat bestand geladen.
Als path verwijst naar een map, die een projectmap moet zijn, wordt runconfiguration geladen vanuit <path>/.azureml/<name> of <path>/aml_config/<name>.
static load(path, name=None)
Parameters
| Name | Description |
|---|---|
|
path
Vereist
|
Een gebruiker heeft de hoofdmap geselecteerd voor het uitvoeren van configuraties. Dit is doorgaans de Git-opslagplaats of de hoofdmap van het Python-project. Voor compatibiliteit met eerdere versies wordt de configuratie ook geladen vanuit .azureml of aml_config submap. Als het bestand zich niet in deze mappen bevindt, wordt het bestand vanuit het opgegeven pad geladen. |
|
name
|
De naam van het configuratiebestand. Default value: None
|
Retouren
| Type | Description |
|---|---|
|
Het uitvoeringsconfiguratieobject. |
save
Sla RunConfiguration op in een bestand op schijf.
A UserErrorException wordt verhoogd wanneer:
De RunConfiguration kan niet worden opgeslagen met de opgegeven naam.
Er is geen
nameparameter opgegeven.De
pathparameter is ongeldig.
Als path de indeling <dir_path>/<file_name>, waarbij <dir_path> een geldige map is, wordt RunConfiguration opgeslagen op <dir_path>/<file_name>.
Als path verwijst naar een map, die een projectmap moet zijn, wordt runconfiguration opgeslagen op <path>/.azureml/<name> of <path>/aml_config/<name>.
Deze methode is handig bij het handmatig bewerken van de configuratie of bij het delen van de configuratie met de CLI.
save(path=None, name=None, separate_environment_yaml=False)
Parameters
| Name | Description |
|---|---|
|
separate_environment_yaml
|
Geeft aan of de Conda-omgevingsconfiguratie moet worden opgeslagen. Indien waar, wordt de Configuratie van de Conda-omgeving opgeslagen in een YAML-bestand met de naam 'environment.yml'. Default value: False
|
|
path
|
Een gebruiker heeft de hoofdmap geselecteerd voor het uitvoeren van configuraties. Dit is doorgaans de Git-opslagplaats of de hoofdmap van het Python-project. De configuratie wordt opgeslagen in een submap met de naam .azureml. Default value: None
|
|
name
|
[Vereist] De naam van het configuratiebestand. Default value: None
|
Retouren
| Type | Description |
|---|---|
Kenmerken
auto_prepare_environment
Haal de auto_prepare_environment parameter op. Dit is een afgeschafte en ongebruikte instelling.
environment_variables
target
Rekendoel ophalen waarbij de taak is gepland voor uitvoering.
Het standaarddoel is 'lokaal' dat verwijst naar de lokale computer. Beschikbare cloud-rekendoelen zijn te vinden met behulp van de functie compute_targets.
Retouren
| Type | Description |
|---|---|
|
De doelnaam |