【发布时间】: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