Udostępnij za pośrednictwem


RunConfiguration Klasa

Reprezentuje konfigurację przebiegów eksperymentów przeznaczonych dla różnych obiektów obliczeniowych w usłudze Azure Machine Learning.

Obiekt RunConfiguration hermetyzuje informacje niezbędne do przesłania przebiegu trenowania w eksperymencie. Zazwyczaj obiekt RunConfiguration nie jest tworzony bezpośrednio, ale pobierany bezpośrednio z metody zwracającej ją, takiej jak submit metoda Experiment klasy.

RunConfiguration to podstawowa konfiguracja środowiska, która jest również używana w innych typach kroków konfiguracji, które zależą od rodzaju wyzwalanego przebiegu. Na przykład podczas konfigurowania PythonScriptStepelementu można uzyskać dostęp do obiektu RunConfiguration kroku i skonfigurować zależności Conda lub uzyskać dostęp do właściwości środowiska dla przebiegu.

Przykłady konfiguracji uruchamiania można znaleźć w temacie Select and use a compute target to train your model (Wybieranie i używanie docelowego obiektu obliczeniowego do trenowania modelu).

Zainicjuj element RunConfiguration przy użyciu ustawień domyślnych.

Dziedziczenie
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)

Parametry

Nazwa Opis
script
str

Ścieżka względna do pliku skryptu języka Python. Ścieżka pliku jest względna względem katalogu źródłowego przekazanego do submit.

Domyślna wartość: None
arguments

Argumenty wiersza polecenia dla pliku skryptu języka Python.

Domyślna wartość: None
framework
str

Docelowa struktura używana w przebiegu. Obsługiwane platformy to Python, PySpark, TensorFlow i PyTorch.

Domyślna wartość: None
communicator
str

Komunikator używany w biegu. Obsługiwane komunikatory to None, ParameterServer, OpenMpi i IntelMpi. Należy pamiętać, że interfejs OpenMpi wymaga obrazu niestandardowego z zainstalowanym interfejsem OpenMpi. Użyj parametruServer lub OpenMpi dla klastrów AmlCompute. Użyj funkcji IntelMpi do zadań trenowania rozproszonego.

Domyślna wartość: None
conda_dependencies

Po pozostawieniu wartości domyślnej false system tworzy środowisko języka Python, które zawiera pakiety określone w conda_dependenciespliku . Po ustawieniu wartości true można określić istniejące środowisko języka Python z ustawieniem python_interpreter.

Domyślna wartość: None
auto_prepare_environment
Wymagane

PRZESTARZAŁE. To ustawienie nie jest już używane.

command
list[str] lub str

Polecenie, które ma zostać przesłane do uruchomienia. Właściwość polecenia może być również używana zamiast skryptów/argumentów. Właściwości polecenia i skryptu/argumentu nie mogą być używane razem do przesyłania przebiegu. Aby przesłać plik skryptu przy użyciu właściwości polecenia ['python', 'train.py', '-arg1', arg1_val] Aby uruchomić rzeczywiste polecenie - ['ls']

Domyślna wartość: None
_history_enabled
Domyślna wartość: None
_path
Domyślna wartość: None
_name
Domyślna wartość: None

Uwagi

Zazwyczaj tworzymy systemy uczenia maszynowego w celu rozwiązania określonego problemu. Na przykład możemy zainteresować się znalezieniem najlepszego modelu, który plasuje strony internetowe, które mogą być obsługiwane jako wyniki wyszukiwania odpowiadające zapytaniu. Nasze wyszukiwanie najlepszego modelu uczenia maszynowego może wymagać wypróbowania różnych algorytmów lub rozważenia różnych ustawień parametrów itp.

W zestawie SDK usługi Azure Machine Learning używamy koncepcji eksperymentu w celu przechwycenia pojęcia, że różne przebiegi szkoleniowe są związane z problemem, który próbuje rozwiązać. Następnie Experiment działa jako kontener logiczny dla tych przebiegów szkoleniowych, co ułatwia śledzenie postępu między przebiegami trenowania, porównanie dwóch przebiegów treningowych bezpośrednio itp.

