ReduceLROnPlateau 使用 ADAM 优化器给出错误

ker*_*stf 5 python deep-learning keras tensorflow

是不是因为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])
Run Code Online (Sandbox Code Playgroud)

错误://尝试使用未初始化的值 Adam_1/lr

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

Dji*_*011 5

由于在问题的意见,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)
Run Code Online (Sandbox Code Playgroud)

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

但是,我可以肯定地说,使用正确的参数,ReduceLROnPlateau 确实适用于 Adam。