我想使用以下方法进行超参数训练 kerastuner框架。
如何选择优化器和不同的学习率
可以传递给优化器。
这是我的model.compile()
方法。
model.compile(
loss=BinaryCrossentropy(from_logits=True),
optimizer=hp.Choice('optimizer', values=['adam', 'adagrad', 'SGD']),
metrics=['accuracy']
)
该代码仅选择一个优化器
一次使用默认学习率。
我想通过hp.Float('lrate', min_value=1e-4, max_value=1e-2, sampling='LOG')
通过学习率
每个优化器。我如何嵌套它们?
答案 0 :(得分:0)
尝试一下:
# Select optimizer
optimizer=hp.Choice('optimizer', values=['adam', 'adagrad', 'SGD']
# Conditional for each optimizer
if optimizer == 'adam':
.....
elif optimizer == 'adagrad':
.....
elif optimizer == 'SGD':
.....
# Now compile your model with previous param
model.compile(
loss=BinaryCrossentropy(from_logits=True),
optimizer=optimizer,
metrics=['accuracy']
)