MedianStoppingPolicy Class
Defines an early termination policy based on a running average of the primary metric of all runs.
- Inheritance
-
azure.ai.ml.entities._job.sweep.early_termination_policy.EarlyTerminationPolicyMedianStoppingPolicy
Constructor
MedianStoppingPolicy(*, delay_evaluation: int = 0, evaluation_interval: int = 1)
Keyword-Only Parameters
Name | Description |
---|---|
delay_evaluation
|
Number of intervals by which to delay the first evaluation. Defaults to 0. |
evaluation_interval
|
Interval (number of runs) between policy evaluations. Defaults to 1. Default value: 1
|
Examples
Configuring an early termination policy for a hyperparameter sweep job using MedianStoppingPolicy
from azure.ai.ml import command
job = command(
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",
)
# we can reuse an existing Command Job as a function that we can apply inputs to for the sweep configurations
from azure.ai.ml.sweep import MedianStoppingPolicy, Uniform
job_for_sweep = job(
kernel=Uniform(min_value=0.0005, max_value=0.005),
penalty=Uniform(min_value=0.9, max_value=0.99),
)
sweep_job = job_for_sweep.sweep(
sampling_algorithm="random",
primary_metric="best_val_acc",
goal="Maximize",
max_total_trials=8,
max_concurrent_trials=4,
early_termination_policy=MedianStoppingPolicy(delay_evaluation=5, evaluation_interval=2),
)
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
Azure SDK for Python