Udostępnij za pośrednictwem


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.BaseNode
Command
azure.ai.ml.entities._job.pipeline._io.mixin.NodeWithGroupInputMixin
Command

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.

compute
Optional[str]

Docelowy obiekt obliczeniowy, na który zostanie uruchomione zadanie.

inputs
Optional[dict[str, Union[ Input, str, bool, int, float, <xref:Enum>]]]

Mapowanie nazw wejściowych na wejściowe źródła danych używane w zadaniu.

outputs
Optional[dict[str, Union[str, Output]]]

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.

environment_variables
Optional[dict[str, str]]

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

dest
Union[<xref:PathLike>, str, IO[AnyStr]]
Wymagane

Ś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
Wymagane
iterable
Wymagane
value
wartość domyślna: None

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
Wymagane
default
wartość domyślna: None

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

job_tier
Optional[str]

Warstwa zadań. Akceptowane wartości to "Spot", "Basic", "Standard" lub "Premium".

priority
Optional[str]

Priorytet zadania obliczeniowego. Wartość domyślna to "Średni".

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

instance_type
Optional[Union[str, list[str]]]

Typ wystąpienia obliczeniowego do uruchomienia zadania. Jeśli nie zostanie określony, zadanie zostanie uruchomione na domyślnym obiekcie docelowym obliczeniowym.

instance_count
Optional[int]

Liczba wystąpień do uruchomienia zadania. Jeśli nie zostanie określony, zadanie zostanie uruchomione w jednym wystąpieniu.

locations
Optional[list[str]]

Lista lokalizacji, w których zostanie uruchomione zadanie. Jeśli nie zostanie określony, zadanie zostanie uruchomione na domyślnym obiekcie docelowym obliczeniowym.

properties
Optional[dict]

Właściwości zadania.

docker_args
Optional[str]

Argumenty platformy Docker dla zadania.

shm_size
Optional[str]

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
Wymagane
default
wartość domyślna: None

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".

compute
Optional[str]

Docelowe zasoby obliczeniowe do uruchomienia węzła. Jeśli nie zostanie określony, zostaną użyte zasoby obliczeniowe bieżącego węzła.

max_total_trials
Optional[int]

Maksymalna liczba prób do uruchomienia. Ta wartość zastąpi wartość w poleceniu CommandJob.limits, jeśli zostanie określona.

max_concurrent_trials
Optional[int]

Maksymalna liczba współbieżnych prób dla zadania zamiatania.

timeout
Optional[int]

Maksymalny czas trwania przebiegu w sekundach, po którym zadanie zostanie anulowane.

trial_timeout
Optional[int]

Wartość limitu czasu wersji próbnej zadania zamiatania w sekundach.

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.

job_tier
Optional[str]

Eksperymentalne Warstwa zadań. Akceptowane wartości to "Spot", "Basic", "Standard" lub "Premium".

priority
Optional[str]

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

Podstawowa ścieżka zasobu.

Zwraca

Podstawowa ścieżka zasobu.

Typ zwracany

str

code

Kod źródłowy do uruchomienia zadania.

Typ zwracany

command

Ustawia polecenie do wykonania.

Typ zwracany

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

Kontekst tworzenia zasobu.

Zwraca

Metadane tworzenia zasobu.

Typ zwracany

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

Pobierz nazwę węzła.

Zwraca

Nazwa węzła.

Typ zwracany

str

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

Typ zadania.

Zwraca

Typ zadania.

Typ zwracany