【问题标题】:How to choose optimizer and learning rate for hyperparameter training in keras-tuner如何在 keras-tuner 中为超参数训练选择优化器和学习率
【发布时间】:2020-10-22 08:32:16
【问题描述】:

我想使用 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') 传递学习率 到每个优化器。我怎样才能嵌套它们。

【问题讨论】:

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


    【解决方案1】:

    试试这个:

    # 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']
        )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-25
      • 2014-12-27
      • 2021-02-16
      • 2018-06-08
      • 1970-01-01
      • 2018-10-25
      • 2019-10-06
      相关资源
      最近更新 更多