RunConfiguration Třída
Představuje konfiguraci pro spuštění experimentů, jejichž cílem jsou různé cíle výpočetních prostředků ve službě Azure Machine Learning.
Objekt RunConfiguration zapouzdřuje informace potřebné k odeslání trénovacího spuštění v experimentu. Obvykle nevytvoříte objekt RunConfiguration přímo, ale získáte ho z metody, která ho vrátí, jako submit je například metoda Experiment třídy.
RunConfiguration je základní konfigurace prostředí, která se používá také v jiných typech kroků konfigurace, které závisí na tom, jaký druh spuštění spouštíte. Například při nastavování PythonScriptStepmůžete přistupovat k objektu RunConfiguration kroku a konfigurovat závislosti Conda nebo přistupovat k vlastnostem prostředí pro spuštění.
Příklady konfigurací spuštění najdete v tématu Výběr a použití cílového výpočetního objektu k trénování modelu.
Inicializuje runConfiguration s výchozím nastavením.
- Dědičnost
-
azureml._base_sdk_common.abstract_run_config_element._AbstractRunConfigElementRunConfiguration
Konstruktor
RunConfiguration(script=None, arguments=None, framework=None, communicator=None, conda_dependencies=None, _history_enabled=None, _path=None, _name=None, command=None)
Parametry
Name | Description |
---|---|
script
|
Relativní cesta k souboru skriptu Pythonu Cesta k souboru je relativní ke zdrojovému adresáři předaného do submit. Default value: None
|
arguments
|
Argumenty příkazového řádku pro soubor skriptu Pythonu Default value: None
|
framework
|
Cílová architektura použitá v běhu. Podporované architektury jsou Python, PySpark, TensorFlow a PyTorch. Default value: None
|
communicator
|
Komunikátor použitý při spuštění. Podporované komunikátory jsou None, ParameterServer, OpenMpi a IntelMpi. Mějte na paměti, že OpenMpi vyžaduje vlastní image s nainstalovaným OpenMpi. Pro clustery AmlCompute použijte ParametrServer nebo OpenMpi. Pro distribuované trénovací úlohy používejte IntelMpi. Default value: None
|
conda_dependencies
|
Pokud ponecháte výchozí hodnotu False, systém vytvoří prostředí Pythonu, které zahrnuje balíčky zadané v Default value: None
|
auto_prepare_environment
Vyžadováno
|
ZASTARALÉ. Toto nastavení se už nepoužívá. |
command
|
Příkaz, který se má odeslat pro spuštění. Vlastnost command lze použít také místo skriptů nebo argumentů. Vlastnosti příkazu a skriptu/argumentu nelze použít společně k odeslání spuštění. Odeslání souboru skriptu pomocí vlastnosti příkazu – ['python', 'train.py', '-arg1', arg1_val] Spuštění skutečného příkazu – ['ls'] Default value: None
|
_history_enabled
|
Default value: None
|
_path
|
Default value: None
|
_name
|
Default value: None
|
Poznámky
Systémy strojového učení obvykle vytváříme k řešení konkrétního problému. Může nás například zajímat nalezení nejlepšího modelu, který řadí webové stránky, které můžou být obsluhovány jako výsledky hledání odpovídající dotazu. Naše hledání nejlepšího modelu strojového učení může vyžadovat, abychom vyzkoušeli různé algoritmy, zvážili různá nastavení parametrů atd.
V sadě Azure Machine Learning SDK používáme koncept experimentu k zachycení názoru, že různá trénovací spuštění souvisejí s problémem, který se snaží vyřešit. Potom Experiment funguje jako logický kontejner pro tato trénovací spuštění, což usnadňuje sledování průběhu trénovacích běhů, přímé porovnání dvou trénovacích běhů atd.
RunConfiguration zapouzdřuje nastavení spouštěcího prostředí potřebná k odeslání trénovacího spuštění v experimentu. Zaznamenává sdílenou strukturu trénovacích běhů, které jsou navržené tak, aby vyřešily stejný problém strojového učení, i rozdíly v konfiguračních parametrech (např. rychlost učení, ztrátová funkce atd.), které od sebe odlišují odlišná trénovací spuštění.
V typických trénovacích scénářích se RunConfiguration používá k vytvoření objektu ScriptRunConfig , který spojuje objekt RunConfiguration a spouštěcí skript pro trénování.
Konfigurace RunConfiguration zahrnuje:
Sdružování zdrojového adresáře experimentu včetně odeslaného skriptu
Nastavení argumentů příkazového řádku pro odeslaný skript.
Konfigurace cesty pro interpret Pythonu
Získejte konfiguraci Conda pro pro správu závislostí aplikací. Proces odeslání úlohy může použít konfiguraci ke zřízení dočasného prostředí Conda a spuštění aplikace v rámci. Dočasná prostředí se ukládají do mezipaměti a znovu se používají v následných spuštěních.
Volitelné použití Dockeru a vlastních základních imagí
Volitelná volba odeslání experimentu do více typů výpočetních prostředků Azure
Volitelná volba konfigurace materializace vstupů a nahrávání výstupů
Upřesňující nastavení modulu runtime pro běžné moduly runtime, jako jsou spark a tensorflow.
Následující příklad ukazuje, jak odeslat trénovací skript na místním počítači.
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)
Následující příklad ukazuje, jak odeslat trénovací skript do clusteru pomocí vlastnosti command místo skriptu a 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)
Následující ukázka ukazuje, jak spustit příkaz v clusteru.
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)
Proměnné
Name | Description |
---|---|
environment
|
Definice prostředí. Toto pole konfiguruje prostředí Pythonu. Můžete ho nakonfigurovat tak, aby používal stávající prostředí Pythonu, nebo ho můžete nakonfigurovat pro nastavení dočasného prostředí pro experiment. Definice je také zodpovědná za nastavení požadovaných závislostí aplikace. |
max_run_duration_seconds
|
Maximální čas povolený pro spuštění. Systém se pokusí automaticky zrušit spuštění, pokud trvalo déle než tato hodnota. |
node_count
|
Počet uzlů, které se mají použít pro úlohu. |
priority
|
Priorita úlohy pro zásady plánování. |
history
|
Oddíl konfigurace, který slouží k zakázání a povolení funkcí protokolování historie experimentů. |
spark
|
Pokud je platforma nastavená na PySpark, použije se oddíl konfigurace Sparku k nastavení výchozího SparkConfu pro odeslanou úlohu. |
hdi
|
Oddíl konfigurace HDI se projeví pouze v případech, kdy je cíl nastavený na výpočetní prostředí Azure HDI. Konfigurace HDI slouží k nastavení režimu nasazení YARN. Výchozím režimem nasazení je cluster. |
docker
|
Oddíl konfigurace Dockeru slouží k nastavení proměnných pro prostředí Dockeru. |
tensorflow
|
Oddíl konfigurace použitý ke konfiguraci distribuovaných parametrů TensorFlow.
Tento parametr se projeví pouze v |
mpi
|
Oddíl konfigurace použitý ke konfiguraci parametrů distribuované úlohy MPI.
Tento parametr se projeví pouze v |
pytorch
|
Oddíl konfigurace použitý ke konfiguraci distribuovaných parametrů úlohy PyTorch.
Tento parametr se projeví pouze v |
paralleltask
|
Oddíl konfigurace použitý ke konfiguraci parametrů distribuované úlohy paralleltask.
Tento parametr se projeví pouze v |
data_references
|
Všechny zdroje dat jsou k dispozici pro spuštění během provádění na základě jednotlivých konfigurací. Pro každou položku slovníku je klíč název přiřazený zdroji dat a hodnota je DataReferenceConfiguration. |
data
|
Všechna data, která se mají zpřístupnit spuštění během provádění. |
datacaches
|
<xref:buildin.list>[DatacacheConfiguration]
Všechna data, která mají být během provádění k dispozici pro spuštění služby DataCache. |
output_data
|
Všechny výstupy, které by se měly nahrát a sledovat pro toto spuštění. |
source_directory_data_store
|
Záložní úložiště dat sdílené složky projektu. |
amlcompute
|
Podrobnosti o cílovém výpočetním objektu, který se má vytvořit během experimentu. Konfigurace se projeví pouze v případech, kdy je cílovým výpočetním objektem AmlCompute. |
kubernetescompute
|
Podrobnosti o cílovém výpočetním objektu, který se má použít během experimentu. Konfigurace se projeví pouze v případech, kdy je cílovým výpočetním prostředím KubernetesCompute. |
services
|
Koncové body pro interakci s výpočetním prostředkem Povolené koncové body jsou Porty Jupyter, JupyterLab, VS Code, Tensorboard, SSH a Custom. |
Metody
delete |
Odstraňte konfigurační soubor spuštění. Vyvolá, UserErrorException pokud konfigurační soubor nebyl nalezen. |
load |
Načtěte dříve uložený konfigurační soubor spuštění ze souboru na disku. Pokud Pokud |
save |
Uložte RunConfiguration do souboru na disku. Hodnota A UserErrorException se vyvolá, když:
Pokud Pokud Tato metoda je užitečná při ruční úpravě konfigurace nebo při sdílení konfigurace s rozhraním příkazového řádku. |
delete
Odstraňte konfigurační soubor spuštění.
Vyvolá, UserErrorException pokud konfigurační soubor nebyl nalezen.
static delete(path, name)
Parametry
Name | Description |
---|---|
path
Vyžadováno
|
Uživatel vybral kořenový adresář pro konfiguraci spuštění. Obvykle se jedná o úložiště Git nebo kořenový adresář projektu Pythonu. Konfigurace se odstraní z podřízeného adresáře s názvem .azureml. |
name
Vyžadováno
|
Název konfiguračního souboru. |
Výjimky
Typ | Description |
---|---|
UserErrorException
|
load
Načtěte dříve uložený konfigurační soubor spuštění ze souboru na disku.
Pokud path
odkazuje na soubor, runConfiguration se načte z daného souboru.
Pokud path
odkazuje na adresář, kterým by měl být adresář projektu, pak se runConfiguration načte z <path>/.azureml/<name> nebo <path>/aml_config/<name>.
static load(path, name=None)
Parametry
Name | Description |
---|---|
path
Vyžadováno
|
Uživatel vybral kořenový adresář pro konfiguraci spuštění. Obvykle se jedná o úložiště Git nebo kořenový adresář projektu Pythonu. Z důvodu zpětné kompatibility se konfigurace načte také z podadresář .azureml nebo aml_config. Pokud soubor není v těchto adresářích, soubor se načte ze zadané cesty. |
name
|
Název konfiguračního souboru. Default value: None
|
Návraty
Typ | Description |
---|---|
Spuštění objektu konfigurace. |
Výjimky
Typ | Description |
---|---|
UserErrorException
|
save
Uložte RunConfiguration do souboru na disku.
Hodnota A UserErrorException se vyvolá, když:
RunConfiguration nelze uložit se zadaným názvem.
Nebyl zadán žádný
name
parametr.Parametr
path
je neplatný.
Pokud path
má formát <dir_path>/<file_name>, kde <dir_path> je platný adresář, uloží se RunConfiguration na <dir_path>/<file_name>.
Pokud path
odkazuje na adresář, který by měl být adresářem projektu, pak se runConfiguration uloží na <path>/.azureml/<name> nebo <path>/aml_config/<name>.
Tato metoda je užitečná při ruční úpravě konfigurace nebo při sdílení konfigurace s rozhraním příkazového řádku.
save(path=None, name=None, separate_environment_yaml=False)
Parametry
Name | Description |
---|---|
separate_environment_yaml
|
Určuje, zda se má uložit konfigurace prostředí Conda. Pokud je true, konfigurace prostředí Conda se uloží do souboru YAML s názvem environment.yml. Default value: False
|
path
|
Uživatel vybral kořenový adresář pro konfiguraci spuštění. Obvykle se jedná o úložiště Git nebo kořenový adresář projektu Pythonu. Konfigurace se uloží do podřízeného adresáře s názvem .azureml. Default value: None
|
name
|
[Povinné] Název konfiguračního souboru. Default value: None
|
Návraty
Typ | Description |
---|---|
Výjimky
Typ | Description |
---|---|
UserErrorException
|
Atributy
auto_prepare_environment
auto_prepare_environment
Získejte parametr. Toto je zastaralé a nepoužívané nastavení.
environment_variables
target
Získejte cílový výpočetní objekt, na kterém je naplánované spuštění úlohy.
Výchozí cíl je "místní" odkazující na místní počítač. Dostupné cíle cloudových výpočetních prostředků najdete pomocí funkce compute_targets.
Návraty
Typ | Description |
---|---|
Název cíle |