Condividi tramite


parallel Pacchetto

Classi

ParallelJob

Processo parallelo.

RunFunction

Eseguire la funzione.

Funzioni

parallel_run_function

Creare un oggetto Parallel che può essere usato all'interno di dsl.pipeline come funzione e può essere creato anche come processo parallelo autonomo.

Per un esempio di uso di ParallelRunStep, vedere il notebook 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

Parametri

name
str

Nome del processo o del componente parallelo creato.

description
str

Descrizione descrittiva del parallelo.

tags
Dict

Tag da collegare a questo parallelo.

properties
Dict

Dizionario delle proprietà asset.

display_name
str

Nome descrittivo.

experiment_name
str

Il nome dell'esperimento verrà creato in, se None viene specificato, il valore predefinito verrà impostato sul nome della directory corrente. Verrà ignorato come passaggio della pipeline.

compute
str

Nome del calcolo in cui viene eseguito il processo parallelo (non verrà usato se il parallelo viene usato come componente/funzione).

retry_settings
BatchRetrySettings

Tentativi di ripetizione del componente paralleli non riusciti

environment_variables
Dict[str, str]

Dizionario dei nomi e dei valori delle variabili di ambiente. Queste variabili di ambiente vengono impostate nel processo in cui viene eseguito lo script utente.

logging_level
str

Stringa del nome del livello di registrazione, definito in 'logging'. I valori possibili sono "WARNING", "INFO" e "DEBUG". (facoltativo, il valore predefinito è 'INFO'). Questo valore può essere impostato tramite PipelineParameter.

max_concurrency_per_instance
int

Il parallellismo massimo che ogni istanza di calcolo ha.

error_threshold
int

Numero di errori di record per set di dati tabulari e errori di file per il set di dati file che deve essere ignorato durante l'elaborazione. Se il conteggio degli errori supera questo valore, il processo verrà interrotto. La soglia di errore è per l'intero input anziché per il singolo metodo mini-batch inviato a run(). L'intervallo è [-1, int.max]. -1 indica l'ignorare tutti gli errori durante l'elaborazione

mini_batch_error_threshold
int

Il numero di mini errori di elaborazione batch deve essere ignorato

task
RunFunction

Attività parallela

mini_batch_size
str

Per l'input di FileDataset, questo campo è il numero di file che uno script utente può elaborare in una chiamata run(). Per l'input tabularDataset, questo campo è la dimensione approssimativa dei dati che lo script utente può elaborare in una chiamata run(). I valori di esempio sono 1024, 1024 KB, 10 MB e 1 GB. Facoltativo, il valore predefinito è 10 file per FileDataset e 1MB per TabularDataset. Questo valore può essere impostato tramite PipelineParameter.

partition_keys
List

Chiavi usate per partizionare il set di dati in mini-batch. Se specificato, i dati con la stessa chiave verranno partizionati nello stesso mini-batch. Se vengono specificati sia partition_keys che mini_batch_size, le chiavi di partizione avranno effetto. Gli input devono essere set di dati partizionati e il partition_keys deve essere un subset delle chiavi di ogni set di dati di input per il funzionamento

input_data
str

Dati di input.

inputs
Dict

Un'espressione di input utilizzata da questo parallelo.

outputs
Dict

Output di questo parallelo

instance_count
int

Numero facoltativo di istanze o nodi usati dalla destinazione di calcolo. Impostazione predefinita su 1

instance_type
str

Tipo facoltativo di macchina virtuale usato come supportato dalla destinazione di calcolo.

docker_args
str

Argomenti aggiuntivi da passare al comando Di esecuzione Docker. Questa operazione esegue l'override di tutti i parametri già impostati dal sistema o in questa sezione. Questo parametro è supportato solo per i tipi di calcolo di Azure ML.

shm_size
str

Dimensioni del blocco di memoria condiviso del contenitore Docker. Deve essere nel formato (number)(unit) dove il numero è maggiore di 0 e l'unità può essere una di b(byte), k(kilobyte), m(megabyte) o 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>]

Identità che il processo di training userà durante l'esecuzione nel calcolo.

is_deterministic
bool

Specificare se il parallelo restituirà lo stesso output specificato nello stesso input. Se un componente parallelo (componente) è deterministico, quando viene usato come nodo/passaggio in una pipeline, verrà riutilizzato i risultati da un processo inviato precedente nell'area di lavoro corrente con gli stessi input e impostazioni. In questo caso, questo passaggio non userà alcuna risorsa di calcolo. Impostazione predefinita su True, specificare is_deterministic=False se si desidera evitare tale comportamento di riutilizzo, impostazione predefinita su True.

Restituisce

Nodo parallelo

Tipo restituito

Commenti

Per usare parallel_run_function:

  • Creare un <xref:azure.ai.ml.entities._builders.Parallel> oggetto per specificare il modo in cui viene eseguita l'esecuzione parallela, con parametri per controllare le dimensioni batch, il numero di nodi per destinazione di calcolo e un riferimento allo script Python personalizzato.

  • Compilare la pipeline con l'oggetto parallelo come funzione. definisce input e output per il passaggio.

  • Sommare la pipeline da eseguire.