我正在使用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中获得的图(下图)显示了验证数据的所有步骤(蓝线),而仅显示了训练数据的一些步骤(红线),所有工作均按预期进行。
为什么呢?当然,我做错了什么,但我无法弄清楚是什么。
答案 0 :(得分:3)
这是由于TensorBoard中使用的配置文件。这个问题实际上是here。
您可以通过在训练后重新启动张量板过程来解决此问题,或者如果需要能够遵循训练指标,可以通过防止在TensorBoard回调profile_batch=0
中进行概要分析来解决此问题。