1

我使用 KerasTuner 实现了超参数调整。我希望可以选择跳过超参数调整并使用默认值。

现在看起来是这样的(搜索后用最好的参数构建模型)

MyHyperModel(HyperModel)
   def build(self, hp)
   ...hp.choice('hyperparameter', [1,2,3], default=3)
   return model

tuner = HyperBand(
    MyHyperModel(),
    ...
    )

tuner.search(
    train_inputs,
    train_targets,
    ...
    )

best_hp = tuner.get_best_hyperparameters()[0]
model = tuner.hypermodel.build(best_hp)

我想要类似的东西

default_model = tuner.hypermodel.build(use_default_parameter=True)

它返回具有超参数默认值的 Keras 模型,然后可以进行训练。但我无法弄清楚。

4

1 回答 1

0

使用空的 HyperParameters 容器作为参数调用构建函数会返回具有默认参数的模型:

hypermodel = MyHyperModel()
hp = kt.HyperParameters()
model = hypermodel.build(hp)
于 2022-01-05T19:59:46.803 回答