【发布时间】:2020-08-22 17:25:12
【问题描述】:
我在 Keras 中初始化了一个 Adadelta 优化器(使用 Tensorflow 后端)并将其分配给一个模型:
my_adadelta = keras.optimizers.Adadelta(learning_rate=0.01, rho=0.95)
my_model.compile(optimizer=my_adadelta, loss="binary_crossentropy")
在训练期间,我使用回调在每个 epoch 后打印学习率:
class LRPrintCallback(Callback):
def on_epoch_end(self, epoch, logs=None):
lr = self.model.optimizer.lr
print(K.eval(lr))
但是,这会在每个 epoch 之后打印相同的(初始)学习率。 如果我像这样初始化优化器,也会发生同样的事情:
my_adadelta = keras.optimizers.Adadelta(learning_rate=0.01, decay=0.95)
我在初始化时做错了吗?学习率可能会改变,但我打印的不是正确的吗?
【问题讨论】:
标签: python tensorflow machine-learning keras deep-learning