我正在使用 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 中得到的图(下图)显示验证数据的所有步骤(蓝线)和训练数据的几个步骤(红线)之外,一切都按预期工作。

为什么这样?当然我做错了什么,但我不知道是什么。

python - TensorBoard 训练图的步骤比验证图少。为什么?-LMLPHP

最佳答案

这是由于 TensorBoard 中使用的分析。这个问题实际上是持续的 here

您可以通过在训练后重新启动 tensorboard 过程来解决这个问题,或者如果您需要能够遵循训练指标,可以通过阻止 TensorBoard 回调 profile_batch=0 中的分析来解决这个问题。

关于python - TensorBoard 训练图的步骤比验证图少。为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58991083/

10-12 23:06