hyperdrive 包

包含支持超参数优化的模块和类。

超参数是所选的可调整参数,用于指导训练过程的模型训练。 HyperDrive 包可帮助你自动选择这些参数。 例如,可以将参数搜索空间定义为离散或连续,将基于搜索空间的采样方法定义为随机、网格或贝叶斯。 此外,还可以在超参数优化试验中指定要优化的主要指标,以及是最小化还是最大化该指标。 还可以定义提前终止策略,通过该策略取消表现不好的试验运行并启动新的试验运行。 若要为 HyperDrive 定义可重复使用的机器学习工作流,请使用 hyper_drive_step 创建 Pipeline

模块

error_definition

HyperDrive SDK 的错误代码定义。

error_strings

在整个 HyperDrive SDK 中使用的错误字符串的集合。

exceptions

HyperDrive 引发的异常。

parameter_expressions

定义可在 HyperDrive 中用于描述超参数搜索空间的函数。

这些函数用于指定不同类型的超参数分布。 分布是在为超参数扫描配置采样时定义的。 例如,使用 RandomParameterSampling 类时,可以选择从一组离散值或连续值的分布中采样。 在这种情况下,可使用 choice 函数生成一组离散值,使用 uniform 函数生成连续值的分布。

有关使用这些函数的示例,请参阅教程:https://docs.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters

BanditPolicy

根据 slack 条件以及用于评估的频率和延迟间隔,定义提前终止策略。

使用 slack 因子、slack_amount和评估间隔初始化 BanditPolicy。

BayesianParameterSampling

定义超参数搜索空间上的 Bayesian 采样。

Bayesian 采样尝试根据先前样本的执行情况智能地选取下一个超参数样本,以便新样本改进报告的主要指标。

初始化 BayesianParameterSampling。

EarlyTerminationPolicy

所有提前终止策略的抽象基类。

初始化提前终止策略。

GridParameterSampling

定义超参数搜索空间上的网格采样。

初始化 GridParameterSampling。

HyperDriveConfig

定义 HyperDrive 运行的配置。

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

初始化 HyperDriveConfig。

HyperDriveRun

HyperDriveRun 包含提交的 HyperDrive 试验的详细信息。

此类可用于管理、检查状态和检索 HyperDrive 运行以及生成的每个子运行的运行详细信息。

初始化 HyperDrive 运行。

HyperDriveRunConfig

定义 HyperDrive 运行的配置。

配置包括有关参数空间采样、终止策略、主要指标、估计器和执行运行试验的计算目标的信息。

初始化 HyperDriveConfig。

HyperParameterSampling

所有超参数采样算法的抽象基类。

此类封装了派生采样类的超参数空间、采样方法和其他属性:BayesianParameterSamplingGridParameterSamplingRandomParameterSampling

初始化 HyperParameterSampling。

MedianStoppingPolicy

基于所有运行的主要指标的移动平均定义提前终止策略。

初始化 MedianStoppingPolicy。

NoTerminationPolicy

指定不应用提前终止策略。

每次运行都将执行,直到完成。

初始化 NoTerminationPolicy。

RandomParameterSampling

定义超参数搜索空间上的随机采样。

初始化 RandomParameterSampling。

TruncationSelectionPolicy

定义一个提前终止策略,该策略在每个评估间隔内取消给定百分比的运行。

初始化 TruncationSelectionPolicy。

枚举

PrimaryMetricGoal

定义超参数优化支持的指标目标。

指标目标用于确定指标的值越高是越好或越差。 在比较基于主要指标的运行时,将使用指标目标。 例如,你可能希望最大限度地提高准确性或最小化误差。

配置 HyperDrive 运行时,主要指标名称和目标是在 HyperDriveConfig 类中指定的。

函数

choice

指定要从中采样的离散选项集。

choice(*options)

参数

名称 说明
options
必需

要从中进行选择的选项的列表。

返回

类型 说明

随机表达式。

lognormal

指定根据 exp(normal(mu, sigma)) 绘制的值。

返回值的对数呈正态分布。 优化时,此变量被限制为正数。

lognormal(mu, sigma)

参数

名称 说明
mu
必需

正态分布的平均值。

sigma
必需

正态分布的标准偏差。

返回

类型 说明

随机表达式。

loguniform

指定对数均匀分布。

根据 exp(uniform(min_value, max_value)) 绘制值,使返回值的对数均匀分布。 优化时,此变量被限制为区间 [exp(min_value), exp(max_value)]

loguniform(min_value, max_value)

参数

名称 说明
min_value
必需

范围内的最小值将是 exp(min_value)(含)。

max_value
必需

范围内的最大值将是 exp(max_value)(含)。

返回

类型 说明

随机表达式。

normal

指定正态分布的实际值,包括平均值 mu 和标准偏差 sigma。

优化时,这是一个无约束变量。

normal(mu, sigma)

参数

名称 说明
mu
必需

正态分布的平均值。

sigma
必需

正态分布的标准偏差。

返回

类型 说明

随机表达式。

qlognormal

指定类似于 round(exp(normal(mu, sigma)) / q) * q 的值。

适用于目标为平滑且随变量大小(一侧有界)而更加平滑的离散变量。

qlognormal(mu, sigma, q)

参数

名称 说明
mu
必需

正态分布的平均值。

sigma
必需

正态分布的标准偏差。

q
必需
int

平滑因子。

返回

类型 说明

随机表达式。

qloguniform

指定 round(exp(uniform(min_value, max_value) / q) * q 格式的均匀分布。

这适用于目标为“平滑”且随值大小而更加平滑(但上下应该都有界)的离散变量。

qloguniform(min_value, max_value, q)

参数

名称 说明
min_value
必需

范围内的最小值(含)。

max_value
必需

范围内的最大值(含)。

q
必需
int

平滑因子。

返回

类型 说明

随机表达式。

qnormal

指定类似于 round(normal(mu, sigma) / q) * q 的值。

适用于可能取 mu 相近的值但基本无界的离散变量。

qnormal(mu, sigma, q)

参数

名称 说明
mu
必需

正态分布的平均值。

sigma
必需

正态分布的标准偏差。

q
必需
int

平滑因子。

返回

类型 说明

随机表达式。

quniform

指定 round(uniform(min_value, max_value) / q) * q 格式的均匀分布。

这适用于其目标仍是稍微“平滑”但上下都应有界的离散值。

quniform(min_value, max_value, q)

参数

名称 说明
min_value
必需

范围内的最小值(含)。

max_value
必需

范围内的最大值(含)。

q
必需
int

平滑因子。

返回

类型 说明

随机表达式。

randint

指定 [0, upper) 范围中的一组随机整数。

此分布的语义是,与更远的整数值相比,相近整数值之间的损失函数没有更多的相关性。 例如,这是描述随机种子的适当分布。 如果损失函数对相近整数值来说更加相关,则可能应使用其中一个“量化”连续分布,例如 quniform、qloguniform、qnormal 或 qlognormal。

randint(upper)

参数

名称 说明
upper
必需
int

整数范围的上限(不含)。

返回

类型 说明

随机表达式。

uniform

指定从中获取样本的均匀分布。

uniform(min_value, max_value)

参数

名称 说明
min_value
必需

范围内的最小值(含)。

max_value
必需

范围内的最大值(含)。

返回

类型 说明

随机表达式。