HyperDriveConfig 类

定义 HyperDrive 运行的配置。

HyperDrive 配置包括有关超参数空间采样、终止策略、主要指标、配置恢复、估算器以及要在其上运行试验的计算目标的信息。

初始化 HyperDriveConfig。

继承
builtins.object
HyperDriveConfig

构造函数

HyperDriveConfig(hyperparameter_sampling, primary_metric_name, primary_metric_goal, max_total_runs, max_concurrent_runs=None, max_duration_minutes=10080, policy=None, estimator=None, run_config=None, resume_from=None, resume_child_runs=None, pipeline=None, debug_flag=None, custom_run_id=None)

参数

名称 说明
estimator

使用采样的超参数调用的估算器。 仅指定以下参数之一:estimatorrun_configpipeline

默认值: None
hyperparameter_sampling
必需

超参数采样空间。

policy

要使用的提前终止策略。 如果为 None (默认值),则不会使用任何提前终止策略。

delay_evaluation 为 5 的 MedianStoppingPolicy 是一种良好的终止策略,可以从其开始。 这属于保守的设置,可以提供大约 25%-35% 的节省,且不会造成主要指标损失(基于我们的评估数据)。

默认值: None
primary_metric_name
必需
str

试验运行报告的主要指标的名称。

primary_metric_goal
必需

PrimaryMetricGoal.MINIMIZE 或 PrimaryMetricGoal.MAXIMIZE。 此参数确定在评估运行时,是要最小化还是最大化主要指标。

max_total_runs
必需
int

要创建的运行的最大总数。 这是上限;当样本空间小于此值时,运行可能会更少。 如果同时指定了 max_total_runsmax_duration_minutes,在达到其中的第一个阈值时,会终止超参数优化试验。

max_concurrent_runs
int

可以并发执行的最大运行数。 如果为 None,则并行启动所有运行。 并发运行数根据指定计算目标中的可用资源进行限制。 因此,需要确保计算目标能够为所需的并发性提供足够的可用资源。

默认值: None
max_duration_minutes
int

HyperDrive 运行的最长持续时间。 超过此时间后,仍在执行的任何运行都会被取消。 如果同时指定了 max_total_runsmax_duration_minutes,在达到其中的第一个阈值时,会终止超参数优化试验。

默认值: 10080
resume_from

一个 hyperdrive 运行,或 hyperdrive 运行列表,作为数据点继承以热启动新的运行。

默认值: None
resume_child_runs
Runlist[Run]

一个 hyperdrive 子运行,或 hyperdrive 子运行列表,作为新 hyperdrive 运行的新子运行恢复。

默认值: None
run_config

用于设置脚本/笔记本运行的配置的对象。 仅指定以下参数之一:estimatorrun_configpipeline

默认值: None
pipeline

用于设置管道运行配置的管道对象。 将使用示例超参数调用管道对象以提交管道运行。 仅指定以下参数之一:estimatorrun_configpipeline

默认值: None
custom_run_id
str

用户提供的自定义运行 ID

默认值: None
hyperparameter_sampling
必需

超参数空间采样定义。

primary_metric_name
必需
str

试验运行报告的主要指标的名称。

primary_metric_goal
必需

PrimaryMetricGoal.MINIMIZE 或 PrimaryMetricGoal.MAXIMIZE。 此参数确定在评估运行时,是要最小化还是最大化主要指标。

max_total_runs
必需
int

要创建的运行的最大总数。 这是上限;当样本空间小于此值时,运行可能会更少。

max_concurrent_runs
必需
int

可以并发执行的最大运行数。 如果为 None,则并行启动所有运行。

max_duration_minutes
必需
int

HyperDrive 运行的最长持续时间。 超过此时间后,仍在执行的任何运行都会被取消。

policy
必需

要使用的提前终止策略。 如果为 None (默认值),则不会使用任何提前终止策略。

delay_evaluation 为 5 的 <xref:azureml.train.hyperdrive.MedianTerminationPolicy> 是一种良好的终止策略,可以从其开始。 这属于保守的设置,可以提供大约 25%-35% 的节省,且不会造成主要指标损失(基于我们的评估数据)。

estimator
必需

使用采样的超参数调用的估算器。 仅指定以下参数之一:estimatorrun_configpipeline

run_config
必需

用于设置脚本/笔记本运行的配置的对象。 仅指定以下参数之一:estimatorrun_configpipeline

resume_from
必需

一个 hyperdrive 运行,或 hyperdrive 运行列表,作为数据点继承以热启动新的运行。

resume_child_runs
必需
Run | list[Run]

一个 hyperdrive 子运行,或 hyperdrive 子运行列表,作为新 hyperdrive 运行的新子运行恢复。

pipeline
必需

用于设置管道运行配置的管道对象。 将使用示例超参数调用管道对象以提交管道运行。 仅指定以下参数之一:estimatorrun_configpipeline

custom_run_id
必需
str

用户提供的自定义运行 ID

debug_flag
默认值: None

注解

下面的示例演示如何创建用于超参数优化的 HyperDriveConfig 对象。 在此示例中,主要指标名称与训练脚本中记录的值匹配。


   hd_config = HyperDriveConfig(run_config=src,
                    hyperparameter_sampling=ps,
                    policy=early_termination_policy,
                    primary_metric_name='validation_acc',
                    primary_metric_goal=PrimaryMetricGoal.MAXIMIZE,
                    max_total_runs=4,
                    max_concurrent_runs=4)

若要详细了解如何使用 HyperDriveConfig,请参阅教程:优化模型的超参数

属性

estimator

返回在 HyperDrive 运行中使用的估算器。

如果运行使用脚本运行配置或管道,则值为 None。

返回

类型 说明

估算器。

pipeline

返回在 HyperDrive 运行中使用的管道。

如果运行使用脚本运行配置或估算器,则值为 None。

返回

类型 说明

管道。

run_config

返回 HyperDrive 运行中使用的脚本/笔记本配置。

如果运行使用估算器或管道,则值为 None。

返回

类型 说明

运行配置。

source_directory

返回要运行的配置中的源目录。

返回

类型 说明
str

源目录