删除日志文件夹后TensorBoard仍显示已删除的旧运行记录怎么办
TensorBoard旧数据残留、新数据不显示问题解决
TensorBoard确实存在多级缓存机制,删除日志后仍显示旧数据、不刷新新数据的问题,可按以下层级排查解决:
1. 清理TensorBoard进程内存缓存
TensorBoard启动后会将已加载的所有日志数据存储在进程运行内存中,默认不会主动识别已删除的日志文件变更,远程环境下文件系统监听的灵敏度更低,更容易出现缓存不刷新的问题。
- 解决步骤:
- 不要仅关闭VS Code中的TensorBoard标签页,需先登录远程服务器,执行命令
ps aux | grep tensorboard查询所有运行中的TensorBoard进程PID - 执行
kill -9 <对应PID>强制终止所有TensorBoard进程 - 重新启动TensorBoard即可清空内存缓存
- 不要仅关闭VS Code中的TensorBoard标签页,需先登录远程服务器,执行命令
2. 清理VS Code TensorBoard扩展缓存
VS Code的TensorBoard扩展自身会缓存已加载的日志元数据,不会随TensorBoard进程终止自动清空。
- 解决步骤:
- 关闭所有TensorBoard预览标签页,按下
Ctrl+Shift+P(Mac系统为Cmd+Shift+P)调出命令面板 - 执行
Developer: Reload Window命令重载VS Code窗口即可清除临时缓存 - 若重载后仍有旧数据,可手动删除扩展持久化缓存:
- Windows系统缓存路径:
%APPDATA%\Code\User\workspaceStorage\ - Mac系统缓存路径:
~/Library/Application Support/Code/User/workspaceStorage/ - Linux系统缓存路径:
~/.config/Code/User/workspaceStorage/ - 找到对应工作区文件夹下名称含
ms-python.tensorboard的目录,删除即可
- Windows系统缓存路径:
- 关闭所有TensorBoard预览标签页,按下
3. 清理远程文件系统缓存
如果日志存储在NFS、SMB等网络挂载的文件系统中,操作系统内核层面会缓存文件元数据,导致TensorBoard扫描目录时无法识别文件变更。
- 解决步骤:
登录远程服务器执行sync命令强制刷新文件系统缓存,再重新启动TensorBoard即可。
后续使用优化
下次启动TensorBoard时,可添加参数--reload_multifile=true开启多文件变更主动监听,同时添加--reload_interval <自定义刷新秒数>设置自动刷新间隔,可大幅降低数据不更新的概率。
内容的提问来源于stack exchange,提问作者Evan Zamir
相关产品推荐
相关产品推荐

