python - ReduceLROnPlateau 使用 ADAM 优化器给出错误

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

最佳答案

正如问题评论中所讨论的,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/

相关文章:

python - 如何在不将值保存到磁盘的情况下将张量恢复到过去的值?

python - 带有切片的 Q 网络损失的 Tensorflow 实现

keras - 重命名损失函数的 Keras 张量名称

python - 如何为 pip 设置默认的 python 版本?

python - "freeze" tensorflow 中的一些变量/范围 : stop_gradient vs passing variables to minimize

python - 安装仅产生一个 .dist-info 文件夹(Pypi 打包)

python - 为什么这一行会产生错误?

jquery - AJAX 调用 Django View 时出现内部错误(restframework 端点)

tensorflow - 如何在 tensorflow 中对一批图像执行 tf.image.per_image_standardization

python - 具有多个输出的 Tensorflow val_loss 定义