keras - Keras:如何将学习率输出到张量板上

标签 keras tensorboard

我添加了一个回调来降低学习速度:

 keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.5, patience=100, 
                                   verbose=0, mode='auto',epsilon=0.00002, cooldown=20, min_lr=0)


这是我的张量板回调:

keras.callbacks.TensorBoard(log_dir='./graph/rank{}'.format(hvd.rank()), histogram_freq=10, batch_size=FLAGS.batch_size,
                            write_graph=True, write_grads=True, write_images=False)


我想确保它在我的培训期间开始生效,所以我想将学习率输出到tensorbaord。但是我找不到在哪里设置它。

我也检查了优化程序的api,但是没有运气。

keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=None, decay=0.0, amsgrad=False)


那么,如何向tensorboad输出学习率?

最佳答案

According to the author of Keras,正确的方法是将TensorBoard回调子类化:

from keras import backend as K
from keras.callbacks import TensorBoard

class LRTensorBoard(TensorBoard):
    def __init__(self, log_dir, **kwargs):  # add other arguments to __init__ if you need
        super().__init__(log_dir=log_dir, **kwargs)

    def on_epoch_end(self, epoch, logs=None):
        logs = logs or {}
        logs.update({'lr': K.eval(self.model.optimizer.lr)})
        super().on_epoch_end(epoch, logs)


然后将其作为callbacks参数的一部分传递给model.fit(贷方Finncent Price):

model.fit(x=..., y=..., callbacks=[LRTensorBoard(log_dir="/tmp/tb_log")])

关于keras - Keras:如何将学习率输出到张量板上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49127214/

相关文章:

python - Sagemaker 在训练期间不将 Tensorboard 日志输出到 S3

python - 如何编辑现有的 Tensorboard 训练损失摘要?

python - Tensorflow 2.0 tf.random.set_seed 不工作,因为我得到不同的结果

python - 如何在 google colab 上安装 pydot 和 graphviz?

python - 如何在 TensorFlow 数字识别中使用自己的手绘图像

pytorch - ImportError : TensorBoard logging requires TensorBoard version 1. 15 或以上

python - 如何将张量板可视化集成到 tf.Estimator?

tensorflow - 恢复模型时,摘要写入以避免在张量板上重叠的正确方法是什么

python - 具有多个特征的 RNN 的数据形状/格式

python - Keras 卷积秩与 1 个过滤器不一致