在Tensorflow 2.0下,如何使用tf.summary?

时间:2019-10-03 06:39:09

标签: python tensorflow tensorboard tensorflow2.0

似乎在TF2.0下使用tf.summary与TF1.x不同。如果我想在TensorBoard中可视化多个标量(例如train_loss,val_loss等),如何在代码中实现tf.summary。我认为可能是:

writer = tf.summary.create_file_writer('summaries')
for epoch in range(epochs):
    ...
    train_loss = ...
    val_loss = ...
    tf.summary.scalar('train_loss', train_loss)
    tf.summary.scalar('val_loss', val_loss)
    writer.flush()

但是它不起作用。我认为问题可能出在使用write.flush()。

1 个答案:

答案 0 :(得分:0)

在tensorflow 2.0中,您需要通过.as_default()设置默认writer。另外,必须在摘要操作中传递step参数。可以查看更多详细信息here

writer = tf.summary.create_file_writer("summaries")

for epoch in range(epochs):
    train_loss = ...
    val_loss = ...
    with writer.as_default():
      tf.summary.scalar('train_loss', train_loss, step=epoch)
      tf.summary.scalar('val_loss', val_loss, step=epoch)
    writer.flush()
相关问题