【Tensorboard排坑】每次打开都是旧的日志文件??

先说结论

1、不同项目的log不要放在同一路径上。

2、打开新的log之前,先把之前的项目关掉,或者退出之前打开的tensorboard。(不是关网页,是在terminal调用的地方quit)

排坑过程:

背景

我是在pytorch环境下调用的tensorboard,最近发现打开的tensorboard都长一样,step也明显不同,所以肯定有问题。上网搜索了一下。

有说路径的问题,但我的不同项目的log都放在不同路径上,所以应该不是这个问题。

我打开tensorboard的方式:

我是在pycharm的terminal里打开的。具体如下所示。

PS E:\python_work\DeepLearning\Test_Project> cd Speech_Command_GRU
PS E:\python_work\DeepLearning\Test_Project\Speech_Command_GRU> cd log
PS E:\python_work\DeepLearning\Test_Project\Speech_Command_GRU\log> tensorboard --logdir=./            
TensorFlow installation not found - running with reduced feature set.
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.9.0 at http://localhost:6006/ (Press CTRL+C to quit)

其实就是在路径下输入:

tensorboard --logdir=./

问题发现:

考虑到我打开了三个不同的项目,第一个正常,第二、三打开显示都是第一个项目的log内容。所以考虑应该和第一个项目log打开有关。

又注意到打开tensorboard后有写:

(Press CTRL+C to quit)

所以猜可能是没有退出,于是把第一个项目的退出了,然后再重新打开第三个项目的log发现成功了。

综上得出文章开头两个结论

<think>嗯,用户想解决TensorBoard显示事件文件的问题,也就是希望TensorBoard不再加载之前的事件文件。首先,我需要回忆一下TensorBoard的工作原理和相关配置。 根据引用[3]和[4],TensorBoard是通过读取指定目录下的events文件来生成可视化的。默认情况下,它会加载日志目录中所有的事件文件,包括的。这可能是因为用户将新日志文件放在同一个文件夹里,导致TensorBoard加载了所有历史数据。 那如何让TensorBoard只加载最新的文件呢?首先想到的可能是清理日志目录,删除的events文件。但用户可能不想手动删除,或者目录中有其他需要的文件。另一个方法是使用不同的日志目录,每次运行时指定一个新的文件夹,这样TensorBoard只会读取该文件夹中的新文件。例如,每次训练时使用带有时间戳的目录,这样就能隔离新日志。 另外,查看TensorBoard的文档是否有相关参数可以限制加载的文件。比如,是否有选项可以设置只加载最近修改的文件,或者忽略某个时间点之前的文件。不过根据现有的引用信息,可能没有直接提到的参数。需要进一步确认。 根据引用[3]中的方法,如果用户将事件文件移动到不同的目录,并指定--logdir为新目录,TensorBoard就不会加载文件了。所以解决方案可能是将新日志分开存储,或者在运行TensorBoard时指向只包含新文件的目录。同时,用户可能需要检查是否有其他隐藏的文件残留在目录中,比如检查子目录或备份文件。 总结可能的步骤:1. 清理日志目录,移除文件;2. 使用独立的日志目录;3. 启动TensorBoard时指定正确的路径。此外,确保没有其他进程在写入日志,或者使用--reload_interval参数减少刷新频率,但这可能不直接解决问题。 用户可能需要具体的命令行示例,比如如何创建新目录,移动文件,或者启动命令。同时,提醒用户检查路径是否正确,避免因为路径错误导致加载文件。如果用户的环境有缓存问题,可能需要清除浏览器缓存或使用无痕模式,但主要问题还是在于日志目录的设置。</think>### 分步解决方案 1. **清理事件文件** - 删除日志目录中所有的`events.out.tfevents`文件。例如: ```bash rm /path/to/logs/events.out.tfevents* ``` - 确保只保留需要展示的最新文件[^3]。 2. **使用独立日志目录** - 每次训练时,将日志输出到**新创建的独立文件夹**中。例如: ```bash mkdir logs/experiment_20231001 python train.py --logdir logs/experiment_20231001 ``` - 启动TensorBoard时指定该新目录: ```bash tensorboard --logdir=logs/experiment_20231001 --port=6006 ``` 这样TensorBoard仅读取指定文件夹中的事件文件[^4]。 3. **检查隐藏文件或子目录** - 确保日志目录中没有隐藏文件(如`.events.out.tfevents`)或嵌套子目录包含事件文件。使用以下命令检查: ```bash ls -a /path/to/logs ``` 4. **强制刷新TensorBoard** - 启动TensorBoard时添加`--reload_interval 1`(单位:秒),缩短刷新间隔: ```bash tensorboard --logdir=logs/experiment_20231001 --reload_interval=1 --port=6006 ``` - 如果仍有缓存问题,清除浏览器缓存或使用无痕模式访问`localhost:6006`。 --- ### 示例操作流程 假设用户当前日志目录为`logs/`,包含文件`events.out.tfevents.old`: 1. 删除文件: ```bash cd logs rm events.out.tfevents* ``` 2. 生成新日志到独立目录: ```bash mkdir logs/new_experiment python train.py --logdir logs/new_experiment ``` 3. 启动TensorBoard并绑定到新目录: ```bash tensorboard --logdir=logs/new_experiment --port=6006 ``` 4. 访问`http://localhost:6006`查看最新结果。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值