RunConfiguration Klasa

Reprezentuje konfigurację dla przebiegów eksperymentów ukierunkowanych na różne elementy docelowe obliczeń w Azure Machine Learning.

Obiekt RunConfiguration hermetyzuje informacje niezbędne do przesłania szkolenia w eksperymentie. Zazwyczaj nie utworzysz obiektu RunConfiguration bezpośrednio, ale uzyskasz jeden z metody, która go zwraca, na przykład submit metody Experiment klasy.

RunConfiguration jest podstawową konfiguracją środowiska, która jest również używana w innych typach kroków konfiguracyjnych, które zależą od tego, jakiego rodzaju uruchomienia są wyzwalane. Na przykład podczas konfigurowania a można PythonScriptStep 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 uruchamiania konfiguracji znajdują się w temacie SELECT and use Target COMPUTE do uczenia modelu.

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

script
str

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

arguments
list[str]

Argumenty wiersza polecenia dla pliku skryptu języka Python.

framework
str

Platforma dostosowana do uruchomienia. Obsługiwane struktury to Python, PySpark, TensorFlow i PyTorch.

communicator
str

Program Communicator używany w przebiegu. Obsługiwane Communicators to None, ParameterServer, OpenMpi i IntelMpi. Należy pamiętać, że OpenMpi wymaga obrazu niestandardowego z zainstalowanym OpenMpi. Użyj ParameterServer lub OpenMpi dla klastrów AmlCompute. Użyj IntelMpi do dystrybuowania zadań szkoleniowych.

conda_dependencies
CondaDependencies

Po lewej stronie o wartości domyślnej false system tworzy środowisko Python, które obejmuje pakiety określone w conda_dependencies . W przypadku ustawienia wartości true istniejące środowisko języka Python można określić przy użyciu ustawienia python_interpreter.

auto_prepare_environment
bool

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 skryptu/argumentów. Właściwości Command i Script/argument nie można używać 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"]

Uwagi

Systemy uczenia maszynowego są zwykle kompilowane w celu rozwiązania konkretnego problemu. Na przykład możemy chcieć znaleźć najlepszy model, który określa strony sieci Web, które mogą być obsługiwane jako wyniki wyszukiwania odpowiadające zapytaniu. Nasze wyszukiwanie najlepszego modelu uczenia maszynowego może wymagać od nas wypróbowania różnych algorytmów lub uwzględnienia innych ustawień parametrów itd.

W zestawie Azure Machine Learning SDK używamy koncepcji eksperymentu, aby przechwycić koncepcję, że różne przebiegi szkoleniowe są związane z problemem, który podejmuje próbę rozwiązania problemu. ExperimentNastępnie działa jako kontener logiczny dla tych przebiegów szkoleniowych, ułatwiając śledzenie postępu między przebiegami szkoleniowymi, porównywanie dwóch przebiegów szkoleniowych itp.

RunConfiguration hermetyzuje ustawienia środowiska uruchomieniowego niezbędne do przesłania szkolenia w eksperymentie. Przechwytuje zarówno współdzieloną strukturę przebiegów szkoleniowych, które są przeznaczone do rozwiązywania tego samego problemu uczenia maszynowego, jak i różnic w parametrach konfiguracji (np. o szybkości uczenia, utracie działania itp.), które odróżniają różne szkolenia od siebie.

W typowych scenariuszach szkoleniowych RunConfiguration jest używany przez utworzenie ScriptRunConfig obiektu, który razem zawiera obiekt RunConfiguration i skrypt wykonywania szkoleniowego.

Konfiguracja RunConfiguration obejmuje:

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

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

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

  • Aby zarządzać zależnościami aplikacji, należy uzyskać konfigurację Conda. Proces tworzenia zadania może użyć konfiguracji w celu aprowizacji tymczasowego środowiska Conda i uruchomienia aplikacji w ramach 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 obliczeń na platformie Azure.

  • Opcjonalna opcja konfigurowania sposobu zmaterializowania wejść i przesyłania danych wyjściowych.

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

Poniższy przykład pokazuje, jak przesłać skrypt szkoleniowy 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)

Poniższy przykład pokazuje, jak przesłać skrypt szkoleniowy do klastra 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

environment
Środowisko

Definicja środowiska. To pole służy do konfigurowania środowiska języka Python. Można go skonfigurować tak, aby korzystał z istniejącego środowiska języka Python, lub skonfigurować w celu skonfigurowania środowiska tymczasowego dla eksperymentu. Definicja jest również odpowiedzialna za ustawianie wymaganych zależności aplikacji.

max_run_duration_seconds
int

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

node_count
int

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

priority
int

Priorytet zadania dla zasad planowania.

history
HistoryConfiguration

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

spark
SparkConfiguration

Gdy platforma jest ustawiona na PySpark, sekcja konfiguracji platformy Spark służy do ustawiania domyślnego SparkConf dla przesłanego zadania.

hdi
HdiConfiguration

Sekcja konfiguracji HDI działa tylko wtedy, gdy element docelowy jest ustawiony na usługę Azure HDI COMPUTE. Konfiguracja HDI służy do ustawiania trybu wdrażania PRZĘDZy. Domyślnym trybem wdrożenia jest klaster.

docker
DockerConfiguration

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

tensorflow
TensorflowConfiguration

