杀死tensorflow实例后如何"reset" tensorboard数据

How to "reset" tensorboard data after killing tensorflow instance

我正在为我构建的 cnn 模型测试不同的超参数,但在 Tensorboard 中查看摘要时我有一点烦恼。问题似乎是数据在连续运行中只是 "added",因此这些函数会导致奇怪的叠加,除非我将信息视为 "relative" 而不是 "by step"。看这里:

我试过杀掉tensorboard的进程并清除日志文件,但似乎还不够。

那么问题来了,我该如何重置这些信息?

谢谢!!

好的,出于某种原因,它以前不起作用,但现在可以了:

您必须清除 Tensorboard 的日志文件并终止其进程

终止进程 运行 fuser 6006/tcp -k 以释放端口 6006(如果你在 linux)并再次启动 tensorboard。

注意:您发布的解决方案(清除 TensorBoard 的日志文件并终止进程)会起作用,但不是首选,因为它会破坏有关您的训练的历史信息。

相反,您可以让每个新的训练作业写入一个新的子目录(您的顶级日志目录)。然后,TensorBoard 会将每个作业视为一个新的 "run" 并将创建一个很好的比较视图,以便您可以看到模型迭代之间的训练有何不同。

下面是来自 https://www.tensorflow.org/tensorboard/get_started 的示例:

model = create_model()
...
model.compile(...)

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(..., callbacks=[tensorboard_callback])

是的,我相信最终这方面是积极的。
例如,在我的脚本中,我通过 datetime:

自动化新的 运行 日志
from datetime import datetime
now = datetime.now()
logdir = "tf_logs/.../" + now.strftime("%Y%m%d-%H%M%S") + "/"

然后当 运行ning TensorBoard 时,如果您在父目录中 运行 TensorBoard,您可以单击不同的 运行 打开和关闭。

如果您知道您不关心以前的运行并希望它从您的生活中消失,那么是的,您需要删除事件文件并重启 TensorBoard。

我刚刚找到了解决这个问题的方法。只需将每个 Events.out 文件放在日志目录中的单独文件夹中。你会在 tensorboard 中得到一个很好的可视化效果,每个 运行 都有不同的颜色。

将以下代码片段添加到您的代码中,它应该会自动重置您的张量板。

if tf.gfile.Exists(dirpath):
   tf.gfile.DeleteRecursively(dirpath) 

这将删除以前的日志。

这会自动删除日志目录。

import shutil

shutil.rmtree('log_dir', ignore_errors=True)

我遇到了类似的问题,但计算图重复:当我调用

时,它们刚刚添加到 tensorboard 中
writer.add_graph(graph=sess.graph)

就我而言,这与日志文件无关,而是与 Jupyter Notebook 上下文有关。

我发现在多次运行具有图形定义的 Jupyter 单元之后,图形没有被重置,而是作为副本出现在上下文中,所以我添加了

tf.reset_default_graph()

在开始构建计算图之前。

希望对您有所帮助。

有一个类似的问题,它引发了一个错误:'你必须为占位符张量 'dense_input' 提供一个 dtype float 和 shape 的值'。讨论了这个具体问题 here。 对我有用的建议使用了:

from keras.backend import clear_session
# Before instantiating a tf.data.Dataset obj & before model creation, call:
clear_session()

还要确保为每个模型的 TensorBoard 使用唯一的名称 log_dir。然后查看所有模型,运行 TensorBoard 从终端在日志文件的父目录,即:

tensorboard --logdir <projDir>/logs/tf_log