TensorBoard训练图的步骤少于验证步骤。为什么?

时间:2019-11-22 09:22:44

标签: python tensorflow tensorboard

我正在使用TensorFlow训练神经网络,我想使用TensorBoard可视化训练结果。

我的代码如下:

model = Sequential([
    Dense(len(test_inputs[0])),
    BatchNormalization(),
    Activation('tanh'),
    Dropout(0.01),

    Dense(128),
    BatchNormalization(),
    Activation('tanh'),
    Dropout(0.01),

    Dense(128),
    BatchNormalization(),
    Activation('relu'),
    Dropout(0.01),

    Dense(len(test_outputs[0])),
    BatchNormalization(),
    Activation('softmax')
])

model.compile(
    optimizer='Adadelta',
    loss='mse',
    metrics=['accuracy']
)


log_dir="logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)


model.fit(
    x = train_inputs,
    y = train_outputs,
    epochs = 5000,
    batch_size = 100,
    validation_data = (test_inputs, test_outputs),
    callbacks = [tensorboard_callback],
    verbose = False
)

除了我在TensorBoard中获得的图(下图)显示了验证数据的所有步骤(蓝线),而仅显示了训练数据的一些步骤(红线),所有工作均按预期进行。

为什么呢?当然,我做错了什么,但我无法弄清楚是什么。

enter image description here

1 个答案:

答案 0 :(得分:3)

这是由于TensorBoard中使用的配置文件。这个问题实际上是here

您可以通过在训练后重新启动张量板过程来解决此问题,或者如果需要能够遵循训练指标,可以通过防止在TensorBoard回调profile_batch=0中进行概要分析来解决此问题。