Sdílet prostřednictvím


parallel Balíček

Třídy

ParallelJob

Paralelní úloha.

RunFunction

Spustit funkci.

Funkce

parallel_run_function

Vytvořte objekt Parallel, který lze použít uvnitř dsl.pipeline jako funkci a který lze také vytvořit jako samostatnou paralelní úlohu.

Příklad použití Kroku paralelního spuštění najdete v poznámkovém bloku. https://aka.ms/parallel-example-notebook


   from azure.ai.ml import Input, Output, parallel

   parallel_run = parallel_run_function(
       name="batch_score_with_tabular_input",
       display_name="Batch Score with Tabular Dataset",
       description="parallel component for batch score",
       inputs=dict(
           job_data_path=Input(
               type=AssetTypes.MLTABLE,
               description="The data to be split and scored in parallel",
           ),
           score_model=Input(
               type=AssetTypes.URI_FOLDER, description="The model for batch score."
           ),
       ),
       outputs=dict(job_output_path=Output(type=AssetTypes.MLTABLE)),
       input_data="${{inputs.job_data_path}}",
       max_concurrency_per_instance=2,  # Optional, default is 1
       mini_batch_size="100",  # optional
       mini_batch_error_threshold=5,  # Optional, allowed failed count on mini batch items, default is -1
       logging_level="DEBUG",  # Optional, default is INFO
       error_threshold=5,  # Optional, allowed failed count totally, default is -1
       retry_settings=dict(max_retries=2, timeout=60),  # Optional
       task=RunFunction(
           code="./src",
           entry_script="tabular_batch_inference.py",
           environment=Environment(
               image="mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04",
               conda_file="./src/environment_parallel.yml",
           ),
           program_arguments="--model ${{inputs.score_model}}",
           append_row_to="${{outputs.job_output_path}}",  # Optional, if not set, summary_only
       ),
   )
parallel_run_function(*, name: str | None = None, description: str | None = None, tags: Dict | None = None, properties: Dict | None = None, display_name: str | None = None, experiment_name: str | None = None, compute: str | None = None, retry_settings: BatchRetrySettings | None = None, environment_variables: Dict | None = None, logging_level: str | None = None, max_concurrency_per_instance: int | None = None, error_threshold: int | None = None, mini_batch_error_threshold: int | None = None, task: RunFunction | None = None, mini_batch_size: str | None = None, partition_keys: List | None = None, input_data: str | None = None, inputs: Dict | None = None, outputs: Dict | None = None, instance_count: int | None = None, instance_type: str | None = None, docker_args: str | None = None, shm_size: str | None = None, identity: ManagedIdentity | AmlToken | None = None, is_deterministic: bool = True, **kwargs) -> Parallel

Parametry

name
str

Název vytvořené paralelní úlohy nebo komponenty

description
str

Popisný popis rovnoběžky.

tags
Dict

Značky, které mají být připojeny k tomuto paralellu

properties
Dict

Slovník vlastností majetku.

display_name
str

Popisný název.

experiment_name
str

Název experimentu, ve které se úloha vytvoří. Pokud je zadaný žádný, výchozí hodnota se nastaví na aktuální název adresáře. Jako krok kanálu se bude ignorovat.

compute
str

Název výpočetního prostředí, ve kterém se paralelní úloha spouští (nepoužije se, pokud se paralel použije jako komponenta nebo funkce).

retry_settings
BatchRetrySettings

Paralelní spuštění komponenty selhalo při opakování

environment_variables
Dict[str, str]

Slovník názvů a hodnot proměnných prostředí. Tyto proměnné prostředí se nastavují v procesu, ve kterém se spouští uživatelský skript.

logging_level
str

Řetězec názvu úrovně protokolování, který je definován v "protokolování". Možné hodnoty jsou WARNING, INFO a DEBUG. (Volitelné, výchozí hodnota je INFO.) Tuto hodnotu je možné nastavit prostřednictvím parametru PipelineParameter.

max_concurrency_per_instance
int

Maximální paralelismus, který má každá výpočetní instance.

error_threshold
int

Počet selhání záznamů pro tabulkovou datovou sadu a selhání souborů pro datovou sadu souborů, které by se měly během zpracování ignorovat. Pokud počet chyb překročí tuto hodnotu, úloha se přeruší. Prahová hodnota chyby je určená pro celý vstup, nikoli pro jednotlivé minidávku odesílané metodě run(). Rozsah je [-1, int.max]. -1 znamená, že se při zpracování ignorují všechna selhání.

mini_batch_error_threshold
int

Počet selhání mini dávkového zpracování by se měl ignorovat.

task
RunFunction

Paralelní úloha

mini_batch_size
str

Pro vstup FileDataset je toto pole počet souborů, které může uživatelský skript zpracovat při jednom volání run(). Pro vstup TabularDataset toto pole představuje přibližnou velikost dat, která může uživatelský skript zpracovat při jednom volání run(). Příklady hodnot jsou 1024, 1024 kB, 10 MB a 1 GB. (Volitelné, výchozí hodnota je 10 souborů pro FileDataset a 1 MB pro TabularDataset.) Tuto hodnotu je možné nastavit prostřednictvím parametru PipelineParameter.

partition_keys
List

Klíče použité k rozdělení datové sady do minidávek. Pokud zadáte, data se stejným klíčem se rozdělí do stejné minidávy. Pokud jsou zadány partition_keys i mini_batch_size, projeví se klíče oddílů. Vstupy musí být dělené datové sady a partition_keys musí být podmnožinou klíčů každé vstupní datové sady, aby to fungovalo.

input_data
str

Vstupní data.

inputs
Dict

Dikt vstupů používaných touto paralelli.

outputs
Dict

Výstupy tohoto paralelního

instance_count
int

Volitelný počet instancí nebo uzlů používaných cílovým výpočetním objektem Výchozí hodnota je 1.

instance_type
str

Volitelný typ virtuálního počítače, který se používá jako podporovaný cílovým výpočetním objektem.

docker_args
str

Další argumenty, které se předávají do příkazu Docker run. Tím by se přepsaly všechny parametry, které už byly nastaveny systémem nebo v této části. Tento parametr se podporuje pouze pro výpočetní typy Azure ML.

shm_size
str

Velikost bloku sdílené paměti kontejneru Dockeru Mělo by to být ve formátu (number)(unit), kde číslo je větší než 0 a jednotka může být jedna z b(bajtů), k(kilobajtů), m(megabajtů) nebo g(gigabajtů).

identity
Union[ <xref:azure.ai.ml._restclient.v2022_02_01_preview.models.ManagedIdentity>, <xref:azure.ai.ml._restclient.v2022_02_01_preview.models.AmlToken>]

Identita, kterou bude trénovací úloha používat při běhu na výpočetních prostředcích

is_deterministic
bool

Určete, zda paralelní výstup vrátí stejný výstup se stejným vstupem. Pokud je paralelní (komponenta) deterministická, při použití jako uzlu nebo kroku v kanálu se znovu použijí výsledky z předchozí odeslané úlohy v aktuálním pracovním prostoru, který má stejné vstupy a nastavení. V tomto případě tento krok nepoužije žádný výpočetní prostředek. Výchozí hodnota je Pravda. Pokud se chcete takovému chování opakovaného použití vyhnout, zadejte is_deterministic=Nepravda. Výchozí hodnota je True.

Návraty

Paralelní uzel

Návratový typ

Poznámky

Použití parallel_run_function:

  • Vytvořte objekt, který <xref:azure.ai.ml.entities._builders.Parallel> určuje, jak se provádí paralelní spuštění, s parametry pro řízení velikosti dávky, počtu uzlů na cílový výpočetní objekt a odkazem na vlastní skript Pythonu.

  • Sestavte kanál s paralelním objektem jako funkcí. definuje vstupy a výstupy kroku.

  • Sečtení kanálu, který se má spustit