我试图在Tensorboard中显示我的培训阶段的指标。这是我现在设置张量板的方式:
model.compile(optimizer='rmsprop', loss='categorical_crossentropy',
metrics=['accuracy'])
tensorboard = callbacks.TensorBoard(log_dir='./logs', write_graph=False,
batch_size=28)
model.fit_generator(training_generator, epochs=80, steps_per_epoch=25, validation_steps=10,
callbacks=[tensorboard],
validation_data=validation_generator,
workers=3, use_multiprocessing=True, shuffle=True)
在每个时期我都可以看到新的loss
和acc
被添加到张量图中的图表。但这对我来说不够频繁。我需要增加计算指标的频率。基于documentation says,我应该能够传递一个update_freq
参数来控制此行为。此参数的默认值为epoch
,其他可能的值为batch
,或者是一个整数,它表示由tensorboard重新计算指标之前训练的样本数。
只要update_freq
为epoch
(显式或默认设置),一切正常。我看到四个图表,名称分别为epoch_acc
,epoch_loss
,epoch_val_acc
和epoch_val_loss
。并且它们在每个时期被更新。但是update_freq
的其他值似乎不起作用。无论我为它设置了什么其他值(batch
或任何整数),我都看到两个名称分别为batch_acc
和batch_loss
的图表(到目前为止没有问题),但它们仅保存一个数据点。而且它们没有更新(我已经放弃了大约10个纪元了)。
有人知道发生了什么吗?可能与我的模型结构有关吗?