Składnia YAML szczegółowo w tym dokumencie jest oparta na schemacie JSON dla najnowszej wersji rozszerzenia interfejsu wiersza polecenia uczenia maszynowego w wersji 2. Ta składnia jest gwarantowana tylko do pracy z najnowszą wersją rozszerzenia interfejsu wiersza polecenia uczenia maszynowego w wersji 2.
Schematy dla starszych wersji rozszerzeń można znaleźć pod adresem https://azuremlschemasprod.azureedge.net/.
Składnia YAML
Klucz
Type
Opis
Dozwolone wartości
Domyślna wartość
$schema
string
Schemat YAML. Jeśli używasz rozszerzenia programu VS Code usługi Azure Machine Learning do tworzenia pliku YAML, możesz wywołać uzupełnianie schematu i zasobów, jeśli znajdziesz $schema go w górnej części pliku.
type
const
Wymagany. Typ zadania.
sweep
sweep
name
string
Nazwa zadania. Musi być unikatowa we wszystkich zadaniach w obszarze roboczym. W przypadku pominięcia usługa Azure Machine Learning automatycznie ocenia identyfikator GUID dla nazwy.
display_name
string
Nazwa wyświetlana zadania w interfejsie użytkownika programu Studio. Może nie być unikatowa w obszarze roboczym. W przypadku pominięcia usługa Azure Machine Learning automatycznie ocenia identyfikator przymiotnika z możliwością odczytu przez człowieka dla nazwy wyświetlanej.
experiment_name
string
Organizuj zadanie pod nazwą eksperymentu. Rekord uruchamiania każdego zadania jest zorganizowany w ramach odpowiedniego eksperymentu na karcie "Eksperymenty" w studio. W przypadku pominięcia usługa Azure Machine Learning domyślnie określa experiment_name nazwę katalogu roboczego, w którym utworzono zadanie.
Wymagany. Nazwa metryki podstawowej zgłoszonej przez każde zadanie wersji próbnej. Metryka musi być zalogowana w skry skrycie trenowania użytkownika przy użyciu mlflow.log_metric() tej samej odpowiedniej nazwy metryki.
objective.goal
string
Wymagany. Cel optymalizacji elementu objective.primary_metric.
Wymagany. Nazwa docelowego obiektu obliczeniowego, na którym ma zostać wykonane zadanie, ze składnią azureml:<compute_name> .
trial
obiekt
Wymagany. Szablon zadania dla każdej wersji próbnej. Każde zadanie w wersji próbnej jest dostarczane z inną kombinacją wartości hiperparametrów, które są próbkami systemu z klasy search_space. Odwiedź stronę Atrybuty trial klucza.
inputs
obiekt
Słownik danych wejściowych zadania. Klucz jest nazwą danych wejściowych w kontekście zadania, a wartość jest wartością wejściową.
Przy użyciu ${{ inputs.<input_name> }} wyrażenia można odwoływać się do command danych wejściowych.
inputs.<input_name>
liczba, liczba całkowita, wartość logiczna, ciąg lub obiekt
Jedna z wartości literałów (typu liczba, liczba całkowita, wartość logiczna lub ciąg) lub obiekt zawierający specyfikację danych wejściowych zadania.
outputs
obiekt
Słownik konfiguracji wyjściowych zadania. Klucz jest nazwą danych wyjściowych w kontekście zadania, a wartość jest konfiguracją wyjściową.
Przy użyciu ${{ outputs.<output_name> }} wyrażenia można odwoływać się command do danych wyjściowych.
outputs.<output_name>
obiekt
Możesz pozostawić obiekt pusty, a w takim przypadku domyślnie dane wyjściowe są uri_folder typu, a system Usługi Azure Machine Learning generuje lokalizację wyjściową dla danych wyjściowych. Wszystkie pliki do katalogu wyjściowego są zapisywane za pośrednictwem instalacji odczytu i zapisu. Aby określić inny tryb dla danych wyjściowych, podaj obiekt zawierający specyfikację danych wyjściowych zadania.
identity
obiekt
Tożsamość jest używana do uzyskiwania dostępu do danych. Może to być konfiguracja tożsamości użytkownika, konfiguracja tożsamości zarządzanej lub brak. W przypadku parametru UserIdentityConfiguration tożsamość obiektu przesyłająca zadanie jest używana do uzyskiwania dostępu do danych wejściowych i zapisywania wyników w folderze wyjściowym. W przeciwnym razie jest używana tożsamość zarządzana docelowego obiektu obliczeniowego.
Algorytmy próbkowania
RandomSamplingAlgorithm
Klucz
Type
Opis
Dozwolone wartości
Domyślna wartość
type
const
Wymagany. Typ algorytmu próbkowania.
random
seed
integer
Inicjator losowy do użycia do inicjowania generowania liczb losowych. Jeśli pominięto, domyślna wartość inicjatora ma wartość null.
rule
string
Typ próbkowania losowego do użycia. Wartość domyślna , randomużywa prostego jednolitego losowego próbkowania, a jednocześnie sobol używa sekwencji quasi-losowej Sobol.
random, sobol
random
GridSamplingAlgorithm
Klucz
Type
Opis
Dozwolone wartości
type
const
Wymagany. Typ algorytmu próbkowania.
grid
BayesianSamplingAlgorithm
Klucz
Type
Opis
Dozwolone wartości
type
const
Wymagany. Typ algorytmu próbkowania.
bayesian
Zasady wczesnego kończenia
BanditPolicy
Klucz
Type
Opis
Dozwolone wartości
Domyślna wartość
type
const
Wymagany. Typ zasad.
bandit
slack_factor
Liczba
Współczynnik użyty do obliczenia dozwolonej odległości od najlepszej wydajności próby. Jeden z slack_factor lub slack_amount jest wymagany.
slack_amount
Liczba
Bezwzględna odległość dozwolona od najlepiej działającej próby. Jeden z slack_factor lub slack_amount jest wymagany.
evaluation_interval
integer
Częstotliwość stosowania zasad.
1
delay_evaluation
integer
Liczba interwałów, dla których należy opóźnić pierwszą ocenę zasad. Jeśli zostanie określona, zasady mają zastosowanie do każdej wielokrotności evaluation_interval , która jest większa lub równa delay_evaluation.
0
MedianStoppingPolicy
Klucz
Type
Opis
Dozwolone wartości
Domyślna wartość
type
const
Wymagany. Typ zasad.
median_stopping
evaluation_interval
integer
Częstotliwość stosowania zasad.
1
delay_evaluation
integer
Liczba interwałów, dla których należy opóźnić pierwszą ocenę zasad. Jeśli zostanie określona, zasady mają zastosowanie do każdej wielokrotności evaluation_interval , która jest większa lub równa delay_evaluation.
0
ObcięcieselectionPolicy
Klucz
Type
Opis
Dozwolone wartości
Domyślna wartość
type
const
Wymagany. Typ zasad.
truncation_selection
truncation_percentage
integer
Wymagany. Procent zadań próbnych do anulowania w każdym interwale oceny.
evaluation_interval
integer
Częstotliwość stosowania zasad.
1
delay_evaluation
integer
Liczba interwałów, dla których należy opóźnić pierwszą ocenę zasad. Jeśli zostanie określona, zasady mają zastosowanie do każdej wielokrotności evaluation_interval , która jest większa lub równa delay_evaluation.
0
Wyrażenia parametrów
Wybór
Klucz
Type
Opis
Dozwolone wartości
type
const
Wymagany. Typ wyrażenia.
choice
values
tablica
Wymagany. Lista odrębnych wartości, z których chcesz wybrać.
Randint
Klucz
Type
Opis
Dozwolone wartości
type
const
Wymagany. Typ wyrażenia.
randint
upper
integer
Wymagany. Wyłączna górna granica zakresu liczb całkowitych.
Wymagany. Minimalna wartość w zakresie to exp(min_value) (włącznie).
max_value
Liczba
Wymagany. Maksymalna wartość w zakresie to exp(max_value) (włącznie).
Mundur
Klucz
Type
Opis
Dozwolone wartości
type
const
Wymagany. Typ wyrażenia.
uniform
min_value
Liczba
Wymagany. Minimalna wartość w zakresie (włącznie).
max_value
Liczba
Wymagany. Maksymalna wartość w zakresie (włącznie).
limits Atrybuty klucza
Klucz
Type
Opis
Domyślna wartość
max_total_trials
integer
Maksymalna liczba zadań w wersji próbnej.
1000
max_concurrent_trials
integer
Maksymalna liczba zadań w wersji próbnej, które mogą być uruchamiane współbieżnie.
Wartość domyślna to max_total_trials.
timeout
integer
Maksymalny czas w sekundach, przez który można uruchomić całe zadanie zamiatania. Po osiągnięciu tego limitu system anuluje zadanie zamiatania, w tym wszystkie jego próby.
5184000
trial_timeout
integer
Maksymalny czas w sekundach każdego zadania w wersji próbnej może zostać uruchomiony. Po osiągnięciu tego limitu system anuluje okres próbny.
trial Atrybuty klucza
Klucz
Type
Opis
Domyślna wartość
command
string
Wymagany. Polecenie do wykonania.
code
string
Ścieżka lokalna do katalogu kodu źródłowego, który ma zostać przekazany i użyty do zadania.
environment
ciąg lub obiekt
Wymagany. Środowisko do użycia dla zadania. Ta wartość może być odwołaniem do istniejącego środowiska w wersji w obszarze roboczym lub specyfikacji środowiska wbudowanego.
Aby odwołać się do istniejącego środowiska, użyj azureml:<environment-name>:<environment-version> składni .
Aby zdefiniować wbudowane środowisko, postępuj zgodnie ze schematem środowiska. name Wyklucz właściwości iversion, ponieważ środowiska wbudowane nie obsługują ich.
environment_variables
obiekt
Słownik par nazwa-wartość zmiennej środowiskowej ustawionych w procesie, w którym jest wykonywane polecenie.
Wymagany. Liczba procesów na węzeł do uruchomienia dla zadania.
PyTorchConfiguration
Klucz
Type
Opis
Dozwolone wartości
Domyślna wartość
type
const
Wymagany. Typ dystrybucji.
pytorch
process_count_per_instance
integer
Liczba procesów na węzeł do uruchomienia dla zadania.
1
TensorFlowConfiguration
Klucz
Type
Opis
Dozwolone wartości
Domyślna wartość
type
const
Wymagany. Typ dystrybucji.
tensorflow
worker_count
integer
Liczba procesów roboczych, które mają być uruchamiane dla tego zadania.
Wartość domyślna to resources.instance_count.
parameter_server_count
integer
Liczba serwerów parametrów do uruchomienia dla zadania.
0
Dane wejściowe zadania
Klucz
Type
Opis
Dozwolone wartości
Domyślna wartość
type
string
Typ danych wejściowych zadania. Określ uri_file dane wejściowe wskazujące jedno źródło plików lub uri_folder dane wejściowe wskazujące źródło folderu. Aby uzyskać więcej informacji, odwiedź stronę Dowiedz się więcej o dostępie do danych.
uri_file, , uri_folder, , mltablemlflow_model
uri_folder
path
string
Ścieżka do danych do użycia jako dane wejściowe. Tę wartość można określić na kilka sposobów:
- Ścieżka lokalna do pliku lub folderu źródła danych, na przykład path: ./iris.csv. Dane są przekazywane podczas przesyłania zadania.
— Identyfikator URI ścieżki chmury do pliku lub folderu, który ma być używany jako dane wejściowe. Obsługiwane typy identyfikatorów URI to azureml, , httpswasbs, abfss, adl. Aby uzyskać więcej informacji na temat używania formatu identyfikatora azureml:// URI, odwiedź stronę Podstawowa składnia yaml.
— Istniejący zarejestrowany zasób danych usługi Azure Machine Learning do użycia jako dane wejściowe. Aby odwołać się do zarejestrowanego zasobu danych, użyj azureml:<data_name>:<data_version> składni lub azureml:<data_name>@latest (aby odwołać się do najnowszej wersji tego zasobu danych) — na przykład path: azureml:cifar10-data:1 lub path: azureml:cifar10-data@latest.
mode
string
Tryb dostarczania danych do docelowego obiektu obliczeniowego.
W przypadku instalacji tylko do odczytu (ro_mount) dane są używane jako ścieżka instalacji. Folder jest instalowany jako folder, a plik jest instalowany jako plik. Usługa Azure Machine Learning rozpoznaje dane wejściowe ścieżki instalacji.
W download przypadku trybu dane są pobierane do docelowego obiektu obliczeniowego. Usługa Azure Machine Learning rozpoznaje dane wejściowe pobranej ścieżki.
W przypadku tylko adresu URL lokalizacji przechowywania artefaktu danych lub artefaktów zamiast instalowania lub pobierania samych danych użyj direct trybu . Spowoduje to przekazanie adresu URL lokalizacji magazynu jako danych wejściowych zadania. W takim przypadku ponosisz pełną odpowiedzialność za obsługę poświadczeń w celu uzyskania dostępu do magazynu.
ro_mount, , downloaddirect
ro_mount
Dane wyjściowe zadania
Klucz
Type
Opis
Dozwolone wartości
Domyślna wartość
type
string
Typ danych wyjściowych zadania. Dla domyślnego uri_folder typu dane wyjściowe odpowiadają folderowi.
uri_file, , uri_folder, , mltablemlflow_model
uri_folder
mode
string
Tryb dostarczania pliku wyjściowego lub plików do magazynu docelowego. W trybie instalacji odczytu i zapisu (rw_mount) katalog wyjściowy jest katalogiem zainstalowanym. W trybie przekazywania wszystkie zapisane pliki są przekazywane na końcu zadania.
rw_mount, upload
rw_mount
Konfiguracje tożsamości
UserIdentityConfiguration
Klucz
Type
Opis
Dozwolone wartości
type
const
Wymagany. Typ tożsamości.
user_identity
ManagedIdentityConfiguration
Klucz
Type
Opis
Dozwolone wartości
type
const
Wymagany. Typ tożsamości.
managed lub managed_identity
Uwagi
Za pomocą az ml job polecenia można zarządzać zadaniami usługi Azure Machine Learning.
Przykłady
Zapoznaj się z przykładami repozytorium GitHub, aby zapoznać się z przykładami. Poniżej przedstawiono kilka z poniższych elementów: