parallel Paket

Klasser

ParallelJob

Parallellt jobb.

RunFunction

Kör funktion.

Funktioner

parallel_run_function

Skapa ett parallellt objekt som kan användas i dsl.pipeline som en funktion och som även kan skapas som ett fristående parallellt jobb.

Ett exempel på hur du använder ParallelRunStep finns i notebook-filen 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

Parametrar

name
str

Namnet på det parallella jobbet eller komponenten som skapats.

description
str

En vänlig beskrivning av parallellen.

tags
Dict

Taggar som ska kopplas till den här parallellen.

properties
Dict

Ordlistan för tillgångsegenskap.

display_name
str

Ett eget namn.

experiment_name
str

Namnet på experimentet som jobbet skapas under, om Inget anges anges standardvärdet till aktuellt katalognamn. Ignoreras som ett pipelinesteg.

compute
str

Namnet på den beräkning där det parallella jobbet körs (används inte om parallellen används som en komponent/funktion).

retry_settings
BatchRetrySettings

Det gick inte att försöka köra parallella komponenter igen

environment_variables
Dict[str, str]

En ordlista med miljövariablers namn och värden. Dessa miljövariabler anges i den process där användarskript körs.

logging_level
str

En sträng med namnet på loggningsnivån, som definieras i loggning. Möjliga värden är "WARNING", "INFO" och "DEBUG". (valfritt, standardvärdet är "INFO".) Det här värdet kan anges via PipelineParameter.

max_concurrency_per_instance
int

Den maximala parallellitet som varje beräkningsinstans har.

error_threshold
int

Antalet postfel för tabelldatauppsättning och filfel för fildatauppsättning som ska ignoreras under bearbetningen. Om felantalet överskrider det här värdet avbryts jobbet. Feltröskelvärdet är för hela indata i stället för den enskilda mini-batch som skickas till run()-metoden. Intervallet är [-1, int.max]. -1 anger ignorera alla fel under bearbetningen

mini_batch_error_threshold
int

Antalet fel vid bearbetning av minibatch ska ignoreras

task
RunFunction

Den parallella aktiviteten

mini_batch_size
str

För FileDataset-indata är det här fältet antalet filer som ett användarskript kan bearbeta i ett run()-anrop. För TabularDataset-indata är det här fältet den ungefärliga storleken på data som användarskriptet kan bearbeta i ett run()-anrop. Exempelvärden är 1024, 1024 KB, 10 MB och 1 GB. (valfritt är standardvärdet 10 filer för FileDataset och 1MB för TabularDataset.) Det här värdet kan anges via PipelineParameter.

partition_keys
List

De nycklar som används för att partitionera datauppsättningen i mini-batchar. Om det anges partitioneras data med samma nyckel i samma mini-batch. Om både partition_keys och mini_batch_size anges börjar partitionsnycklarna gälla. Indata måste vara partitionerade datauppsättningar och partition_keys måste vara en delmängd av nycklarna för varje indatauppsättning för att detta ska fungera

input_data
str

Indata.

inputs
Dict

En dikta av indata som används av den här parallellen.

outputs
Dict

Utdata från den här parallella

instance_count
int

Valfritt antal instanser eller noder som används av beräkningsmålet. Standardvärdet är 1

instance_type
str

Valfri typ av virtuell dator som stöds av beräkningsmålet..

docker_args
str

Extra argument att skicka till Docker-körningskommandot. Detta skulle åsidosätta alla parametrar som redan har angetts av systemet, eller i det här avsnittet. Den här parametern stöds endast för Azure ML-beräkningstyper.

shm_size
str

Storleken på docker-containerns delade minnesblock. Detta ska vara i formatet (tal)(enhet) där talet ska vara större än 0 och enheten kan vara en av b(byte), k(kilobyte), m(megabyte) eller g(gigabyte).

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

Identitet som träningsjobbet ska använda när det körs på beräkning.

is_deterministic
bool

Ange om parallellen ska returnera samma utdata med samma indata. Om en parallell (komponent) är deterministisk, när den används som en nod/ett steg i en pipeline, återanvänds resultatet från ett tidigare skickat jobb på den aktuella arbetsytan som har samma indata och inställningar. I det här fallet använder inte det här steget någon beräkningsresurs. Standardvärdet Är sant anger du is_deterministic=Falskt om du vill undvika sådant återanvändningsbeteende, standardvärdet Är sant.

Returer

Den parallella noden

Returtyp

Kommentarer

Så här använder du parallel_run_function:

  • Skapa ett <xref:azure.ai.ml.entities._builders.Parallel> objekt för att ange hur parallell körning utförs, med parametrar för att styra batchstorlek, antal noder per beräkningsmål och en referens till ditt anpassade Python-skript.

  • Skapa pipeline med det parallella objektet som en funktion. definierar indata och utdata för steget.

  • Summera pipelinen som ska köras.