Element RunConfiguration hermetyzuje ustawienia środowiska wykonywania niezbędne do przesłania przebiegu trenowania w eksperymencie. Przechwytuje on zarówno współdzieloną strukturę przebiegów szkoleniowych, które mają na celu rozwiązanie tego samego problemu uczenia maszynowego, jak i różnice w parametrach konfiguracji (np. szybkość uczenia, funkcja utraty itp.), które różnią się od siebie różnymi przebiegami treningowymi.

W typowych scenariuszach trenowania funkcja RunConfiguration jest używana przez utworzenie ScriptRunConfig obiektu, który pakuje razem obiekt RunConfiguration i skrypt wykonywania do trenowania.

Konfiguracja funkcji RunConfiguration obejmuje następujące elementy:

  • Łączenie katalogu źródłowego eksperymentu, w tym przesłanego skryptu.

  • Ustawianie argumentów wiersza polecenia dla przesłanego skryptu.

  • Konfigurowanie ścieżki dla interpretera języka Python.

  • Uzyskaj konfigurację conda, aby zarządzać zależnościami aplikacji. Proces przesyłania zadania może używać konfiguracji do aprowizowania środowiska temp Conda i uruchamiania aplikacji w obrębie programu . Środowiska tymczasowe są buforowane i ponownie używane w kolejnych uruchomieniach.

  • Opcjonalne użycie platformy Docker i niestandardowych obrazów podstawowych.

  • Opcjonalny wybór przesyłania eksperymentu do wielu typów zasobów obliczeniowych platformy Azure.

  • Opcjonalny wybór konfigurowania sposobu materializacji danych wejściowych i przekazywania danych wyjściowych.

  • Zaawansowane ustawienia środowiska uruchomieniowego dla typowych środowisk uruchomieniowych, takich jak spark i tensorflow.

W poniższym przykładzie pokazano, jak przesłać skrypt trenowania na komputerze lokalnym.


   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)

W poniższym przykładzie pokazano, jak przesłać skrypt trenowania w klastrze przy użyciu właściwości polecenia zamiast skryptu i argumentów.


   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)

Poniższy przykład pokazuje, jak uruchomić polecenie w klastrze.


   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)

Zmienne

Nazwa Opis
environment

Definicja środowiska. To pole umożliwia skonfigurowanie środowiska języka Python. Można go skonfigurować do używania istniejącego środowiska języka Python lub skonfigurować do konfigurowania środowiska tymczasowego na potrzeby eksperymentu. Definicja jest również odpowiedzialna za ustawienie wymaganych zależności aplikacji.

max_run_duration_seconds
int

Maksymalny dozwolony czas dla przebiegu. System podejmie próbę automatycznego anulowania przebiegu, jeśli trwało to dłużej niż ta wartość.

node_count
int

Liczba węzłów do użycia dla zadania.

priority
int

Priorytet zadania planowania zasad.

history

Sekcja konfiguracji używana do wyłączania i włączania funkcji rejestrowania historii eksperymentów.

spark

Gdy platforma jest ustawiona na PySpark, sekcja konfiguracja platformy Spark jest używana do ustawiania domyślnej platformy SparkConf dla przesłanego zadania.

hdi

Sekcja konfiguracji usługi HDI jest obowiązuje tylko wtedy, gdy element docelowy jest ustawiony na obliczenia usługi Azure HDI. Konfiguracja usługi HDI służy do ustawiania trybu wdrażania usługi YARN. Domyślnym trybem wdrażania jest klaster.

docker

Sekcja konfiguracji platformy Docker służy do ustawiania zmiennych dla środowiska platformy Docker.

tensorflow

Sekcja konfiguracji używana do konfigurowania rozproszonych parametrów Biblioteki TensorFlow. Ten parametr ma zastosowanie tylko wtedy, gdy framework parametr jest ustawiony na TensorFlow, a parametr communicator na ParameterServer. AmlCompute jest jedynym obsługiwanym wystąpieniem obliczeniowym dla tej konfiguracji.

