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._AbstractRunConfigElementRunConfiguration
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
|
Ś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
|
Docelowa struktura używana w przebiegu. Obsługiwane platformy to Python, PySpark, TensorFlow i PyTorch. Domyślna wartość: None
|
communicator
|
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 Domyślna wartość: None
|
auto_prepare_environment
Wymagane
|
PRZESTARZAŁE. To ustawienie nie jest już używane. |
command
|
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
|
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
|
Liczba węzłów do użycia dla zadania. |
priority
|
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 |
mpi
|
Sekcja konfiguracji używana do konfigurowania rozproszonych parametrów zadania MPI.
Ten parametr ma zastosowanie tylko wtedy, gdy |
pytorch
|
Sekcja konfiguracji używana do konfigurowania rozproszonych parametrów zadania PyTorch.
Ten parametr ma zastosowanie tylko wtedy, gdy |
paralleltask
|
Sekcja konfiguracji używana do konfigurowania rozproszonych parametrów zadania paralleltask.
Ten parametr ma zastosowanie tylko wtedy, gdy |
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
|
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 Jeśli |
save |
Zapisz plik RunConfiguration na dysku. Element A UserErrorException jest zgłaszany, gdy:
Jeśli Jeśli 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
|
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
|
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
|
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
|
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
|
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
|
[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 |
---|---|
Nazwa docelowa |