是不是因为adam优化器自己改变了学习率。
我收到一条错误消息,提示“正在尝试使用未初始化的值 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])
错误://尝试使用未初始化的值 Adam_1/lr
我在某处读到在使用 ReduceLROnPlateau 时初始化 adam 不起作用,我也尝试初始化权重,但我遇到了同样的错误
最佳答案
正如问题评论中所讨论的,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
确实有效与亚当。
关于python - ReduceLROnPlateau 使用 ADAM 优化器给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52134926/