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
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.
Azure SDK for Python