Keras 3 API 文档 / KerasTuner / 调试器 / GridSearch 调试器

GridSearch 调试器

[源代码]

GridSearch

keras_tuner.GridSearch(
    hypermodel=None,
    objective=None,
    max_trials=None,
    seed=None,
    hyperparameters=None,
    tune_new_entries=True,
    allow_new_entries=True,
    max_retries_per_trial=0,
    max_consecutive_failed_trials=3,
    **kwargs
)

网格搜索调试器。

此调试器迭代所有可能的超参数组合。

例如,使用

optimizer = hp.Choice("model_name", values=["sgd", "adam"])
learning_rate = hp.Choice("learning_rate", values=[0.01, 0.1])

此调试器将涵盖以下组合:["sgd", 0.01], ["sgd", 0.1], ["adam", 0.01] ["adam", 0.1]

对于以下超参数类型,GridSearch 不会穷尽所有可能的值

  • hp.Float()step未指定时。
  • hp.Int()sampling设置为"log""reverse_log",且step未指定时。

对于这些情况,KerasTuner 默认情况下将在范围内均匀选择 10 个样本。要配置hp.Float()hp.Int()采样的粒度,请在其初始化程序中使用step参数。

参数

  • hypermodelHyperModel类的实例(或接受超参数并返回模型实例的可调用对象)。当覆盖Tuner.run_trial()并且不使用self.hypermodel时,它是可选的。
  • objective:字符串、keras_tuner.Objective实例或keras_tuner.Objective和字符串的列表。如果为字符串,则将推断优化的方向(最小化或最大化)。如果为keras_tuner.Objective列表,我们将最小化所有目标的总和以最小化,减去所有目标的总和以最大化。当Tuner.run_trial()HyperModel.fit()返回单个浮点数作为要最小化的目标时,objective参数是可选的。
  • max_trials:可选整数,最多测试的试验(模型配置)总数。请注意,如果搜索空间已用尽,则预言机可能会在测试max_trial个模型之前中断搜索。如果未指定,则它会一直运行到搜索空间用尽为止。
  • seed:可选整数,随机种子。
  • hyperparameters:可选的HyperParameters实例。可用于覆盖(或预先注册)搜索空间中的超参数。
  • tune_new_entries:布尔值,是否应将超模型请求但未在hyperparameters中指定的超参数条目添加到搜索空间中。如果不是,则将使用这些参数的默认值。默认为 True。
  • allow_new_entries:布尔值,是否允许超模型请求hyperparameters中未列出的超参数条目。默认为 True。
  • max_retries_per_trial:整数。默认为 0。如果试验崩溃或结果无效,则重试Trial的最大次数。
  • max_consecutive_failed_trials:整数。默认为 3。连续失败的Trial的最大数量。达到此数量时,搜索将停止。当没有一个重试成功时,Trial将被标记为失败。
  • **kwargs:与所有Tuner子类相关的关键字参数。请参阅Tuner的文档字符串。