RunConfiguration Klass

Representerar konfiguration för experimentkörningar som riktar sig till olika beräkningsmål i Azure Machine Learning.

RunConfiguration-objektet kapslar in den information som behövs för att skicka en träningskörning i ett experiment. Vanligtvis skapar du inte ett RunConfiguration-objekt direkt utan hämtar ett från en metod som returnerar det, till exempel submit -metoden för Experiment klassen.

RunConfiguration är en grundläggande miljökonfiguration som också används i andra typer av konfigurationssteg som är beroende av vilken typ av körning du utlöser. När du till exempel konfigurerar ett PythonScriptStepkan du komma åt stegets RunConfiguration-objekt och konfigurera Conda-beroenden eller komma åt miljöegenskaperna för körningen.

Exempel på körningskonfigurationer finns i Välj och använda ett beräkningsmål för att träna din modell.

Initiera en RunConfiguration med standardinställningarna.

Arv
azureml._base_sdk_common.abstract_run_config_element._AbstractRunConfigElement
RunConfiguration

Konstruktor

RunConfiguration(script=None, arguments=None, framework=None, communicator=None, conda_dependencies=None, _history_enabled=None, _path=None, _name=None, command=None)

Parametrar

script
str
standardvärde: None

Den relativa sökvägen till Python-skriptfilen. Filsökvägen är relativ till källkatalogen som skickas till submit.

arguments
list[str]
standardvärde: None

Kommandoradsargument för Python-skriptfilen.

framework
str
standardvärde: None

Det målramverk som används i körningen. Ramverk som stöds är Python, PySpark, TensorFlow och PyTorch.

communicator
str
standardvärde: None

Den kommunikatör som används i körningen. De kommunikatorer som stöds är None, ParameterServer, OpenMpi och IntelMpi. Tänk på att OpenMpi kräver en anpassad avbildning med OpenMpi installerat. Använd ParameterServer eller OpenMpi för AmlCompute-kluster. Använd IntelMpi för distribuerade träningsjobb.

conda_dependencies
CondaDependencies
standardvärde: None

När det lämnas kvar vid standardvärdet False skapar systemet en Python-miljö, som innehåller de paket som anges i conda_dependencies. När värdet är true kan en befintlig Python-miljö anges med inställningen python_interpreter.

auto_prepare_environment
bool
Obligatorisk

DEPRECATED. Den här inställningen används inte längre.

command
list[str] eller str
standardvärde: None

Kommandot som ska skickas för körningen. Kommandoegenskapen kan också användas i stället för skript/argument. Egenskaper för både kommando och skript/argument kan inte användas tillsammans för att skicka en körning. Skicka en skriptfil med hjälp av kommandoegenskapen ['python', 'train.py', '-arg1', arg1_val] Köra ett faktiskt kommando - ['ls']

_history_enabled
standardvärde: None
_path
standardvärde: None
_name
standardvärde: None

Kommentarer

Vi skapar maskininlärningssystem vanligtvis för att lösa ett specifikt problem. Vi kan till exempel vara intresserade av att hitta den bästa modellen som rangordnar webbsidor som kan användas som sökresultat som motsvarar en fråga. Vår sökning efter den bästa maskininlärningsmodellen kan kräva att vi testar olika algoritmer eller överväger olika parameterinställningar osv.

I Azure Machine Learning SDK använder vi begreppet experiment för att fånga upp uppfattningen att olika träningskörningar är relaterade till det problem som de försöker lösa. En Experiment fungerar sedan som en logisk container för dessa träningskörningar, vilket gör det enklare att spåra förloppet mellan träningskörningar, jämföra två träningskörningar direkt osv.

RunConfiguration kapslar in de körningsmiljöinställningar som krävs för att skicka en träningskörning i ett experiment. Den fångar både den delade strukturen för träningskörningar som är utformade för att lösa samma maskininlärningsproblem, samt skillnaderna i konfigurationsparametrar (t.ex. inlärningstakt, förlustfunktion osv.) som skiljer distinkta träningskörningar från varandra.

I vanliga träningsscenarier används RunConfiguration genom att skapa ett ScriptRunConfig objekt som paketeras tillsammans med ett RunConfiguration-objekt och ett körningsskript för träning.

