Keras: how to output learning rate onto tensorboard

后端 未结 4 589
無奈伤痛
無奈伤痛 2021-02-05 10:29

I add a callback to decay learning rate:

 keras.callbacks.ReduceLROnPlateau(monitor=\'val_loss\', factor=0.5, patience=100, 
                                   v         


        
4条回答
  •  没有蜡笔的小新
    2021-02-05 11:13

    class XTensorBoard(TensorBoard):
        def on_epoch_begin(self, epoch, logs=None):
            # get values
            lr = float(K.get_value(self.model.optimizer.lr))
            decay = float(K.get_value(self.model.optimizer.decay))
            # computer lr
            lr = lr * (1. / (1 + decay * epoch))
            K.set_value(self.model.optimizer.lr, lr)
    
        def on_epoch_end(self, epoch, logs=None):
            logs = logs or {}
            logs['lr'] = K.get_value(self.model.optimizer.lr)
            super().on_epoch_end(epoch, logs)
    
    callbacks_list = [XTensorBoard('./logs')]
    model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=20, batch_size=32, verbose=2, callbacks=callbacks_list)
    

    lr curve in tensorboard

提交回复
热议问题