Freigeben über


SweepJob Klasse

Sweepauftrag für die Hyperparameteroptimierung.

Vererbung
azure.ai.ml.entities._job.job.Job
SweepJob
azure.ai.ml.entities._job.sweep.parameterized_sweep.ParameterizedSweep
SweepJob
azure.ai.ml.entities._job.job_io_mixin.JobIOMixin
SweepJob

Konstruktor

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)

Parameter

name
str

Der Name des Auftrags.

display_name
str

Anzeigename des Auftrags.

description
str

Die Beschreibung des Auftrags

tags
dict[str, str]

Tagwörterbuch. Tags können hinzugefügt, entfernt und aktualisiert werden.

properties
dict[str, str]

Das Objekteigenschaftenwörterbuch.

experiment_name
str

Name des Experiments, unter dem der Auftrag erstellt wird. Wenn Keine angegeben wird, wird der Auftrag unter dem Experiment "Standard" erstellt.

identity
Union[ManagedIdentityConfiguration, AmlTokenConfiguration, UserIdentityConfiguration]

Identität, die der Trainingsauftrag während der Ausführung auf compute verwendet.

inputs
dict

Eingaben für den Befehl.

outputs
dict[str, Output]

Zuordnung der im Auftrag verwendeten Ausgabedatenbindungen.

sampling_algorithm
str

Der Hyperparameter-Samplingalgorithmus, der über den search_space verwendet werden soll. Standardmäßig wird "zufällig" festgelegt.

search_space
Dict

Wörterbuch des Suchbereichs für Hyperparameter. Der Schlüssel ist der Name des Hyperparameters, und der Wert ist der Parameterausdruck.

objective
Objective

Metrik, für die optimiert werden soll.

compute
str

Das Computeziel, auf dem der Auftrag ausgeführt wird.

trial
Union[CommandJob, CommandComponent]

Die Auftragskonfiguration für jede Testversion. Jede Testversion wird mit einer anderen Kombination von Hyperparameterwerten bereitgestellt, die das System aus dem search_space.

early_termination
Union[BanditPolicy, MedianStoppingPolicy, TruncationSelectionPolicy]

Die zu verwendende Richtlinie für vorzeitige Beendigung. Ein Testauftrag wird abgebrochen, wenn die Kriterien der angegebenen Richtlinie erfüllt sind. Wenn diese Einstellung nicht angegeben wird, erfolgt keine Anwendung der Richtlinie für die vorzeitige Beendigung.

limits
<xref:azure.ai.ml.entities.SweepJobLimits>

Grenzwerte für den Sweep-Auftrag.

queue_settings
QueueSettings

Warteschlangeneinstellungen für den Auftrag.

kwargs
dict

Ein Wörterbuch mit zusätzlichen Konfigurationsparametern.

Beispiele

Erstellen eines SweepJobs


   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"),
   )

Methoden

dump

Gibt den Auftragsinhalt in eine Datei im YAML-Format ab.

set_limits

Legen Sie Grenzwerte für den Knoten Sweep fest. Belassen Sie Parameter als Keine, wenn Sie die entsprechenden Werte nicht aktualisieren möchten.

set_objective

Legen Sie das Sweep-Objekt fest. Belassen Sie Parameter als Keine, wenn Sie die entsprechenden Werte nicht aktualisieren möchten.

"minimieren", "maximieren". :type goal: str :Schlüsselwort (keyword) primary_metric: Name der zu optimierenden Metrik. :p aramtype primary_metric: str

dump

Gibt den Auftragsinhalt in eine Datei im YAML-Format ab.

dump(dest: str | PathLike | IO, **kwargs) -> None

Parameter

dest
Union[<xref:PathLike>, str, IO[AnyStr]]
Erforderlich

Der lokale Pfad oder Dateistream, in den der YAML-Inhalt geschrieben werden soll. Wenn dest ein Dateipfad ist, wird eine neue Datei erstellt. Wenn dest eine geöffnete Datei ist, wird die Datei direkt in geschrieben.

kwargs
dict

Zusätzliche Argumente, die an den YAML-Serialisierer übergeben werden sollen.

Ausnahmen

Wird ausgelöst, wenn dest ein Dateipfad ist und die Datei bereits vorhanden ist.

Wird ausgelöst, wenn dest eine geöffnete Datei ist und die Datei nicht beschreibbar ist.

set_limits

Legen Sie Grenzwerte für den Knoten Sweep fest. Belassen Sie Parameter als Keine, wenn Sie die entsprechenden Werte nicht aktualisieren möchten.

set_limits(*, max_concurrent_trials: int | None = None, max_total_trials: int | None = None, timeout: int | None = None, trial_timeout: int | None = None) -> None

Parameter

max_concurrent_trials
int

maximale Anzahl gleichzeitiger Testversionen.

max_total_trials
int

Maximale Gesamttestanzahl.

timeout
int

Gesamttimeout in Sekunden für den Sweepknoten

