我正在为我构建的cnn模型测试不同的超参数,但是在Tensorboard中查看摘要时我有一点小烦恼。问题似乎是数据只是在连续运行中“添加”,因此除非我将信息视为“相对”而不是“逐步”,否则这些功能会产生奇怪的叠加。见这里:
我已经尝试过删除tensorboard的进程并删除日志文件,但这似乎还不够。
问题是,如何重置此信息?
谢谢!
答案 0 :(得分:29)
注意:您发布的解决方案(删除TensorBoard的日志文件并终止该过程)将起作用,但不是首选,因为它会破坏有关您培训的历史信息。
相反,您可以将每个新的培训作业写入(顶级日志目录的)新子目录。然后,TensorBoard会将每个作业视为一个新的“运行”并创建一个很好的比较视图,这样您就可以看到模型迭代之间的训练有何不同。
答案 1 :(得分:18)
好的,出于某种原因它之前没有用,但现在它确实有效:
您必须删除Tensorboard的日志文件并终止其进程
杀死进程后运行fuser 6006/tcp -k
以释放端口6006(如果你在linux中)并再次触发tensorboard。
答案 2 :(得分:15)
是的,我相信这方面最终是积极的
例如,在我的脚本中,我通过datetime
自动执行新的运行日志:
from datetime import datetime
now = datetime.now()
logdir = "tf_logs/.../" + now.strftime("%Y%m%d-%H%M%S") + "/"
然后在运行TensorBoard时,如果在父目录中运行TensorBoard,则可以单击不同的运行。
如果你知道你不关心以前的运行并希望它不在生活中,那么是的,你需要删除事件文件并忍受异常漫长的杀死和重启过程TensorBoard。
答案 3 :(得分:5)
我有一个类似的问题,但是有重复的计算图:当我打电话时他们刚刚在张量板中添加了
writer.add_graph(graph=sess.graph)
就我而言,它不是关于日志文件,而是关于Jupyter Notebook上下文。
我发现在多次运行具有图形定义的Jupyter单元格后,图形尚未重置但在上下文中显示为重复,所以我添加了
tf.reset_default_graph()
在开始构建计算图之前。
希望它会有所帮助。
答案 4 :(得分:4)
我刚刚找到了解决这个问题的方法。只需将每个Events.out文件放在日志目录中的单独文件夹中即可。并且您将在tensorboard中获得一个很好的可视化,每次运行都有不同的颜色。
答案 5 :(得分:1)
将以下代码段添加到您的代码中,它应该会自动重置您的张量板。
if tf.gfile.Exists(dirpath):
tf.gfile.DeleteRecursively(dirpath)
这将删除以前的日志。
答案 6 :(得分:0)
有一个类似的问题,它引发了一个错误:'您必须使用dtype float和shape输入占位符张量'dense_input'的值'。 conventional讨论了此特定问题。 对我有用的建议是:
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
答案 7 :(得分:-1)
这会自动删除日志目录。
{{1}}