问题描述
我想将参数发送到Keras Tuner的 model-builder 函数以进行参数化
- 密集/缺失层数
- 神经元数量
- 激活
- 和优化器
用于超参数调整。
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()
实例添加了一些选择,以使它们进入模型构建器函数。但是在该函数中,要获取其他一些参数,我不知道默认情况下如何添加它们。
我希望能够从模型构建器功能中发送选择并能够在内部使用它们。
解决方法
如果您已有现有的超模型,并且只想搜索几个参数(例如learning_rate
),则可以将hyperparameters参数传递给调谐器构造函数。您还需要设置tune_new_entries=False
来指定未调整的参数。对于这些参数,使用默认值。