trial_timeout
int

Timeout in Sekunden für jede Testversion

Ausnahmen

Wird ausgelöst, wenn dest ein Dateipfad ist und die Datei bereits vorhanden ist.

Wird ausgelöst, wenn dest eine geöffnete Datei ist und die Datei nicht beschreibbar ist.

set_objective

Legen Sie das Sweep-Objekt fest. Belassen Sie Parameter als Keine, wenn Sie die entsprechenden Werte nicht aktualisieren möchten.

"minimieren", "maximieren". :type goal: str :Schlüsselwort (keyword) primary_metric: Name der zu optimierenden Metrik. :p aramtype primary_metric: str

set_objective(*, goal: str | None = None, primary_metric: str | None = None) -> None

Parameter

goal

Definiert unterstützte Metrikziele für die Hyperparameteroptimierung. Zulässige Werte sind:

Ausnahmen

Wird ausgelöst, wenn dest ein Dateipfad ist und die Datei bereits vorhanden ist.

Wird ausgelöst, wenn dest eine geöffnete Datei ist und die Datei nicht beschreibbar ist.

Attribute

base_path

Der Basispfad der Ressource.

Gibt zurück

Der Basispfad der Ressource.

Rückgabetyp

str

creation_context

Der Erstellungskontext der Ressource.

Gibt zurück

Die Erstellungsmetadaten für die Ressource.

Rückgabetyp

early_termination

Richtlinie zur vorzeitigen Beendigung des Sweepauftrags.

Gibt zurück

Richtlinie zur vorzeitigen Beendigung des Sweepauftrags.

Rückgabetyp

<xref:azure.ai.ml.entities._job.sweep.early_termination_policy.EarlyTerminationPolicy>

id

Die Ressourcen-ID.

Gibt zurück

Die globale ID der Ressource, eine Arm-ID (Azure Resource Manager).

Rückgabetyp

inputs

limits

Grenzwerte für Den Sweepauftrag.

Gibt zurück

Grenzwerte für Den Sweepauftrag.

Rückgabetyp

log_files

Auftragsausgabedateien.

Gibt zurück

Das Wörterbuch der Protokollnamen und URLs.

Rückgabetyp

outputs

sampling_algorithm

Stichprobenalgorithmus für Einen Sweepauftrag.

Gibt zurück

Stichprobenalgorithmus für Einen Sweepauftrag.

Rückgabetyp

status

Der Status des Auftrags.

Zu den häufig zurückgegebenen Werten zählen „Running“ (Wird ausgeführt), „Completed“ (Abgeschlossen) und „Failed“ (Fehlgeschlagen). Alle möglichen Werte sind:

  • NotStarted: Dies ist ein temporärer Zustand, in dem sich clientseitige Run-Objekte vor der Cloudübermittlung befinden.

  • Starting: Die Verarbeitung der Ausführung in der Cloud hat begonnen. Die aufrufende Funktion besitzt zu diesem Zeitpunkt eine Ausführungs-ID.

  • Bereitstellung: Bedarfsgesteuerte Computeerstellung wird für eine bestimmte Auftragsübermittlung erstellt.

  • Vorbereitung: Die Ausführungsumgebung wird vorbereitet und befindet sich in einer von zwei Phasen:

    • Docker-Imagebuild

    • Einrichten der Conda-Umgebung

  • Warteschlangen: Der Auftrag wird auf dem Computeziel in die Warteschlange gestellt. In BatchAI befindet sich der Auftrag beispielsweise in einer Warteschlange.

    während darauf gewartet wird, dass alle angeforderten Knoten bereit sind.

  • Ausführen: Der Auftrag wurde auf dem Computeziel ausgeführt.

  • Abschluss: Die Ausführung des Benutzercodes wurde abgeschlossen, und die Ausführung befindet sich in Nachverarbeitungsphasen.

  • CancelRequested: Für den Auftrag wurde ein Abbruch angefordert.

  • Abgeschlossen: Die Ausführung wurde erfolgreich abgeschlossen. Dies umfasst sowohl die Ausführung von Benutzercode als auch die Ausführung.

    Nachbearbeitungsphasen der Ausführung ein.

  • Failed: Die Ausführung ist fehlgeschlagen. In der Regel liefert die Eigenschaft „Error“ einer Ausführung Details zur Ursache.

  • Canceled: Folgt einer Abbruchanforderung und gibt an, dass die Ausführung jetzt erfolgreich abgebrochen wurde.

  • „NotResponding“ (Reagiert nicht): Für eine Ausführung, für die Heartbeats aktiviert ist, wurde vor Kurzem kein Heartbeat gesendet.

Gibt zurück

Status des Auftrags.

Rückgabetyp

studio_url

Azure ML Studio-Endpunkt.

Gibt zurück

Die URL der Auftragsdetailseite.

Rückgabetyp

type

Der Typ des Auftrags.

Gibt zurück

Der Typ des Auftrags.

Rückgabetyp