代码之家  ›  专栏  ›  技术社区  ›  Bartek Malysz

TensorBoard不能实时更新

  •  0
  • Bartek Malysz  · 技术社区  · 6 年前

    我试图理解如何使用TensorBoard进行模型调试,使用TF docs中的示例( 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个历元之后停止,并且不刷新。

    0 回复  |  直到 6 年前
        1
  •  0
  •   n1colas.m    5 年前

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

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