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
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.
Azure SDK for Python
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per