Konfigurationen av RunConfiguration omfattar:

  • Paketering av experimentkällans katalog inklusive det skickade skriptet.

  • Ange kommandoradsargumenten för det skickade skriptet.

  • Konfigurera sökvägen för Python-tolken.

  • Hämta Conda-konfiguration för för att hantera programberoenden. Jobböverföringsprocessen kan använda konfigurationen för att etablera en tillfällig Conda-miljö och starta programmet i. De temporära miljöerna cachelagras och återanvänds i efterföljande körningar.

  • Valfri användning av Docker och anpassade basavbildningar.

  • Valfritt val av att skicka experimentet till flera typer av Azure-beräkning.

  • Valfritt val av att konfigurera hur du materialiserar indata och laddar upp utdata.

  • Avancerade körningsinställningar för vanliga körningar som spark och tensorflow.

I följande exempel visas hur du skickar ett träningsskript på den lokala datorn.


   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)

I följande exempel visas hur du skickar ett träningsskript i klustret med hjälp av kommandoegenskapen i stället för skript och argument.


   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)

Följande exempel visar hur du kör ett kommando i klustret.


   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)

Variabler

environment
Environment

Miljödefinitionen. Det här fältet konfigurerar Python-miljön. Den kan konfigureras för att använda en befintlig Python-miljö eller konfigurera för att konfigurera en temp-miljö för experimentet. Definitionen ansvarar också för att ange nödvändiga programberoenden.

max_run_duration_seconds
int

Den maximala tid som tillåts för körningen. Systemet försöker automatiskt avbryta körningen om det tog längre tid än det här värdet.

node_count
int

Antalet noder som ska användas för jobbet.

priority
int

Prioriteten för jobbet för schemaläggningsprincipen.

history
HistoryConfiguration

Konfigurationsavsnittet som används för att inaktivera och aktivera funktioner för loggning av experimenthistorik.

spark
SparkConfiguration

När plattformen är inställd på PySpark används avsnittet Spark-konfiguration för att ange standard sparkconf för det skickade jobbet.

hdi
HdiConfiguration

AVSNITTET HDI-konfiguration börjar gälla endast när målet är inställt på en Azure HDI-beräkning. HDI-konfigurationen används för att ange YARN-distributionsläget. Standarddistributionsläget är kluster.

docker
DockerConfiguration

Avsnittet Docker-konfiguration används för att ange variabler för Docker-miljön.

tensorflow
TensorflowConfiguration

Konfigurationsavsnittet som används för att konfigurera distribuerade TensorFlow-parametrar. Den här parametern börjar gälla endast när är inställd på framework TensorFlow och communicator parameterservern. AmlCompute är den enda beräkning som stöds för den här konfigurationen.

mpi
MpiConfiguration

Konfigurationsavsnittet som används för att konfigurera distribuerade MPI-jobbparametrar. Den här parametern börjar gälla endast när framework är inställd på Python och communicator till OpenMpi eller IntelMpi. AmlCompute är den enda beräkningstypen som stöds för den här konfigurationen.

pytorch
PyTorchConfiguration

Konfigurationsavsnittet som används för att konfigurera distribuerade PyTorch-jobbparametrar. Den här parametern börjar gälla endast när är inställd på framework PyTorch och communicator till Nccl eller Gloo. AmlCompute är den enda beräkningstypen som stöds för den här konfigurationen.

paralleltask
ParallelTaskConfiguration

Konfigurationsavsnittet som används för att konfigurera distribuerade paralleltask-jobbparametrar. Den här parametern börjar gälla endast när är inställd på framework Python och communicator till ParallelTask. AmlCompute är den enda beräkningstypen som stöds för den här konfigurationen.

data_references
dict[str, DataReferenceConfiguration]

Alla datakällor är tillgängliga för körningen under körningen baserat på varje konfiguration. För varje objekt i ordlistan är nyckeln ett namn som anges för datakällan och värdet är en DataReferenceConfiguration.

data
dict[str, Data]

Alla data som ska vara tillgängliga för körningen under körningen.

datacaches
<xref:buildin.list>[DatacacheConfiguration]

Alla data som gör datacache tillgängliga för körningen under körningen.

output_data
OutputData

Alla utdata som ska laddas upp och spåras för den här körningen.

source_directory_data_store
str

Det säkerhetskopierade dataarkivet för projektresursen.

amlcompute
AmlComputeConfiguration

Information om beräkningsmålet som ska skapas under experimentet. Konfigurationen börjar bara gälla när beräkningsmålet är AmlCompute.

kubernetescompute
KubernetesComputeConfiguration

Information om beräkningsmålet som ska användas under experimentet. Konfigurationen börjar bara gälla när beräkningsmålet är KubernetesCompute.

services
dict[str, ApplicationEndpointConfiguration]

