Oracle
类keras_tuner.Oracle(
objective=None,
max_trials=None,
hyperparameters=None,
allow_new_entries=True,
tune_new_entries=True,
seed=None,
max_retries_per_trial=0,
max_consecutive_failed_trials=3,
)
实现超参数优化算法。
在并行调优设置中,只有一个 Oracle
实例。工作进程通过 gRPC 调用与中心化的 Oracle
实例进行通信,以调用 Oracle
方法。
Trial
对象通常被用作通过 gRPC 调用在工作进程 Tuner
实例和 Oracle
之间传递信息的通信包。例如,Oracle.create_trial()
返回一个 Trial
对象,而 Oracle.end_trial()
在其参数中接受一个 Trial
。
同一 Trial
实例的新副本在通过 gRPC 调用时会被重建。当工作进程 Tuner
中对 Trial
对象的更改通过调用 Oracle.end_trial()
传递回 Oracle
时,这些更改会同步到 Oracle
中的原始副本。
参数
keras_tuner.Objective
实例,或 keras_tuner.Objective
和字符串的列表。如果是字符串,将推断优化的方向(最小化或最大化)。如果是 keras_tuner.Objective
的列表,我们将最小化所有要最小化的目标的总和,减去所有要最大化的目标的总和。当 Tuner.run_trial()
或 HyperModel.fit()
返回一个表示要最小化的目标的单个浮点数时,objective
参数是可选的。max_trial
模型之前中断搜索。HyperParameters
实例。可用于覆盖(或提前注册)搜索空间中的超参数。hyperparameters
中指定的超参数条目添加到搜索空间。如果为 False,则将使用这些参数的默认值。默认为 True。hyperparameters
中的超参数条目。默认为 True。Trial
的次数。Trial
的次数。达到此数字时,搜索将停止。当没有任何重试成功时,Trial
被标记为失败。wrapped_func
函数keras_tuner.Oracle.create_trial()
wrapped_func
函数keras_tuner.Oracle.end_trial()
get_best_trials
方法Oracle.get_best_trials(num_trials=1)
返回最佳 Trial
。
get_state
方法Oracle.get_state()
返回此对象的当前状态。
在 save
期间调用此方法。
返回值
一个可序列化对象的字典作为状态。
set_state
方法Oracle.set_state(state)
设置此对象的当前状态。
在 reload
期间调用此方法。
参数
score_trial
方法Oracle.score_trial(trial)
为一个已完成的 Trial
打分。
此方法可以在子类中被重写,以提供一组超参数值的得分。此方法在 end_trial
中对已完成的 Trial
进行调用。
参数
Trial
对象。populate_space
方法Oracle.populate_space(trial_id)
为试验填充超参数空间的值。
此方法应在子类中被重写,并在 create_trial
中调用,以便用值填充超参数空间。
参数
返回值
一个字典,包含键 "values" 和 "status",其中 "values" 是参数名到建议值的映射,"status" 应为 "RUNNING"(试验可以正常开始)、"IDLE"(oracle 正在等待某事且无法创建试验)或 "STOPPED"(oracle 已完成搜索且不应创建新的试验)之一。
wrapped_func
函数keras_tuner.Oracle.update_trial()