TensorBoard不能实时更新

时间:2019-10-26 14:37:18

标签: tensorboard

我试图了解如何使用TensorBoard进行模型调试,使用了TF文档(https://www.tensorflow.org/tensorboard/scalars_and_keras#training_the_model_and_logging_loss)中的示例,但是我的标量没有更新。

# multi-class classification with Keras
import tensorflow as tf
import datetime as dt
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
from tensorflow.keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold


log_dir = "/home/bartek/Desktop/Kaggle/trees/logs/scalars/" + 
dt.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir)

def NN_model():
    # create model
    model = Sequential()
    model.add(Dense(len(features.columns)*2, input_dim=len(features.columns), activation='relu'))
    model.add(Dense(len(features.columns)*2, activation='relu'))
    model.add(Dense(len(features.columns)*2, activation='relu'))
    model.add(Dense(len(features.columns)*2, activation='relu'))
    model.add(Dense(len(features.columns)*2, activation='relu'))
    model.add(Dense(len(features.columns)*2, activation='relu'))
    model.add(Dense(84, activation='relu'))
    model.add(Dense(49, activation='relu'))
    model.add(Dense(7, activation='softmax'))
    # Compile model
    model.compile(loss='categorical_crossentropy', 
                  optimizer='adam', 
                  metrics=[tf.keras.metrics.CategoricalAccuracy(),tf.keras.metrics.Precision(), tf.keras.metrics.Recall()], 
                  callbacks=[tensorboard_callback])
    return model

classifier = KerasClassifier(build_fn=NN_model, epochs=100, batch_size=5, verbose=0)
classifier.fit(features.values, labels.values, verbose=1, callbacks=[tensorboard_callback])

但是我得到的只是终端输出:

enter image description here

和TensorBoard没有显示任何内容:

enter image description here

为什么会这样?手动刷新也不起作用。有时图形会在第x个纪元后停止,并且不会刷新。

1 个答案:

答案 0 :(得分:0)

通过在profile_batch=0中添加tf.keras.callbacks.TensorBoard,尝试使用here中建议的解决方法。

ts_board = tf.keras.callbacks.TensorBoard(
            log_dir=log_dir,
            histogram_freq=1,
            update_freq='epoch',
            profile_batch=0
        )