mpi

Sekcja konfiguracji używana do konfigurowania rozproszonych parametrów zadania MPI. Ten parametr ma zastosowanie tylko wtedy, gdy framework parametr jest ustawiony na python, a parametr communicator OpenMpi lub IntelMpi. AmlCompute jest jedynym obsługiwanym typem obliczeniowym dla tej konfiguracji.

pytorch

Sekcja konfiguracji używana do konfigurowania rozproszonych parametrów zadania PyTorch. Ten parametr ma zastosowanie tylko wtedy, gdy framework parametr jest ustawiony na wartość PyTorch, a parametr communicator nccl lub Gloo. AmlCompute jest jedynym obsługiwanym typem obliczeniowym dla tej konfiguracji.

paralleltask

Sekcja konfiguracji używana do konfigurowania rozproszonych parametrów zadania paralleltask. Ten parametr ma zastosowanie tylko wtedy, gdy framework parametr jest ustawiony na python, a communicator parametr ParallelTask. AmlCompute jest jedynym obsługiwanym typem obliczeniowym dla tej konfiguracji.

data_references

Wszystkie źródła danych są dostępne do uruchomienia podczas wykonywania na podstawie każdej konfiguracji. Dla każdego elementu słownika klucz jest nazwą nadaną źródle danych, a wartość to DataReferenceConfiguration.

data

Wszystkie dane, które mają być dostępne dla przebiegu podczas wykonywania.

datacaches
<xref:buildin.list>[DatacacheConfiguration]

Wszystkie dane umożliwiające udostępnienie pamięci podręcznej danych do uruchomienia podczas wykonywania.

output_data

Wszystkie dane wyjściowe, które powinny zostać przekazane i śledzone dla tego przebiegu.

source_directory_data_store
str

Magazyn danych kopii zapasowej udziału projektu.

amlcompute

Szczegóły docelowego obiektu obliczeniowego, który ma zostać utworzony podczas eksperymentu. Konfiguracja jest obowiązuje tylko wtedy, gdy docelowy obiekt obliczeniowy to AmlCompute.

kubernetescompute

Szczegóły docelowego obiektu obliczeniowego, który ma być używany podczas eksperymentu. Konfiguracja jest obowiązuje tylko wtedy, gdy docelowy obiekt obliczeniowy to KubernetesCompute.

services

Punkty końcowe interaktywne z zasobem obliczeniowym. Dozwolone punkty końcowe to porty Jupyter, JupyterLab, VS Code, Tensorboard, SSH i Niestandardowe.

Metody

delete

Usuń plik konfiguracji uruchamiania.

Zgłasza wartość , UserErrorException jeśli plik konfiguracji nie zostanie znaleziony.

load

Załaduj wcześniej zapisany plik konfiguracji uruchamiania z pliku na dysku.

Jeśli path wskazuje plik, plik RunConfiguration jest ładowany z tego pliku.

Jeśli path wskazuje katalog, który powinien być katalogiem projektu, element RunConfiguration jest ładowany ze <ścieżki>/.azureml/<nazwy> lub <ścieżki>/aml_config/<nazwy>.

save

Zapisz plik RunConfiguration na dysku.

Element A UserErrorException jest zgłaszany, gdy:

  • Nie można zapisać właściwości RunConfiguration o określonej nazwie.

  • Nie name określono parametru.

  • Parametr path jest nieprawidłowy.

Jeśli path jest formatem <dir_path>/<file_name>, gdzie <dir_path> jest prawidłowym katalogiem, funkcja RunConfiguration jest zapisywana w <dir_path>/<file_name>.

Jeśli path wskazuje katalog, który powinien być katalogiem projektu, polecenie RunConfiguration jest zapisywane w ścieżce></.azureml/<name> lub <path>/aml_config/<name>.

Ta metoda jest przydatna podczas ręcznego edytowania konfiguracji lub udostępniania konfiguracji za pomocą interfejsu wiersza polecenia.

