3

我想将参数发送到Keras Tuner模型构建器函数以进行参数化

  • 密集/辍学的层数,
  • 神经元的数量,
  • 激活,
  • 和优化器

用于超参数调整。

但是,我无法将参数发送到模型构建器函数。我的代码:

        hp = HyperParameters()

        learning_rate = [1e-2, 1e-3, 1e-4]
        hp.Choice('learning_rate', values=learning_rate)

        layers = [1, 2, 3]
        hp.Choice("layers", values=layers)

        layer2= [500]
        hp.Choice("layer2", values=layer2)

        layer3 = [500, 400]
        hp.Choice("layer3", values=layer3)

        activations = ['relu', 'tanh', 'sigmoid']
        hp.Choice("activations", values=activations)

        tuner = kt.Hyperband(model_builder_hp_copy,
                             hyperparameters=hp,
                             objective='val_accuracy',
                             max_epochs=10,
                             factor=3,
                             directory='my_dir',
                             project_name='intro_to_kt')

在上面的代码中,我向HyperParameters()实例添加了一些选项,以便在模型构建器函数中获取它们。但是在那个函数中,要获取一些其他的参数,我不知道它们是如何默认添加的。

我希望能够从模型构建器功能中发送选择并能够在内部使用它们。

4

1 回答 1

2

如果您有一个现有的超模型并且只想搜索几个参数(例如learning_rate),则可以将超参数参数传递给调谐器构造函数。您还需要设置tune_new_entries=False以指定不应调整未列出的参数。对于这些参数,使用默认值。

来源:Keras Tuner 文档

于 2020-09-21T10:13:39.587 回答