RunConfiguration Třída
Představuje konfiguraci spuštění experimentu, která cílí na různé cílové výpočetní objekty 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á ji vrátí, například submit metodu 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ý typ spuštění spouštíte. Například při nastavování PythonScriptStepmůžete získat přístup k objektu RunConfiguration kroku a nakonfigurovat závislosti Conda nebo přistupovat k vlastnostem prostředí pro spuštění.
Příklady spuštění konfigurací najdete v tématu Výběr a použití cílového výpočetního objektu k trénování modelu.
Inicializace RunConfiguration s výchozím nastavením
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í vzhledem ke zdrojovému adresáři předaného submit. Default value: None
|
|
arguments
|
Argumenty příkazového řádku pro soubor skriptu Pythonu Default value: None
|
|
framework
|
Cílová architektura použitá při spuštění. Podporované architektury jsou Python, PySpark, TensorFlow a PyTorch. Default value: None
|
|
communicator
|
Komunikátor použitý ve 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. Používejte IntelMpi pro distribuované trénovací úlohy. Default value: None
|
|
conda_dependencies
|
Když ponecháte výchozí hodnotu False, systém vytvoří prostředí Pythonu, které obsahuje balíčky zadané v Default value: None
|
|
auto_prepare_environment
Vyžadováno
|
ZAVRHOVANÝ. Toto nastavení se už nepoužívá. |
|
command
|
Příkaz, který se má odeslat pro spuštění. Vlastnost příkazu lze použít také místo skriptu nebo argumentů. Ke společnému odeslání spuštění nelze použít vlastnosti příkazu i skriptu nebo argumentu. 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
Vytváříme systémy strojového učení, které obvykle řeší konkrétní problém. Mohli bychom například chtít najít nejlepší model, který seřadí webové stránky, které by mohly 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 nebo zvážili různá nastavení parametrů atd.
V sadě Azure Machine Learning SDK používáme koncept experimentu k zachycení pojmu, že různé trénovací běhy souvisejí s problémem, který se snaží vyřešit. Experiment Pak funguje jako logický kontejner pro tato trénovací spuštění, což usnadňuje sledování průběhu napříč trénovacími běhy, přímé porovnání dvou trénovacích běhů atd.
RunConfiguration zapouzdřuje nastavení spouštěcího prostředí potřebného k odeslání trénovacího spuštění v experimentu. Zachycuje jak sdílenou strukturu trénovacích běhů, které jsou navržené tak, aby vyřešily stejný problém strojového učení, tak rozdíly v parametrech konfigurace (např. rychlost učení, funkce ztráty atd.), které od sebe rozlišují různé trénovací běhy.
V typických scénářích trénování se RunConfiguration používá vytvořením objektu ScriptRunConfig , který společně zabalí 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 správu závislostí aplikace. 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 několika typů výpočetních prostředků Azure.
Volitelná volba konfigurace materializace vstupů a nahrávání výstupů.
Pokročilá 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 příkazu 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. Dá se nakonfigurovat tak, aby používalo existující prostředí Pythonu nebo nakonfiguroval nastavení dočasného prostředí experimentu. Definice také zodpovídá za nastavení požadovaných závislostí aplikace. |
|
max_run_duration_seconds
|
Maximální povolená doba spuštění. Systém se pokusí spuštění automaticky zrušit, pokud trvalo déle, než je tato hodnota. |
|
node_count
|
Počet uzlů, které se mají pro úlohu použít. |
|
priority
|
Priorita úlohy pro zásady plánování |
|
history
|
Oddíl konfigurace použitý k zakázání a povolení funkcí protokolování historie experimentů. |
|
spark
|
Pokud je platforma nastavená na PySpark, použije se konfigurační oddíl Sparku k nastavení výchozího SparkConf pro odeslanou úlohu. |
|
hdi
|
Oddíl konfigurace HDI se projeví jenom v případech, kdy je cíl nastavený na výpočetní výkon Azure HDI. Konfigurace HDI slouží k nastavení režimu nasazení YARN. Výchozí režim 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 případě |
|
mpi
|
Oddíl konfigurace použitý ke konfiguraci distribuovaných parametrů úlohy MPI.
Tento parametr se projeví pouze v případě |
|
pytorch
|
Oddíl konfigurace použitý ke konfiguraci distribuovaných parametrů úlohy PyTorch.
Tento parametr se projeví pouze v případě |
|
paralleltask
|
Oddíl konfigurace použitý ke konfiguraci parametrů distribuované úlohy paralleltask.
Tento parametr se projeví pouze v případě |
|
data_references
|
Všechny zdroje dat jsou k dispozici pro spuštění během provádění na základě každé konfigurace. Pro každou položku slovníku je klíčem název zadaný zdroji dat a hodnota je DataReferenceConfiguration. |
|
data
|
Všechna data, která chcete zpřístupnit spuštění během provádění. |
|
datacaches
|
<xref:buildin.list>[DatacacheConfiguration]
Všechna data, která se mají zpřístupnit ke spuštění během provádění. |
|
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 pro sdílenou složku projektu. |
|
amlcompute
|
Podrobnosti o cílovém výpočetním objektu, který se má vytvořit během experimentu. Konfigurace se projeví jenom v případech, kdy je cílový výpočetní objekt AmlCompute. |
|
kubernetescompute
|
Podrobnosti o cílovém výpočetním objektu, který se má použít během experimentu. Konfigurace se projeví jenom v případech, kdy je cílový výpočetní objekt KubernetesCompute. |
|
services
|
Koncové body pro interaktivní s výpočetním prostředkem. Povolené koncové body jsou Jupyter, JupyterLab, VS Code, Tensorboard, SSH a vlastní porty. |
Metody
| delete |
Odstraňte konfigurační soubor spuštění. UserErrorException Vyvolá chybu, pokud nebyl nalezen konfigurační soubor. |
| 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. 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í.
UserErrorException Vyvolá chybu, pokud nebyl nalezen konfigurační soubor.
static delete(path, name)
Parametry
| Name | Description |
|---|---|
|
path
Vyžadováno
|
Uživatel vybral kořenový adresář pro spuštění konfigurací. Obvykle se jedná o úložiště Git nebo kořenový adresář projektu Pythonu. Konfigurace se odstraní z podadresáři 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ý by měl být adresářem projektu, načte se RunConfiguration z <cesty>/.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 spuštění konfigurací. Obvykle se jedná o úložiště Git nebo kořenový adresář projektu Pythonu. Kvůli zpětné kompatibilitě se konfigurace načte také z podadresáři .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 |
|---|---|
|
Objekt konfigurace spuštění. |
save
Uložte RunConfiguration do souboru na disku.
A UserErrorException se vyvolá, když:
RunConfiguration nelze uložit se zadaným názvem.
Nebyl zadán žádný
nameparametr.Parametr
pathje neplatný.
Pokud path je 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, uloží se RunConfiguration na <cestě/>.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, jestli se má konfigurace prostředí Conda uložit. Pokud je hodnota 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 spuštění konfigurací. Obvykle se jedná o úložiště Git nebo kořenový adresář projektu Pythonu. Konfigurace se uloží do podadresáři s názvem .azureml. Default value: None
|
|
name
|
[Povinné] Název konfiguračního souboru. Default value: None
|
Návraty
| Typ | Description |
|---|---|
Atributy
auto_prepare_environment
auto_prepare_environment Získejte parametr. Toto je zastaralé a nepoužité nastavení.
environment_variables
target
Získejte cílový výpočetní objekt, ve kterém je úloha naplánovaná pro spuštění.
Výchozí cíl je místní odkazující na místní počítač. Dostupné cílové výpočetní objekty cloudu najdete pomocí funkce compute_targets.
Návraty
| Typ | Description |
|---|---|
|
Cílový název |