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

问题描述 投票:0回答:1

似乎在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()。

python tensorflow tensorboard
1个回答
0
投票

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

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

with writer.as_default():
  for epoch in range(epochs):
    for step in range(steps):
      train_loss = ...
      val_loss = ...
      tf.summary.scalar('train_loss', train_loss, step=step)
      tf.summary.scalar('val_loss', val_loss, step=step)
      writer.flush()
© www.soinside.com 2019 - 2024. All rights reserved.