tensorboard填坑系列之一——为什么每次打开浏览器都会显示同一个日志文件?

本文介绍了在Python项目中使用TensorFlow生成的日志文件遇到无法查看的问题及原因,并提供了解决方案,即通过更改日志文件的存储位置来避免日志文件被“记忆”,从而实现正常查看。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、出现的问题描述

我们习惯上在编写Python代码的时候,会在一个文件夹下放置很多个python文件,然后运行每一个Python文件都生成一个TensorFlow日志文件,但是又放在不同的文件夹之下,比如下面的样子:

在同一个python项目中,有四个python文件,每一个运行之后产生一个TensorFlow日志文件,分别放在四个同一目录之下不同的四个文件夹里面,我们在查看第一个日志的时候,输入

E:\Python学习\深度学习\TensorFlow学习\python项目>tensorboard --logdir python_01_log

然后运行,发现这是没有问题的,因为这是第一次运行tensorboard,但是我在查看第二个或者是第三个日志的时候,同样输入:

E:\Python学习\深度学习\TensorFlow学习\python项目>tensorboard --logdir python_02_log

E:\Python学习\深度学习\TensorFlow学习\python项目>tensorboard --logdir python_03_log

E:\Python学习\深度学习\TensorFlow学习\python项目>tensorboard --logdir python_04_log

发现浏览器怎么也没有办法打开日志文件,但是日志的书写是没有问题的,究竟是怎么回事呢?仔细观察,我们发现

在浏览器下方,会显示一个日志文件的路径,无论你上面使用tensorboard指向哪一个文件夹,下面的路径始终为如下:

E:\Python学习\深度学习\TensorFlow学习\python项目\python_01_log\events.out.tfevents.1534906466.XINAIR

每次无论输入哪一个路径,他都没有改变,这就是错误的根源。

疑惑:虽然我不清楚这到底是什么具体的原因,查找了好久也没找到答案,但是从错误可以看出,这应该是日志文件“记忆”所造成的,导致每一次都指向的是同一个日志文件。

二、解决办法

我自己实验了很久,找到的解决办法。

即我们可以在一个项目中放置多个python文件,但是不要将日志文件放在同一个项目之下,一般对于小型项目,我们单独放置日志文件就好了,如下所示:

通过上面的“分开存储”日志文件,再输入以下的命令:

E:\Python学习\深度学习\TensorFlow学习\python项目_01>tensorboard --logdir python_01_log

E:\Python学习\深度学习\TensorFlow学习\python项目_02>tensorboard --logdir python_02_log

E:\Python学习\深度学习\TensorFlow学习\python项目_03>tensorboard --logdir python_03_log

E:\Python学习\深度学习\TensorFlow学习\python项目_04>tensorboard --logdir python_04_log

这样就不会出现打不开的情况了。

不知道事实到底是什么,我自己做实验,亲测有效,如果有哪一位大神看见,可以给出更好的解答,希望可以私信我一下,谢谢!

### 解决 TensorBoard 显示 "No dashboards are active for the current data set." 的问题 当遇到 `No dashboards are active for the current data set.` 提示时,这通常意味着 TensorBoard 没有找到任何有效的日志文件来展示仪表板数据。以下是几种可能的原因及解决方案: #### 日志目录路径不正确 如果指定的日志目录为空或不存在,则不会有任何数据显示。建议确认日志保存位置是否正确设置,并且该路径下确实存在由 TensorFlow 记录的数据文件。 对于命令行启动方式,可以尝试绝对路径而非相对路径以避免因工作目录不同而导致的问题[^2]: ```bash tensorboard --logdir=D:\Tensorflow\data\tensorboard ``` #### 版本兼容性问题 不同的 TensorFlow 和 TensorBoard 版本之间可能存在一定的差异,某些旧版的 TensorBoard 可能无法识别新版 TensorFlow 创建的日志格式。因此,保持两者版本一致非常重要;同时也可以考虑升级到最新稳定版本以便获得更好的支持和功能改进[^5]。 #### 数据写入延迟 有时即使程序已经结束执行,在短时间内仍看不到预期的结果。这是因为操作系统可能会缓存磁盘 I/O 操作,使得实际文件尚未完全写出。等待几分钟后再刷新浏览器页面或许能够解决问题[^4]。 #### 验证是否有有效事件文件 进入指定的日志文件夹内检查是否存在 `.tfevents.*` 文件——这是 TensorBoard 用来读取并渲染图表的关键文件之一。如果没有这些文件则说明训练过程中并未正常记录所需信息,需排查模型代码部分确保调用了合适的 API 来生成必要的统计数据[^1]。 ```python from tensorflow.python.summary.writer import writer as summary_writer summary_writer.FileWriter(log_dir, sess.graph) ``` 另外需要注意的是,从 TensorFlow 2.x 开始推荐使用新的 Summary API 替代原有的 tf.summary.FileWriter 接口[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值