我正在使用 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 中得到的图(下图)显示验证数据的所有步骤(蓝线)和训练数据的几个步骤(红线)之外,一切都按预期工作。
为什么这样?当然我做错了什么,但我不知道是什么。
最佳答案
这是由于 TensorBoard 中使用的分析。这个问题实际上是持续的 here 。
您可以通过在训练后重新启动 tensorboard 过程来解决这个问题,或者如果您需要能够遵循训练指标,可以通过阻止 TensorBoard 回调 profile_batch=0
中的分析来解决这个问题。
关于python - TensorBoard 训练图的步骤比验证图少。为什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58991083/