【问题标题】:What is the suggested practice for storing multiple runs of a summary writer in TensorFlow?在 TensorFlow 中存储多次运行的摘要编写器的建议做法是什么?
【发布时间】:2016-10-26 10:07:09
【问题描述】:

我正在学习使用 TensorBoard,每次启动 tensorboard 时,我都会在终端中收到以下消息:

WARNING:tensorflow:Found more than one graph event per run. Overwriting the graph with the newest event.

我认为是因为我多次使用相同的名称运行同一个模型。我只想多次运行我的模型并能够使用 tensorflow 检查它在做什么。正在重新运行:

tensorboard --logdir=path/to/log-directory

不是通常的方法吗?或者当我想多次运行同一个模型并探索不同的学习算法、步长、初始化等时,做这类工作的建议是什么。每次都设置一个新的日志目录真的有必要吗?

【问题讨论】:

    标签: machine-learning neural-network tensorflow conv-neural-network tensorboard


    【解决方案1】:

    当您在图形中导出模型时,TensorFlow 会创建一个包含日志信息的新文件。因此,每次运行它时,新信息都会添加到同一个文件夹中。

    由于 tensorboard 无法区分一个模型和另一个模型,它会显示警告。所以是的,您应该在每次迭代中使用不同的日志文件夹。事实上,一些示例在运行图表之前删除了日志目录。

    【讨论】:

      【解决方案2】:

      当您创建tf.summary.FileWriter() 时,您为 TF 提供了一个目录,它将在其中写入事件文件并向其中添加摘要和事件。每个新文件都由名称、时间戳和您的机器组成。因此,当您多次运行编写器时,它会在您的目录中创建一个新文件。尝试运行几次,您会得到类似 ls -1 的结果(我运行了 4 次):

      events.out.tfevents.1492391591.salvadordali-laptop
      events.out.tfevents.1492395088.salvadordali-laptop
      events.out.tfevents.1492395117.salvadordali-laptop
      events.out.tfevents.1492395120.salvadordali-laptop
      

      您的警告告诉您完全相同:发现许多运行,将使用最后一个。您可以忽略它,因为它将使用最新的运行(基于时间戳)。

      如果您不喜欢该警告,您可以:

      • 为每次运行创建不同的文件夹(有助于比较绘图或图形执行)
      • 每次运行后删除文件rm -R logs/(如果日志是您的目录)

      【讨论】:

        猜你喜欢
        • 2016-04-05
        • 2016-11-15
        • 2012-08-16
        • 1970-01-01
        • 2020-09-16
        • 1970-01-01
        • 2021-02-23
        • 2020-04-14
        • 2018-08-22
        相关资源
        最近更新 更多