Command Klasa
Klasa podstawowa dla węzła poleceń używana do użycia wersji składnika polecenia.
Nie należy bezpośrednio utworzyć wystąpienia tej klasy. Zamiast tego należy utworzyć ją przy użyciu funkcji builder: command().
- Dziedziczenie
-
azure.ai.ml.entities._builders.base_node.BaseNodeCommandazure.ai.ml.entities._job.pipeline._io.mixin.NodeWithGroupInputMixinCommand
Konstruktor
Command(*, component: str | CommandComponent, compute: str | None = None, inputs: Dict[str, Input | str | bool | int | float | Enum] | None = None, outputs: Dict[str, str | Output] | None = None, limits: CommandJobLimits | None = None, identity: ManagedIdentityConfiguration | AmlTokenConfiguration | UserIdentityConfiguration | None = None, distribution: Dict | MpiDistribution | TensorFlowDistribution | PyTorchDistribution | RayDistribution | None = None, environment: Environment | str | None = None, environment_variables: Dict | None = None, resources: JobResourceConfiguration | None = None, services: Dict[str, JobService | JupyterLabJobService | SshJobService | TensorBoardJobService | VsCodeJobService] | None = None, queue_settings: QueueSettings | None = None, **kwargs)
Parametry
- component
- Union[str, CommandComponent]
Identyfikator lub wystąpienie składnika polecenia lub zadania do uruchomienia dla kroku.
Mapowanie nazw wejściowych na wejściowe źródła danych używane w zadaniu.
Mapowanie nazw wyjściowych na wyjściowe źródła danych używane w zadaniu.
- limits
- CommandJobLimits
Limity dla składnika polecenia lub zadania.
- identity
- Optional[Union[ dict[str, str], ManagedIdentityConfiguration, AmlTokenConfiguration, UserIdentityConfiguration]]
Tożsamość, która będzie używana przez zadanie polecenia podczas uruchamiania w środowisku obliczeniowym.
- distribution
- Optional[Union[dict, PyTorchDistribution, MpiDistribution, TensorFlowDistribution, RayDistribution]]
Konfiguracja zadań rozproszonych.
- environment
- Optional[Union[str, Environment]]
Środowisko, w których zostanie uruchomione zadanie.
Słownik nazw i wartości zmiennych środowiskowych. Te zmienne środowiskowe są ustawiane w procesie wykonywania skryptu użytkownika.
- resources
- Optional[JobResourceConfiguration]
Konfiguracja zasobu obliczeniowego dla polecenia .
- services
- Optional[dict[str, Union[JobService, JupyterLabJobService, SshJobService, TensorBoardJobService, VsCodeJobService]]]
Usługi interaktywne dla węzła. Jest to parametr eksperymentalny i może ulec zmianie w dowolnym momencie. Aby uzyskać więcej informacji, zobacz https://aka.ms/azuremlexperimental.
- queue_settings
- Optional[QueueSettings]
Ustawienia kolejki dla zadania.
Metody
clear | |
copy | |
dump |
Zrzuty zawartości zadania do pliku w formacie YAML. |
fromkeys |
Utwórz nowy słownik z kluczami z iterowalnymi i wartościami ustawionymi na wartość. |
get |
Zwróć wartość klucza, jeśli klucz znajduje się w słowniku, a w przeciwnym razie wartość domyślna. |
items | |
keys | |
pop |
Jeśli klucz nie zostanie znaleziony, zwróć wartość domyślną, jeśli zostanie podana; w przeciwnym razie zgłoś błąd KeyError. |
popitem |
Usuń i zwróć parę (klucz, wartość) jako krotkę 2-krotkową. Pary są zwracane w kolejności LIFO (last-in, first-out). Zgłasza błąd KeyError, jeśli dykt jest pusty. |
set_limits |
Ustaw limity dla polecenia. |
set_queue_settings |
Ustaw wartość QueueSettings dla zadania. |
set_resources |
Ustaw zasoby dla polecenia. |
setdefault |
Wstaw klucz z wartością domyślną, jeśli klucz nie znajduje się w słowniku. Zwróć wartość klucza, jeśli klucz znajduje się w słowniku, a w przeciwnym razie wartość domyślna. |
sweep |
Zamienia polecenie w węzeł zamiatania z dodatkowym ustawieniem przebiegu zamiatania. Składnik polecenia w bieżącym węźle polecenia będzie używany jako jego składnik próbny. Węzeł poleceń może zamiatać wiele razy, a wygenerowany węzeł zamiatania będzie współużytkować ten sam składnik próbny. |
update |
Jeśli E jest obecny i ma metodę .keys(), wykonuje następujące czynności: dla k in E: D[k] = E[k] Jeśli E jest obecny i brakuje metody .keys(), to robi: dla k, v in E: D[k] = v w obu przypadkach, jest to następujące: dla k w F: D[k] = F[k] = F[k] |
values |
clear
clear() -> None. Remove all items from D.
copy
copy() -> a shallow copy of D
dump
Zrzuty zawartości zadania do pliku w formacie YAML.
dump(dest: str | PathLike | IO, **kwargs) -> None
Parametry
Ścieżka lokalna lub strumień plików do zapisania zawartości YAML do. Jeśli dest jest ścieżką pliku, zostanie utworzony nowy plik. Jeśli dest jest otwartym plikiem, plik zostanie zapisany bezpośrednio.
- kwargs
- dict
Dodatkowe argumenty do przekazania do serializatora YAML.
Wyjątki
Podniesione, jeśli dest jest ścieżką pliku i plik już istnieje.
Podniesione, jeśli dest jest otwartym plikiem, a plik nie jest zapisywalny.
fromkeys
Utwórz nowy słownik z kluczami z iterowalnymi i wartościami ustawionymi na wartość.
fromkeys(value=None, /)
Parametry
- type
- iterable
- value
get
Zwróć wartość klucza, jeśli klucz znajduje się w słowniku, a w przeciwnym razie wartość domyślna.
get(key, default=None, /)
Parametry
- key
- default
items
items() -> a set-like object providing a view on D's items
keys
keys() -> a set-like object providing a view on D's keys
pop
Jeśli klucz nie zostanie znaleziony, zwróć wartość domyślną, jeśli zostanie podana; w przeciwnym razie zgłoś błąd KeyError.
pop(k, [d]) -> v, remove specified key and return the corresponding value.
popitem
Usuń i zwróć parę (klucz, wartość) jako krotkę 2-krotkową.
Pary są zwracane w kolejności LIFO (last-in, first-out). Zgłasza błąd KeyError, jeśli dykt jest pusty.
popitem()
set_limits
Ustaw limity dla polecenia.
set_limits(*, timeout: int, **kwargs) -> None
Parametry
- timeout
- int
Limit czasu zadania w sekundach.
Przykłady
Ustawianie limitu czasu 10 sekund w poleceniu.
from azure.ai.ml import Input, Output, command
command_node = command(
environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu:33",
command='echo "hello world"',
distribution={"type": "Pytorch", "process_count_per_instance": 2},
inputs={
"training_data": Input(type="uri_folder"),
"max_epochs": 20,
"learning_rate": 1.8,
"learning_rate_schedule": "time-based",
},
outputs={"model_output": Output(type="uri_folder")},
)
command_node.set_limits(timeout=10)
set_queue_settings
Ustaw wartość QueueSettings dla zadania.
set_queue_settings(*, job_tier: str | None = None, priority: str | None = None) -> None
Parametry
Warstwa zadań. Akceptowane wartości to "Spot", "Basic", "Standard" lub "Premium".
Przykłady
Konfigurowanie ustawień kolejki w poleceniu.
from azure.ai.ml import Input, Output, command
command_node = command(
environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu:33",
command='echo "hello world"',
distribution={"type": "Pytorch", "process_count_per_instance": 2},
inputs={
"training_data": Input(type="uri_folder"),
"max_epochs": 20,
"learning_rate": 1.8,
"learning_rate_schedule": "time-based",
},
outputs={"model_output": Output(type="uri_folder")},
)
command_node.set_queue_settings(job_tier="standard", priority="medium")
set_resources
Ustaw zasoby dla polecenia.
set_resources(*, instance_type: str | List[str] | None = None, instance_count: int | None = None, locations: List[str] | None = None, properties: Dict | None = None, docker_args: str | None = None, shm_size: str | None = None, **kwargs) -> None
Parametry
Typ wystąpienia obliczeniowego do uruchomienia zadania. Jeśli nie zostanie określony, zadanie zostanie uruchomione na domyślnym obiekcie docelowym obliczeniowym.
Liczba wystąpień do uruchomienia zadania. Jeśli nie zostanie określony, zadanie zostanie uruchomione w jednym wystąpieniu.
Lista lokalizacji, w których zostanie uruchomione zadanie. Jeśli nie zostanie określony, zadanie zostanie uruchomione na domyślnym obiekcie docelowym obliczeniowym.
Rozmiar bloku pamięci udostępnionej kontenera platformy Docker. Powinno to być w formacie (liczba)(jednostka), gdzie liczba musi być większa niż 0, a jednostka może być jedną z b(bajtów), k(kilobajtów), m(megabajtów) lub g(gigabajtów).
Przykłady
Ustawianie zasobów w poleceniu.
from azure.ai.ml import Input, Output, command
command_node = command(
environment="AzureML-sklearn-1.0-ubuntu20.04-py38-cpu:33",
command='echo "hello world"',
distribution={"type": "Pytorch", "process_count_per_instance": 2},
inputs={
"training_data": Input(type="uri_folder"),
"max_epochs": 20,
"learning_rate": 1.8,
"learning_rate_schedule": "time-based",
},
outputs={"model_output": Output(type="uri_folder")},
)
command_node.set_resources(
instance_count=1,
instance_type="STANDARD_D2_v2",
properties={"key": "new_val"},
shm_size="3g",
)
setdefault
Wstaw klucz z wartością domyślną, jeśli klucz nie znajduje się w słowniku.
Zwróć wartość klucza, jeśli klucz znajduje się w słowniku, a w przeciwnym razie wartość domyślna.
setdefault(key, default=None, /)
Parametry
- key
- default
sweep
Zamienia polecenie w węzeł zamiatania z dodatkowym ustawieniem przebiegu zamiatania. Składnik polecenia w bieżącym węźle polecenia będzie używany jako jego składnik próbny. Węzeł poleceń może zamiatać wiele razy, a wygenerowany węzeł zamiatania będzie współużytkować ten sam składnik próbny.
sweep(*, primary_metric: str, goal: str, sampling_algorithm: str = 'random', compute: str | None = None, max_concurrent_trials: int | None = None, max_total_trials: int | None = None, timeout: int | None = None, trial_timeout: int | None = None, early_termination_policy: EarlyTerminationPolicy | str | None = None, search_space: Dict[str, Choice | LogNormal | LogUniform | Normal | QLogNormal | QLogUniform | QNormal | QUniform | Randint | Uniform] | None = None, identity: ManagedIdentityConfiguration | AmlTokenConfiguration | UserIdentityConfiguration | None = None, queue_settings: QueueSettings | None = None, job_tier: str | None = None, priority: str | None = None) -> Sweep
Parametry
- primary_metric
- str
Podstawowa metryka celu zamiatania — np. AUC (obszar pod krzywą). Metryka musi być rejestrowana podczas uruchamiania składnika wersji próbnej.
- goal
- str
Cel Zamiatanie. Akceptowane wartości to "minimalizuj" lub "maksymalizuj".
- sampling_algorithm
- str
Algorytm próbkowania używany wewnątrz przestrzeni wyszukiwania. Dopuszczalne wartości to "losowe", "grid" lub "bayesian". Wartości domyślne to "losowe".
Docelowe zasoby obliczeniowe do uruchomienia węzła. Jeśli nie zostanie określony, zostaną użyte zasoby obliczeniowe bieżącego węzła.
Maksymalna liczba prób do uruchomienia. Ta wartość zastąpi wartość w poleceniu CommandJob.limits, jeśli zostanie określona.
Maksymalny czas trwania przebiegu w sekundach, po którym zadanie zostanie anulowane.
- early_termination_policy
- Optional[Union[BanditPolicy, TruncationSelectionPolicy, MedianStoppingPolicy, str]]
Zasady wczesnego zakończenia węzła zamiatania. Dopuszczalne wartości to "bandyt", "median_stopping" lub "truncation_selection". Domyślnie wartość Brak.
- identity
- Optional[Union[ ManagedIdentityConfiguration, AmlTokenConfiguration, UserIdentityConfiguration]]
Tożsamość, która będzie używana przez zadanie podczas uruchamiania w środowisku obliczeniowym.
- queue_settings
- Optional[QueueSettings]
Ustawienia kolejki dla zadania.
Eksperymentalne Warstwa zadań. Akceptowane wartości to "Spot", "Basic", "Standard" lub "Premium".
Eksperymentalne Priorytet obliczeniowy. Akceptowane wartości to "niska", "średnia" i "wysoka".
Zwraca
Węzeł Zamiatanie ze składnikiem z bieżącego węzła Polecenia jako jego składnik próbny.
Typ zwracany
Przykłady
Tworzenie węzła zamiatanie na podstawie zadania polecenia.
from azure.ai.ml import command
job = command(
inputs=dict(kernel="linear", penalty=1.0),
compute=cpu_cluster,
environment=f"{job_env.name}:{job_env.version}",
code="./scripts",
command="python scripts/train.py --kernel $kernel --penalty $penalty",
experiment_name="sklearn-iris-flowers",
)
# we can reuse an existing Command Job as a function that we can apply inputs to for the sweep configurations
from azure.ai.ml.sweep import Uniform
job_for_sweep = job(
kernel=Uniform(min_value=0.0005, max_value=0.005),
penalty=Uniform(min_value=0.9, max_value=0.99),
)
from azure.ai.ml.sweep import BanditPolicy
sweep_job = job_for_sweep.sweep(
sampling_algorithm="random",
primary_metric="best_val_acc",
goal="Maximize",
max_total_trials=8,
max_concurrent_trials=4,
early_termination_policy=BanditPolicy(slack_factor=0.15, evaluation_interval=1, delay_evaluation=10),
)
update
Jeśli E jest obecny i ma metodę .keys(), wykonuje następujące czynności: dla k in E: D[k] = E[k] Jeśli E jest obecny i brakuje metody .keys(), to robi: dla k, v in E: D[k] = v w obu przypadkach, jest to następujące: dla k w F: D[k] = F[k] = F[k]
update([E], **F) -> None. Update D from dict/iterable E and F.
values
values() -> an object providing a view on D's values
Atrybuty
base_path
code
command
component
Identyfikator lub wystąpienie składnika polecenia lub zadania do uruchomienia dla kroku.
Zwraca
Identyfikator lub wystąpienie składnika polecenia lub zadania do uruchomienia dla kroku.
Typ zwracany
creation_context
distribution
Konfiguracja składnika lub zadania polecenia rozproszonego.
Zwraca
Konfiguracja zadań rozproszonych.
Typ zwracany
id
Identyfikator zasobu.
Zwraca
Globalny identyfikator zasobu, identyfikator usługi Azure Resource Manager (ARM).
Typ zwracany
identity
Tożsamość, która będzie używana przez zadanie podczas uruchamiania w środowisku obliczeniowym.
Zwraca
Tożsamość, która będzie używana przez zadanie podczas uruchamiania w środowisku obliczeniowym.
Typ zwracany
inputs
Pobierz dane wejściowe dla obiektu.
Zwraca
Słownik zawierający dane wejściowe obiektu.
Typ zwracany
log_files
Pliki wyjściowe zadania.
Zwraca
Słownik nazw dzienników i adresów URL.
Typ zwracany
name
outputs
Pobierz dane wyjściowe obiektu.
Zwraca
Słownik zawierający dane wyjściowe obiektu.
Typ zwracany
parameters
Parametry mlFlow, które mają być rejestrowane podczas zadania.
Zwraca
Parametry MLFlow, które mają być rejestrowane podczas zadania.
Typ zwracany
queue_settings
Ustawienia kolejki dla składnika polecenia lub zadania.
Zwraca
Ustawienia kolejki dla składnika polecenia lub zadania.
Typ zwracany
resources
Konfiguracja zasobów obliczeniowych dla składnika lub zadania polecenia.
Typ zwracany
services
Usługi interaktywne dla węzła.
Jest to parametr eksperymentalny i może ulec zmianie w dowolnym momencie. Aby uzyskać więcej informacji, zobacz https://aka.ms/azuremlexperimental.
Typ zwracany
status
Stan zadania.
Zwracane wspólne wartości to "Running", "Completed" i "Failed". Wszystkie możliwe wartości to:
NotStarted — jest to stan tymczasowy, w przypadku którego przed przesłaniem chmury znajdują się obiekty Uruchom po stronie klienta.
Uruchamianie — uruchamianie zaczęło być przetwarzane w chmurze. Obiekt wywołujący ma w tym momencie identyfikator uruchomienia.
Aprowizowanie — zasoby obliczeniowe na żądanie są tworzone dla danego przesłania zadania.
Przygotowywanie — środowisko uruchamiania jest przygotowane i znajduje się w jednym z dwóch etapów:
Kompilacja obrazu platformy Docker
Konfiguracja środowiska conda
Queued — zadanie jest w kolejce w obiekcie docelowym obliczeniowym. Na przykład w usłudze BatchAI zadanie jest w stanie w kolejce
czekając na gotowość wszystkich żądanych węzłów.
Uruchomiono — zadanie zostało uruchomione na docelowym obiekcie obliczeniowym.
Finalizowanie — wykonanie kodu użytkownika zostało ukończone, a przebieg znajduje się na etapach przetwarzania końcowego.
CancelRequested — zażądano anulowania zadania.
Ukończono — przebieg został ukończony pomyślnie. Obejmuje to zarówno wykonywanie kodu użytkownika, jak i uruchamianie
etapy przetwarzania końcowego.
Niepowodzenie — przebieg zakończył się niepowodzeniem. Zazwyczaj właściwość Error w przebiegu zawiera szczegółowe informacje o przyczynie.
Anulowano — następuje żądanie anulowania i wskazuje, że przebieg został pomyślnie anulowany.
Brak odpowiedzi — w przypadku przebiegów z włączonymi pulsami nie wysłano ostatnio żadnego pulsu.
Zwraca
Stan zadania.
Typ zwracany
studio_url
Punkt końcowy usługi Azure ML Studio.
Zwraca
Adres URL strony szczegółów zadania.
Typ zwracany
type
Azure SDK for Python