如何为keras-tuner中的超参数训练选择优化器和学习率

时间:2020-07-01 20:02:23

标签: tensorflow machine-learning neural-network hyperparameters keras-tuner

我想使用以下方法进行超参数训练 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')通过学习率 每个优化器。我如何嵌套它们?

1 个答案:

答案 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']
    )