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
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.
Feedback
Skicka och visa feedback för