ReduceLROnPlateau使用ADAM优化器给出错误

时间:2018-09-02 07:37:57

标签: python tensorflow keras deep-learning

是因为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不起作用,我也尝试过初始化权重,但是我遇到了同样的错误

1 个答案:

答案 0 :(得分:0)

如问题评论中所述,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 与亚当兼容