Slutpunkter till interaktiva med beräkningsresursen. Tillåtna slutpunkter är Jupyter, JupyterLab, VS Code, Tensorboard, SSH och Anpassade portar.

Metoder

delete

Ta bort en körningskonfigurationsfil.

Genererar en UserErrorException om konfigurationsfilen inte hittas.

load

Läs in en tidigare sparad körningskonfigurationsfil från en diskfil.

Om path pekar på en fil läses RunConfiguration in från filen.

Om path pekar på en katalog, som ska vara en projektkatalog, läses RunConfiguration in från <path>/.azureml/<name> eller <path>/aml_config/<name>.

save

Spara RunConfiguration på en fil på disken.

En UserErrorException aktiveras när:

  • RunConfiguration kan inte sparas med det angivna namnet.

  • Ingen name parameter har angetts.

  • Parametern path är ogiltig.

Om path har formatet <dir_path>/<file_name>, där <dir_path> är en giltig katalog, sparas RunConfiguration i <dir_path>/<file_name>.

Om path pekar på en katalog, som ska vara en projektkatalog, sparas RunConfiguration på <path>/.azureml/<name> eller <path>/aml_config/<name>.

Den här metoden är användbar när du redigerar konfigurationen manuellt eller när du delar konfigurationen med CLI.

delete

Ta bort en körningskonfigurationsfil.

Genererar en UserErrorException om konfigurationsfilen inte hittas.

static delete(path, name)

Parametrar

path
str
Obligatorisk

En användare har valt rotkatalog för körningskonfigurationer. Detta är vanligtvis Git-lagringsplatsen eller Python-projektets rotkatalog. Konfigurationen tas bort från en underkatalog med namnet .azureml.

name
str
Obligatorisk

Namnet på konfigurationsfilen.

Undantag

UserErrorException

load

Läs in en tidigare sparad körningskonfigurationsfil från en diskfil.

Om path pekar på en fil läses RunConfiguration in från filen.

Om path pekar på en katalog, som ska vara en projektkatalog, läses RunConfiguration in från <path>/.azureml/<name> eller <path>/aml_config/<name>.

static load(path, name=None)

Parametrar

path
str
Obligatorisk

En användare har valt rotkatalog för körningskonfigurationer. Detta är vanligtvis Git-lagringsplatsen eller Python-projektets rotkatalog. För bakåtkompatibilitet läses konfigurationen också in från .azureml eller aml_config underkatalog. Om filen inte finns i dessa kataloger läses filen in från den angivna sökvägen.

name
str
standardvärde: None

Namnet på konfigurationsfilen.

Returer

Körningskonfigurationsobjektet.

Returtyp

Undantag

UserErrorException

save

Spara RunConfiguration på en fil på disken.

En UserErrorException aktiveras när:

  • RunConfiguration kan inte sparas med det angivna namnet.

  • Ingen name parameter har angetts.

  • Parametern path är ogiltig.

Om path har formatet <dir_path>/<file_name>, där <dir_path> är en giltig katalog, sparas RunConfiguration i <dir_path>/<file_name>.

Om path pekar på en katalog, som ska vara en projektkatalog, sparas RunConfiguration på <path>/.azureml/<name> eller <path>/aml_config/<name>.

Den här metoden är användbar när du redigerar konfigurationen manuellt eller när du delar konfigurationen med CLI.

save(path=None, name=None, separate_environment_yaml=False)

Parametrar

separate_environment_yaml
bool
standardvärde: False

Anger om conda-miljökonfigurationen ska sparas. Om det är sant sparas Conda-miljökonfigurationen i en YAML-fil med namnet "environment.yml".

path
str
standardvärde: None

En användare har valt rotkatalog för körningskonfigurationer. Detta är vanligtvis Git-lagringsplatsen eller Python-projektets rotkatalog. Konfigurationen sparas i en underkatalog med namnet .azureml.

name
str
standardvärde: None

[Krävs] Namnet på konfigurationsfilen.

Returtyp

Undantag

UserErrorException

Attribut

auto_prepare_environment

Hämta parametern auto_prepare_environment . Det här är en inaktuell och oanvänd inställning.

environment_variables

Miljövariabler för körning.

Returer

Körningsvariabler

Returtyp

target

Hämta beräkningsmål där jobbet är schemalagt för körning.

Standardmålet är "lokalt" som refererar till den lokala datorn. Tillgängliga molnberäkningsmål kan hittas med hjälp av funktionen compute_targets.

Returer

Målnamnet

Returtyp

str