delete

Usuń plik konfiguracji uruchamiania.

Zgłasza wartość , UserErrorException jeśli plik konfiguracji nie zostanie znaleziony.

static delete(path, name)

Parametry

Nazwa Opis
path
Wymagane
str

Użytkownik wybrał katalog główny dla konfiguracji uruchamiania. Zazwyczaj jest to repozytorium Git lub katalog główny projektu języka Python. Konfiguracja jest usuwana z katalogu podrzędnego o nazwie .azureml.

name
Wymagane
str

Nazwa pliku konfiguracji.

Wyjątki

Typ Opis
UserErrorException

load

Załaduj wcześniej zapisany plik konfiguracji uruchamiania z pliku na dysku.

Jeśli path wskazuje plik, plik RunConfiguration jest ładowany z tego pliku.

Jeśli path wskazuje katalog, który powinien być katalogiem projektu, element RunConfiguration jest ładowany ze <ścieżki>/.azureml/<nazwy> lub <ścieżki>/aml_config/<nazwy>.

static load(path, name=None)

Parametry

Nazwa Opis
path
Wymagane
str

Użytkownik wybrał katalog główny dla konfiguracji uruchamiania. Zazwyczaj jest to repozytorium Git lub katalog główny projektu języka Python. W celu zapewnienia zgodności z poprzednimi wersjami konfiguracja zostanie również załadowana z katalogu podrzędnego .azureml lub aml_config. Jeśli plik nie znajduje się w tych katalogach, plik jest ładowany z określonej ścieżki.

name
str

Nazwa pliku konfiguracji.

Domyślna wartość: None

Zwraca

Typ Opis

Obiekt konfiguracji uruchamiania.

Wyjątki

Typ Opis
UserErrorException

save

Zapisz plik RunConfiguration na dysku.

Element A UserErrorException jest zgłaszany, gdy:

  • Nie można zapisać właściwości RunConfiguration o określonej nazwie.

  • Nie name określono parametru.

  • Parametr path jest nieprawidłowy.

Jeśli path jest formatem <dir_path>/<file_name>, gdzie <dir_path> jest prawidłowym katalogiem, funkcja RunConfiguration jest zapisywana w <dir_path>/<file_name>.

Jeśli path wskazuje katalog, który powinien być katalogiem projektu, polecenie RunConfiguration jest zapisywane w ścieżce></.azureml/<name> lub <path>/aml_config/<name>.

Ta metoda jest przydatna podczas ręcznego edytowania konfiguracji lub udostępniania konfiguracji za pomocą interfejsu wiersza polecenia.

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

Parametry

Nazwa Opis
separate_environment_yaml

Wskazuje, czy zapisać konfigurację środowiska Conda. Jeśli prawda, konfiguracja środowiska Conda jest zapisywana w pliku YAML o nazwie "environment.yml".

Domyślna wartość: False
path
str

Użytkownik wybrał katalog główny dla konfiguracji uruchamiania. Zazwyczaj jest to repozytorium Git lub katalog główny projektu języka Python. Konfiguracja jest zapisywana w katalogu podrzędnym o nazwie .azureml.

Domyślna wartość: None
name
str

[Wymagane] Nazwa pliku konfiguracji.

Domyślna wartość: None

Zwraca

Typ Opis

Wyjątki

Typ Opis
UserErrorException

Atrybuty

auto_prepare_environment

auto_prepare_environment Pobierz parametr. Jest to przestarzałe i nieużywane ustawienie.

environment_variables

Zmienne środowiskowe środowiska uruchomieniowego.

Zwraca

Typ Opis

Zmienne środowiska uruchomieniowego

target

Pobierz docelowy obiekt obliczeniowy, w którym zadanie jest zaplanowane do wykonania.

Domyślnym obiektem docelowym jest "local" odwołujące się do komputera lokalnego. Dostępne cele obliczeniowe w chmurze można znaleźć przy użyciu funkcji compute_targets.

Zwraca

Typ Opis
str

Nazwa docelowa