SweepJob Classe
Tâche de balayage pour le réglage des hyperparamètres.
- Héritage
-
azure.ai.ml.entities._job.job.JobSweepJobazure.ai.ml.entities._job.sweep.parameterized_sweep.ParameterizedSweepSweepJobazure.ai.ml.entities._job.job_io_mixin.JobIOMixinSweepJob
Constructeur
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)
Paramètres
- name
- str
Nom du travail.
- display_name
- str
Nom d’affichage du travail.
- description
- str
Description du travail.
Dictionnaire de balises. Les balises peuvent être ajoutées, supprimées et mises à jour.
- experiment_name
- str
Nom de l’expérience sous laquelle le travail sera créé. Si Aucun est fourni, le travail sera créé sous l’expérience « Par défaut ».
Identité que le travail d’entraînement utilisera lors de l’exécution sur le calcul.
- inputs
- dict
Entrées dans la commande.
- sampling_algorithm
- str
Algorithme d’échantillonnage des hyperparamètres à utiliser sur le search_space. La valeur par défaut est « random ».
- search_space
- Dict
Définir l’espace de recherche d’hyperparamètres. La clé est le nom de l’hyperparamètre, et la valeur est l’expression de paramètre.
- objective
- Objective
Métrique pour laquelle optimiser.
- compute
- str
Cible de calcul sur laquelle le travail s’exécute.
- trial
- Union[CommandJob, CommandComponent]
Configuration du travail pour chaque version d’évaluation. Chaque essai sera fourni avec une combinaison différente de valeurs d’hyperparamètre que le système échantillonne à partir du search_space.
- early_termination
- Union[BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy]
Stratégie d’arrêt anticipé à utiliser. Un travail d’évaluation est annulé quand les critères de la stratégie spécifiée sont satisfaits. En cas d’omission, aucune stratégie d’arrêt anticipé n’est appliquée.
- limits
- <xref:azure.ai.ml.entities.SweepJobLimits>
Limites du travail de balayage.
- queue_settings
- QueueSettings
Paramètres de file d’attente pour le travail.
- kwargs
- dict
Dictionnaire des paramètres de configuration supplémentaires.
Exemples
Création d’une tâche de balayage
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"),
)
Méthodes
dump |
Vide le contenu du travail dans un fichier au format YAML. |
set_limits |
Définissez des limites pour le nœud Balayage. Conservez la valeur Aucun si vous ne souhaitez pas mettre à jour les valeurs correspondantes. |
set_objective |
Définissez l’objet balayage.. Conservez la valeur Aucun si vous ne souhaitez pas mettre à jour les valeurs correspondantes. « réduire », « agrandir ». :type goal : str :mot clé primary_metric : Nom de la métrique à optimiser. :p aramtype primary_metric : str |
dump
Vide le contenu du travail dans un fichier au format YAML.
dump(dest: str | PathLike | IO, **kwargs) -> None
Paramètres
Chemin d’accès local ou flux de fichiers dans lequel écrire le contenu YAML. Si dest est un chemin de fichier, un nouveau fichier est créé. Si dest est un fichier ouvert, le fichier est écrit directement dans.
- kwargs
- dict
Arguments supplémentaires à passer au sérialiseur YAML.
Exceptions
Déclenché si dest est un chemin de fichier et que le fichier existe déjà.
Déclenché si dest est un fichier ouvert et que le fichier n’est pas accessible en écriture.
set_limits
Définissez des limites pour le nœud Balayage. Conservez la valeur Aucun si vous ne souhaitez pas mettre à jour les valeurs correspondantes.
set_limits(*, max_concurrent_trials: int | None = None, max_total_trials: int | None = None, timeout: int | None = None, trial_timeout: int | None = None) -> None
Paramètres
- max_concurrent_trials
- int
nombre maximal d’essais simultanés.
- max_total_trials
- int
nombre total maximal d’essais.
- timeout
- int
délai d’expiration total en secondes pour le nœud de balayage
- trial_timeout
- int
délai d’expiration en secondes pour chaque version d’évaluation
Exceptions
Déclenché si dest est un chemin de fichier et que le fichier existe déjà.
Déclenché si dest est un fichier ouvert et que le fichier n’est pas accessible en écriture.
set_objective
Définissez l’objet balayage.. Conservez la valeur Aucun si vous ne souhaitez pas mettre à jour les valeurs correspondantes.
« réduire », « agrandir ». :type goal : str :mot clé primary_metric : Nom de la métrique à optimiser. :p aramtype primary_metric : str
set_objective(*, goal: str | None = None, primary_metric: str | None = None) -> None
Paramètres
- goal
Définit des objectifs de métriques pris en charge pour le réglage des hyperparamètres. Les valeurs possibles sont :
Exceptions
Déclenché si dest est un chemin de fichier et que le fichier existe déjà.
Déclenché si dest est un fichier ouvert et que le fichier n’est pas accessible en écriture.
Attributs
base_path
Chemin d’accès de base de la ressource.
Retours
Chemin d’accès de base de la ressource.
Type de retour
creation_context
Contexte de création de la ressource.
Retours
Métadonnées de création pour la ressource.
Type de retour
early_termination
Stratégie de résiliation anticipée pour le travail de balayage.
Retours
Stratégie de résiliation anticipée pour le travail de balayage.
Type de retour
id
ID de la ressource.
Retours
ID global de la ressource, id Azure Resource Manager (ARM).
Type de retour
inputs
limits
Limites du travail de balayage.
Retours
Limites du travail de balayage.
Type de retour
log_files
Fichiers de sortie de travail.
Retours
Dictionnaire des noms de journaux et des URL.
Type de retour
outputs
sampling_algorithm
Algorithme d’échantillonnage pour le travail de balayage.
Retours
Algorithme d’échantillonnage pour le travail de balayage.
Type de retour
status
État du travail.
Les valeurs courantes retournées sont « Exécution en cours (Running) », « Terminé (Finished) » et « Échec (Failed) ». Toutes les valeurs possibles sont les suivantes :
NotStarted : il s’agit d’un état temporaire dans lequel se trouvent les objets Run côté client avant la soumission cloud.
Démarrage : l’exécution a commencé à être traitée dans le cloud. L’appelant a un ID d’exécution à ce stade.
Approvisionnement : le calcul à la demande est en cours de création pour une soumission de travail donnée.
Préparation : l’environnement d’exécution est en cours de préparation et se trouve dans l’une des deux étapes suivantes :
Build d’image Docker
Configuration de l’environnement Conda
Mis en file d’attente : le travail est mis en file d’attente sur la cible de calcul. Par exemple, dans BatchAI, le travail est dans un état mis en file d’attente
en attendant que tous les nœuds demandés soient prêts.
En cours d’exécution : le travail a commencé à s’exécuter sur la cible de calcul.
Finalisation : l’exécution du code utilisateur est terminée et l’exécution est en phase de post-traitement.
CancelRequested : l’annulation a été demandée pour le travail.
Terminé : l’exécution s’est terminée avec succès. Cela inclut à la fois l’exécution et l’exécution du code utilisateur
Étapes de post-traitement.
Failed (Échec) : l’exécution a échoué. En règle générale, la propriété Error d’une exécution fournit des détails sur la raison de l’échec.
Annulé : suit une demande d’annulation et indique que l’exécution a bien été annulée.
NotResponding : pour les exécutions pour lesquelles des pulsations sont activées, aucune pulsation n’a été envoyée récemment.
Retours
État du travail.
Type de retour
studio_url
Point de terminaison Azure ML Studio.
Retours
URL de la page des détails du travail.
Type de retour
type
Azure SDK for Python