【问题标题】:ReduceLROnPlateau gives error with ADAM optimizerReduceLROnPlateau 使用 ADAM 优化器出错
【发布时间】:2018-09-02 07:37:57
【问题描述】:

是不是因为亚当优化器自己改变了学习率。 我收到一条错误消息,提示“尝试使用未初始化的值 Adam_1/lr” 我想使用 ReduceLRonPlateau 没有意义,因为 Adam 会自动改变学习率。无论如何我已经更新了代码 更新: 代码:

from keras.optimizers import Adam
model.compile(optimizer='adam',loss='mse')

 callback_reduce_lr=ReduceLROnPlateau(monitor='val_loss',
                                     factor=0.1, 
                                     min_lr=1e-4,
                                     patience=0,
                                     verbose=1
                                    )
model.fit(xTrain,yTrain,epochs=100,batch_size=10,validation_data=(xTest,yTest),verbose=2,callbacks=[callback_reduce_lr])

Error://Attempting to use uninitialized value Adam_1/lr

我在某处读到,在使用 ReduceLROnPlateau 时初始化 adam 不起作用,我也尝试过初始化权重,但我遇到了同样的错误

【问题讨论】:

  • @MatiasValdenegro 我已经更新了代码,Adam 会自己做自适应学习,是不是因为 ReduceLRonPlateau 在这里不起作用
  • 用什么参数初始化 Adam 优化器。您能否将此部分添加到您的代码中?
  • @Djib2011 我在某处读到初始化 adam 在使用 ReduceLROnPlateau 时不起作用,我也尝试过初始化权重,但我遇到了同样的错误
  • 我在 keras 中将 ReduceLROnPlateau 与 adam 一起使用,没有您提到的错误。它似乎也有效,因为一旦损失达到稳定,模型就会开始稳定。一个区别是我监控常规丢失而不是验证丢失,但是我认为这不是您的错误的本质。
  • @Djib2011 感谢前面的评论。我不知道为什么我得到它,在网上看到一些有同样问题的查询,没有例如:github.com/maxpumperla/hyperas/issues/170

标签: python tensorflow keras deep-learning


【解决方案1】:

正如问题的 cmets 中所讨论的,keras 的 ReduceLROnPleteau,确实 似乎适用于其默认参数:

# keras' ReduceLROnPlateau callback default parameters:
from keras.callbacks import ReduceLROnPlateau
reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10,
                              verbose=0, mode='auto', min_delta=0.0001,
                              cooldown=0, min_lr=0)

我尝试重新创建错误以尝试确定是哪个参数导致它,但我做不到。因此,我相信并非所有输入形状或模型都会出现该错误。

但是,我可以肯定地说,如果参数正确,ReduceLROnPlateau 确实可以与 Adam 合作。

【讨论】:

  • @kerastf 你怎么知道它有效?仅仅是因为错误消失了,还是您尝试打印出学习率并看到学习率下降了 0.1 倍,而 val_loss 在 10 个 epoch 中没有改善?
  • from keras.callbacks import ReduceLROnPlateau 丢失。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-20
  • 2018-10-02
  • 2023-01-24
  • 1970-01-01
  • 2017-10-14
  • 1970-01-01
  • 2017-05-23
相关资源
最近更新 更多