运行结果 – 如何访问所有信息¶
-
class
hpbandster.core.result.
Result
(HB_iteration_data, HB_config)[source]¶ HB_master.run 函数返回的对象
该类提供了简单的 API,用于访问 Hyperband 运行中的信息。
-
get_all_runs
(only_largest_budget=False)[source]¶ 返回所有已执行的运行结果
参数 only_largest_budget (布尔值) – 如果为 True,则仅返回每个配置的最大预算对应的运行结果。如果运行跨预算继续并且 info 字段包含您关心的信息,则这很有意义。如果为 False,则返回配置的所有运行结果
-
get_fANOVA_data
(config_space, budgets=None, loss_fn=<function Result.<lambda>>, failed_loss=None)[source]¶
-
get_incumbent_id
()[source]¶ 查找当前最佳配置的 config_id。
此处的当前最佳配置是指在最大预算下的所有运行中损失最小的配置!如果没有运行在最大预算下完成,则返回 None!
-
get_incumbent_trajectory
(all_budgets=True, bigger_is_better=True, non_decreasing_budget=True)[source]¶ 返回随时间变化的最佳配置
参数 - all_budgets (布尔值) – 如果设置为 true,则所有运行(即使不是最大预算的运行)都可以是当前最佳配置。否则,仅考虑完整预算运行
- bigger_is_better (布尔值) – 标志,指示在更大预算下的评估是否总是被视为更好。如果为 True,则当前最佳配置在较大预算的首次评估中可能会有所提升
- non_decreasing_budget (布尔值) – 标志,指示新当前最佳配置的预算是否应至少与当前当前最佳配置的预算一样大。
返回 包含所有 config ID、运行完成时间、各自预算和相应损失的字典
返回类型 dict
-
-
class
hpbandster.core.result.
Run
(config_id, budget, loss, info, time_stamps, error_logs)[source]¶ 不是一个完整的类,更像一个用于捆绑特定运行重要信息的“结构体”
-
hpbandster.core.result.
extract_HBS_learning_curves
(runs)[source]¶ 获取 hyperband 学习曲线的函数
这是一个示例函数,展示了如何使用 HB_result.get_learning_curves 方法的接口。
参数 runs (HB_result.run 对象列表) – 针对未指定配置执行的运行 返回 学习曲线列表 – 单个学习曲线是 (t, x_t) 元组的列表。此函数必须返回一个这样的列表。可以考虑从这些运行中提取多个学习曲线的情况,例如,如果每次运行都是神经网络在数据上的独立训练运行。 返回类型 元组列表的列表
-
class
hpbandster.core.result.
json_result_logger
(directory, overwrite=False)[source]¶ 用于“半实时结果”的便利记录器
将作业结果写入两个文件(configs.json 和 results.json)的记录器。这两个文件每行都包含一个完整的 json 对象。
此版本会为每个结果打开和关闭文件。如果单个运行速度很快而文件系统较慢(例如 NFS),这可能会非常慢。
参数 - directory (字符串) – 存储 ‘configs.json’ 和 ‘results.json’ 这两个文件的目录
- overwrite (布尔值) –
如果文件已存在,此标志控制行为
- True:现有文件将被覆盖。可能存在删除先前结果的风险
- False:将引发 FileExistsError 且文件不会被修改。