SweepJob Classe
Processo di sweep per l'ottimizzazione dell'iperparametro.
- Ereditarietà
-
azure.ai.ml.entities._job.job.JobSweepJobazure.ai.ml.entities._job.sweep.parameterized_sweep.ParameterizedSweepSweepJobazure.ai.ml.entities._job.job_io_mixin.JobIOMixinSweepJob
Costruttore
SweepJob(*, name: str | None = None, description: str | None = None, tags: Dict | None = None, display_name: str | None = None, experiment_name: str | None = None, identity: ManagedIdentityConfiguration | AmlTokenConfiguration | UserIdentityConfiguration | None = None, inputs: Dict[str, int | str | float | bool | Input] | None = None, outputs: Dict[str, Output] | None = None, compute: str | None = None, limits: SweepJobLimits | None = None, sampling_algorithm: str | SamplingAlgorithm | None = None, search_space: Dict[str, Choice | LogNormal | LogUniform | Normal | QLogNormal | QLogUniform | QNormal | QUniform | Randint | Uniform] | None = None, objective: Objective | None = None, trial: CommandJob | CommandComponent | None = None, early_termination: BanditPolicy | MedianStoppingPolicy | TruncationSelectionPolicy | None = None, queue_settings: QueueSettings | None = None, **kwargs: Any)
Parametri
- name
- str
Nome del processo.
- display_name
- str
Nome visualizzato del processo.
- description
- str
Descrizione del processo.
- experiment_name
- str
Il nome dell'esperimento verrà creato in, se None viene specificato, il processo verrà creato in "Default".
Identità che il processo di training userà durante l'esecuzione nel calcolo.
- inputs
- dict
Input al comando.
- sampling_algorithm
- str
Algoritmo di campionamento dell'iperparametro da usare sul search_space. Le impostazioni predefinite sono "casuali".
- search_space
- Dict
Dizionario dello spazio di ricerca dell'iperparametro. La chiave è il nome dell'iperparametro e il valore è l'espressione di parametro.
- objective
- Objective
Metrica da ottimizzare per.
- compute
- str
Destinazione di calcolo in esecuzione il processo.
- trial
- Union[CommandJob, CommandComponent]
Configurazione del processo per ogni versione di valutazione. Ogni versione di valutazione verrà fornita con una combinazione diversa di valori di iperparametri che i campioni di sistema dall'search_space.
- early_termination
- Union[BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy]
Criteri di terminazione anticipata da usare. Un processo di valutazione viene annullato quando vengono soddisfatti i criteri dei criteri specificati. Se omesso, non verranno applicati criteri di terminazione anticipata.
- limits
- <xref:azure.ai.ml.entities.SweepJobLimits>
Limiti per il processo di sweep.
- queue_settings
- QueueSettings
Impostazioni della coda per il processo.
- kwargs
- dict
Dizionario di parametri di configurazione aggiuntivi.
Esempio
Creazione di un processo di sweep
from azure.ai.ml.entities import CommandJob
from azure.ai.ml.sweep import BayesianSamplingAlgorithm, Objective, SweepJob, SweepJobLimits
command_job = CommandJob(
inputs=dict(kernel="linear", penalty=1.0),
compute=cpu_cluster,
environment=f"{job_env.name}:{job_env.version}",
code="./scripts",
command="python scripts/train.py --kernel $kernel --penalty $penalty",
experiment_name="sklearn-iris-flowers",
)
sweep = SweepJob(
sampling_algorithm=BayesianSamplingAlgorithm(),
trial=command_job,
search_space={"ss": Choice(type="choice", values=[{"space1": True}, {"space2": True}])},
inputs={"input1": {"file": "top_level.csv", "mode": "ro_mount"}},
compute="top_level",
limits=SweepJobLimits(trial_timeout=600),
objective=Objective(goal="maximize", primary_metric="accuracy"),
)
Metodi
dump |
Esegue il dump del contenuto del processo in un file in formato YAML. |
set_limits |
Impostare i limiti per il nodo Sweep. Lasciare i parametri come Nessuno se non si desidera aggiornare i valori corrispondenti. |
set_objective |
Impostare l'oggetto sweep.. Lasciare i parametri come Nessuno se non si desidera aggiornare i valori corrispondenti. "ridurre al minimo", "massimizzare". :type goal: str :keyword primary_metric: nome della metrica da ottimizzare. :p aramtype primary_metric: str |
dump
Esegue il dump del contenuto del processo in un file in formato YAML.
dump(dest: str | PathLike | IO, **kwargs) -> None
Parametri
Percorso locale o flusso di file in cui scrivere il contenuto YAML. Se il massimo è un percorso di file, verrà creato un nuovo file. Se il massimo è un file aperto, il file verrà scritto direttamente.
- kwargs
- dict
Argomenti aggiuntivi da passare al serializzatore YAML.
Eccezioni
Generato se il numero massimo è un percorso di file e il file esiste già.
Generato se il massimo è un file aperto e il file non è scrivibile.
set_limits
Impostare i limiti per il nodo Sweep. Lasciare i parametri come Nessuno se non si desidera aggiornare i valori corrispondenti.
set_limits(*, max_concurrent_trials: int | None = None, max_total_trials: int | None = None, timeout: int | None = None, trial_timeout: int | None = None) -> None
Parametri
- max_concurrent_trials
- int
numero massimo di valutazione simultaneo.
- max_total_trials
- int
numero massimo di valutazione totale.
- timeout
- int
timeout totale in secondi per il nodo di sweep
- trial_timeout
- int
timeout in secondi per ogni versione di valutazione
Eccezioni
Generato se il numero massimo è un percorso di file e il file esiste già.
Generato se il massimo è un file aperto e il file non è scrivibile.
set_objective
Impostare l'oggetto sweep.. Lasciare i parametri come Nessuno se non si desidera aggiornare i valori corrispondenti.
"ridurre al minimo", "massimizzare". :type goal: str :keyword primary_metric: nome della metrica da ottimizzare. :p aramtype primary_metric: str
set_objective(*, goal: str | None = None, primary_metric: str | None = None) -> None
Parametri
- goal
Definisce gli obiettivi delle metriche supportati per l'ottimizzazione dell'iperparametro. I valori accettabili sono:
Eccezioni
Generato se il numero massimo è un percorso di file e il file esiste già.
Generato se il massimo è un file aperto e il file non è scrivibile.
Attributi
base_path
creation_context
Contesto di creazione della risorsa.
Restituisce
Metadati di creazione per la risorsa.
Tipo restituito
early_termination
Criteri di terminazione anticipata per il processo di sweep.
Restituisce
Criteri di terminazione anticipata per il processo di sweep.
Tipo restituito
id
L'ID della risorsa.
Restituisce
ID globale della risorsa, ID di Azure Resource Manager (ARM).
Tipo restituito
inputs
limits
Limiti per il processo di sweep.
Restituisce
Limiti per il processo di sweep.
Tipo restituito
log_files
File di output del processo.
Restituisce
Dizionario di nomi e URL di log.
Tipo restituito
outputs
sampling_algorithm
Algoritmo di campionamento per il processo di sweep.
Restituisce
Algoritmo di campionamento per il processo di sweep.
Tipo restituito
status
Stato del processo.
I valori comuni restituiti includono "Running", "Completed" e "Failed". Tutti i valori possibili sono:
NotStarted: questo è uno stato temporaneo in cui gli oggetti Run lato client si trovano prima dell'invio nel cloud.
Avvio: l'esecuzione è stata avviata nell'elaborazione nel cloud. Il chiamante ha un ID di esecuzione a questo punto.
Provisioning: l'elaborazione su richiesta viene creata per un invio di processo specificato.
Preparazione: l'ambiente di esecuzione è in fase di preparazione ed è in una delle due fasi seguenti:
Compilazione di immagini Docker
configurazione dell'ambiente conda
Accodato: il processo viene accodato nella destinazione di calcolo. Ad esempio, in BatchAI il processo si trova in uno stato in coda
in attesa che tutti i nodi richiesti siano pronti.
Esecuzione: il processo è stato avviato per l'esecuzione nella destinazione di calcolo.
Finalizzazione: l'esecuzione del codice utente è stata completata e l'esecuzione è in fasi di post-elaborazione.
CancelRequested: l'annullamento è stato richiesto per il processo.
Completato: l'esecuzione è stata completata correttamente. Ciò include sia l'esecuzione del codice utente che l'esecuzione
fasi di post-elaborazione.
Impossibile: l'esecuzione non è riuscita. In genere la proprietà Error in un'esecuzione fornisce informazioni dettagliate sul motivo.
Annullata: segue una richiesta di annullamento e indica che l'esecuzione è stata annullata correttamente.
NotResponding: per le esecuzioni abilitate per Heartbeat, non è stato inviato di recente alcun heartbeat.
Restituisce
Stato del processo.
Tipo restituito
studio_url
Endpoint di Azure ML Studio.
Restituisce
URL della pagina dei dettagli del processo.
Tipo restituito
type
Azure SDK for Python