Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

TruncationSelectionPolicy Class

Defines an early termination policy that cancels a given percentage of runs at each evaluation interval.

Constructor

TruncationSelectionPolicy(*, delay_evaluation: int = 0, evaluation_interval: int = 0, truncation_percentage: int = 0)

Keyword-Only Parameters

Name Description
delay_evaluation
int

Number of intervals by which to delay the first evaluation. Defaults to 0.

Default value: 0
evaluation_interval
int

Interval (number of runs) between policy evaluations. Defaults to 0.

Default value: 0
truncation_percentage
int

The percentage of runs to cancel at each evaluation interval. Defaults to 0.

Default value: 0

Examples

Configuring an early termination policy for a hyperparameter sweep job using TruncationStoppingPolicy


 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 QUniform, TruncationSelectionPolicy, Uniform

 job_for_sweep = job(
 kernel=Uniform(min_value=0.0005, max_value=0.005),
 penalty=QUniform(min_value=0.05, max_value=0.75, q=1),
 )

 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=TruncationSelectionPolicy(delay_evaluation=5, evaluation_interval=2),
 )


Feedback

Was this page helpful?