Delen via


parallel Pakket

Klassen

ParallelJob

Parallelle taak.

RunFunction

Functie uitvoeren.

Functies

parallel_run_function

Maak een Parallel-object dat als functie in dsl.pipeline kan worden gebruikt en ook kan worden gemaakt als een zelfstandige parallelle taak.

Zie het notebook voor een voorbeeld van het gebruik van ParallelRunStep 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

Parameters

name
str

Naam van de parallelle taak of het gemaakte onderdeel.

description
str

Een beschrijvende beschrijving van de parallel.

tags
Dict

Tags die aan deze parallel moeten worden gekoppeld.

properties
Dict

De woordenlijst met eigenschappen van activa.

display_name
str

Een beschrijvende naam.

experiment_name
str

Naam van het experiment waaronder de taak wordt gemaakt. Als Geen is opgegeven, wordt de standaardwaarde ingesteld op de huidige mapnaam. Wordt genegeerd als een pijplijnstap.

compute
str

De naam van de berekening waarin de parallelle taak wordt uitgevoerd (wordt niet gebruikt als de parallelle taak wordt gebruikt als onderdeel/functie).

retry_settings
BatchRetrySettings

Het uitvoeren van parallelle onderdelen is mislukte nieuwe poging

environment_variables
Dict[str, str]

Een woordenlijst met namen en waarden van omgevingsvariabelen. Deze omgevingsvariabelen worden ingesteld voor het proces waarin het gebruikersscript wordt uitgevoerd.

logging_level
str

Een tekenreeks van de naam van het logboekregistratieniveau, die is gedefinieerd in 'logboekregistratie'. Mogelijke waarden zijn WAARSCHUWING, INFO en FOUTOPSPORING. (optioneel, standaardwaarde is 'INFO'.) Deze waarde kan worden ingesteld via PipelineParameter.

max_concurrency_per_instance
int

Het maximale parallellisme dat elk rekenproces heeft.

error_threshold
int

Het aantal recordfouten voor tabelgegevenssets en bestandsfouten voor bestandsgegevenssets dat tijdens de verwerking moet worden genegeerd. Als het aantal fouten boven deze waarde komt, wordt de taak afgebroken. De foutdrempelwaarde is voor de volledige invoer in plaats van de afzonderlijke minibatch die is verzonden naar de run()-methode. Het bereik is [-1, int.max]. -1 geeft aan dat alle fouten tijdens de verwerking worden genegeerd

mini_batch_error_threshold
int

Het aantal mini-batchverwerkingsfouten moet worden genegeerd

task
RunFunction

De parallelle taak

mini_batch_size
str

Voor FileDataset-invoer is dit veld het aantal bestanden dat een gebruikersscript kan verwerken in één run()-aanroep. Voor TabularDataset-invoer is dit veld de geschatte grootte van de gegevens die het gebruikersscript kan verwerken in één run()-aanroep. Voorbeeldwaarden zijn 1024, 1024 kB, 10 MB en 1 GB. (optioneel, de standaardwaarde is 10 bestanden voor FileDataset en 1 MB voor TabularDataset.) Deze waarde kan worden ingesteld via PipelineParameter.

partition_keys
List

De sleutels die worden gebruikt voor het partitioneren van de gegevensset in minibatches. Indien opgegeven, worden de gegevens met dezelfde sleutel gepartitioneerd in dezelfde minibatch. Als zowel partition_keys als mini_batch_size zijn opgegeven, worden de partitiesleutels van kracht. De invoer(en) moeten gepartitioneerde gegevensset(s) zijn en de partition_keys moet een subset van de sleutels van elke invoergegevensset zijn om dit te laten werken

input_data
str

De invoergegevens.

inputs
Dict

Een dict van invoer die door deze parallel wordt gebruikt.

outputs
Dict

De uitvoer van deze parallelle

instance_count
int

Optioneel aantal exemplaren of knooppunten dat door het rekendoel wordt gebruikt. Standaard ingesteld op 1

instance_type
str

Optioneel type VM dat wordt gebruikt zoals ondersteund door het rekendoel.

docker_args
str

Extra argumenten die moeten worden doorgegeven aan de Opdracht Uitvoeren van Docker. Dit overschrijft alle parameters die al zijn ingesteld door het systeem of in deze sectie. Deze parameter wordt alleen ondersteund voor Azure ML-rekentypen.

shm_size
str

Grootte van het blok gedeeld geheugen van de Docker-container. Dit moet de notatie (getal)(eenheid) hebben, waarbij getal groter is dan 0 en de eenheid een van b(bytes), k(kilobytes), m(megabytes) of g(gigabytes) kan zijn.

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

De identiteit die de trainingstaak gebruikt tijdens het uitvoeren van berekeningen.

is_deterministic
bool

Geef op of de parallel dezelfde uitvoer retourneert op basis van dezelfde invoer. Als een parallel (onderdeel) deterministisch is en deze als een knooppunt/stap in een pijplijn wordt gebruikt, worden de resultaten van een eerder ingediende taak in de huidige werkruimte die dezelfde invoer en instellingen heeft, opnieuw gebruikt. In dit geval maakt deze stap geen gebruik van een rekenresource. Standaard ingesteld op True, geeft u is_deterministic=False op als u dergelijk hergebruik wilt voorkomen. De standaardinstelling is Waar.

Retouren

Het parallelle knooppunt

Retourtype

Opmerkingen

Ga als volgende te werk om parallel_run_function te gebruiken:

  • Maak een <xref:azure.ai.ml.entities._builders.Parallel> -object om op te geven hoe parallelle uitvoering wordt uitgevoerd, met parameters voor het beheren van de batchgrootte, het aantal knooppunten per rekendoel en een verwijzing naar uw aangepaste Python-script.

  • Maak een pijplijn met het parallelle object als functie. definieert de invoer en uitvoer voor de stap.

  • Som de pijplijn op die moet worden uitgevoerd.