将参数发送到 Keras Tuner 模型构建器函数
Posted
技术标签:
【中文标题】将参数发送到 Keras Tuner 模型构建器函数【英文标题】:Sending parameters to Keras Tuner model- builder function 【发布时间】:2020-12-25 06:38:31 【问题描述】:我想将参数发送到Keras Tuner的model-builder函数进行参数化
dense/dropout 层数, 神经元数量, 激活, 和优化器用于超参数调整。
但是,我无法将参数发送到模型构建器函数。我的代码:
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()
实例添加了一些选项,以便在模型构建器函数中获取它们。但是在那个函数中,要获取一些其他的参数,我不知道默认是怎么添加的。
我希望能够从模型构建器功能中发送选择并能够在内部使用它们。
【问题讨论】:
我也有同样的问题。如果你曾经解决它,请回复评论。这几天一直在为此苦苦挣扎 【参考方案1】:如果您有一个现有的超模型并且只想搜索几个参数(例如learning_rate
),则可以将超参数参数传递给调谐器构造函数。您还需要设置tune_new_entries=False
以指定不应调整未列出的参数。对于这些参数,使用默认值。
来源:Keras Tuner documentation
【讨论】:
以上是关于将参数发送到 Keras Tuner 模型构建器函数的主要内容,如果未能解决你的问题,请参考以下文章
TensorBoard 的 Keras Tuner Trials 目录的命名
使用 Keras Tuner RandomSearch 错误进行超参数调优
Keras-Tuner:是不是可以在目标/度量函数中使用测试/验证集?
Keras Sklearn Tuner 模块“sklearn”没有属性“管道”