我想用Adam optimizer实现一个CNN,它有一个学习率衰减的回调函数(使用keras/tensorflow):
class CustomCallback(tf.keras.callbacks.Callback):
def on_epoch_begin(self, epoch, logs=None):
current_decayed_lr = self.model.optimizer._decayed_lr(tf.float32).numpy()
print("current decayed lr: {:0.7f}".format(current_decayed_lr))
但我得到以下错误消息:
current_decayed_lr = self.model.optimizer._decayed_lr(tf.float32).numpy()
AttributeError: 'Adam' object has no attribute '_decayed_lr'
如何解决这一问题?
1条答案
按热度按时间nc1teljy1#
在keras optimizer API的修订版中,
decay
已被弃用。但是前面的优化器放在遗留名称空间下。您可以尝试从那里,但请注意,这将是很好的采用新的API为未来的情况。