Sekcja konfiguracji używana do konfigurowania dystrybuowanych parametrów TensorFlow. Ten parametr obowiązuje tylko wtedy, gdy framework jest ustawiony na wartość TensorFlow, a communicator do ParameterServer. AmlCompute jest jedynym obsługiwanym obliczaniem dla tej konfiguracji.

mpi
MpiConfiguration

Sekcja konfiguracji używana do konfigurowania parametrów zadania rozproszonego MPI. Ten parametr obowiązuje tylko wtedy, gdy framework jest ustawiony na język Python, a communicator do OpenMpi lub IntelMpi. AmlCompute jest jedynym obsługiwanym typem obliczeń dla tej konfiguracji.

pytorch
PyTorchConfiguration

Sekcja konfiguracji używana do konfigurowania parametrów zadania rozproszonego PyTorch. Ten parametr obowiązuje tylko wtedy, gdy framework jest ustawiony na wartość PyTorch, a communicator do Nccl lub Gloo. AmlCompute jest jedynym obsługiwanym typem obliczeń dla tej konfiguracji.

paralleltask
ParallelTaskConfiguration

Sekcja konfiguracji używana do konfigurowania parametrów zadania rozproszonego paralleltask. Ten parametr działa tylko wtedy, gdy framework jest ustawiony na język Python, i communicator do ParallelTask. AmlCompute jest jedynym obsługiwanym typem obliczeń dla tej konfiguracji.

data_references
dict[str, DataReferenceConfiguration]

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ą dla źródła danych, a wartością jest DataReferenceConfiguration.

data
dict[str, Data]

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

output_data
OutputData

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

source_directory_data_store
str

Zapasowy magazyn danych dla udziału projektu.

amlcompute
AmlComputeConfiguration

Szczegóły elementu docelowego obliczeń, który ma zostać utworzony podczas eksperymentu. Konfiguracja zacznie obowiązywać tylko wtedy, gdy element docelowy obliczeń to AmlCompute.

Metody

delete

Usuń plik konfiguracji uruchomieniowej.

Podnosi, UserErrorException czy nie znaleziono pliku konfiguracji.

load

Załaduj wcześniej zapisany plik konfiguracyjny Run z pliku na dysku.

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

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

save

Zapisz RunConfiguration w pliku na dysku.

A UserErrorException jest wywoływane, gdy:

  • Nie można zapisać RunConfiguration o podanej nazwie.

  • Nie name określono żadnego parametru.

  • pathParametr jest nieprawidłowy.

Jeśli path Format jest <dir_path>/<file_name>, gdzie <dir_path,> jest prawidłowym katalogiem, RunConfiguration zostanie zapisany w <dir_path>/<file_name>.

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

Ta metoda jest przydatna podczas ręcznego edytowania konfiguracji lub podczas udostępniania konfiguracji przy użyciu interfejsu wiersza polecenia.

delete

Usuń plik konfiguracji uruchomieniowej.

Podnosi, UserErrorException czy nie znaleziono pliku konfiguracji.

delete(path, name)

Parametry

path
str

Użytkownik wybrał katalog główny dla uruchamiania konfiguracji. Zwykle jest to repozytorium Git lub katalog główny projektu języka Python. Konfiguracja zostanie usunięta z podkatalogu o nazwie. Azure.

name
str

Nazwa pliku konfiguracji.

load

Załaduj wcześniej zapisany plik konfiguracyjny Run z pliku na dysku.

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

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

load(path, name=None)

Parametry

path
str

Użytkownik wybrał katalog główny dla uruchamiania konfiguracji. Zwykle 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. Azure lub aml_config sub. Jeśli plik nie znajduje się w tych katalogach, plik zostanie załadowany z określonej ścieżki.

name
str
wartość domyślna: None

Nazwa pliku konfiguracji.

Zwraca

Obiekt konfiguracji uruchomieniowej.

Typ zwracany

save

Zapisz RunConfiguration w pliku na dysku.

A UserErrorException jest wywoływane, gdy:

  • Nie można zapisać RunConfiguration o podanej nazwie.

  • Nie name określono żadnego parametru.

  • pathParametr jest nieprawidłowy.

Jeśli path Format jest <dir_path>/<file_name>, gdzie <dir_path,> jest prawidłowym katalogiem, RunConfiguration zostanie zapisany w <dir_path>/<file_name>.

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

Ta metoda jest przydatna podczas ręcznego edytowania konfiguracji lub podczas udostępniania konfiguracji przy użyciu interfejsu wiersza polecenia.

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

Parametry

separate_environment_yaml
bool
wartość domyślna: None

Wskazuje, czy ma zostać zapisana konfiguracja środowiska Conda. W przypadku wartości true konfiguracja środowiska Conda jest zapisywana w pliku YAML o nazwie "Environment. yml".

path
str
wartość domyślna: None

Użytkownik wybrał katalog główny dla uruchamiania konfiguracji. Zwykle jest to repozytorium Git lub katalog główny projektu języka Python. Konfiguracja jest zapisywana w podkatalogu o nazwie. Azure.

name
str
wartość domyślna: False

Potrzeb Nazwa pliku konfiguracji.

Typ zwracany

Atrybuty

auto_prepare_environment

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

target

Pobierz obiekt docelowy obliczeń, w którym zadanie zostało zaplanowane do wykonania.

Domyślny element docelowy to "Local" odwołujący się do komputera lokalnego. Dostępne cele obliczeń w chmurze można znaleźć za pomocą funkcji compute_targets .

Zwraca

Nazwa docelowa

Typ zwracany

str