tensroflow-keras下tensorboard以及界面打印学习率

'''
参考stackoverflow:
https://stackoverflow.com/questions/49127214/keras-how-to-output-learning-rate-onto-tensorboard
'''

############# 添加部分 ###############
class LearningRateLogger(tf.keras.callbacks.Callback):
    def __init__(self):
        super().__init__()
        self._supports_tf_logs = True

    def on_epoch_end(self, epoch, logs=None):
        if logs is None or "learning_rate" in logs:
            return
        logs["learning_rate"] = self.model.optimizer.lr

callbacks = [
           tf.keras.callbacks.ModelCheckpoint(
               "densenet_crnn_qunt_{epoch}.h5",
                monitor='val_accuracy',
                save_best_only=False,
                verbose=2,
                save_weights_only=False,
                period=1),
            tf.keras.callbacks.EarlyStopping(monitor='val_loss',
                                            patience=5,
                                            mode='auto',
                                            restore_best_weights=True),
            ######### 添加部分###########
            LearningRateLogger(),
            tf.keras.callbacks.TensorBoard(log_dir='logs/',histogram_freq=0),
            tf.keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.2, patience=5, min_lr=0.00000001,verbose=2),
]

quant_model.fit(train_ds, 
    epochs=args.epochs,
    validation_data=val_ds,
    callbacks=callbacks,)

在callbacks中添加LearningRateLogger即可:

 

在命令行输入:

tensorboard --logdir=./ --host=127.0.0.1

tensorboard可视化中也展示了学习率的变化:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值