在PyTorch 1.3.1中输出TensorBoard日志,TensorBoard
2.1.0在Windows环境下显示页面一篇空白。
TensorBoard页面一片空白问题解决
1 问题描述
TensorBoard是TensorFlow的一款基于Web的机器学习可视化工具。
PyTorch对TensorBoard也进行了兼容,但我使用最新版的PyTorch
1.3.1输出日志文件,在TensorBoard
2.1.0中却无法显示,页面打开一片空白。
PyTorch官方文档
torch.utils.tensorboard
我使用官方文档中的一个极小测试用例进行功能测试:
1 2 3 4 5 6 7 8 9 10
| from torch.utils.tensorboard import SummaryWriter import numpy as np
writer = SummaryWriter()
for n_iter in range(100): writer.add_scalar('Loss/train', np.random.random(), n_iter) writer.add_scalar('Loss/test', np.random.random(), n_iter) writer.add_scalar('Accuracy/train', np.random.random(), n_iter) writer.add_scalar('Accuracy/test', np.random.random(), n_iter)
|
按照官方文档的说法,安装tensorboard
并运行:
1 2
| pip install tensorboard tensorboard --logdir=runs
|
但结果是默认的 http://localhost:6006/
显示的页面一片空白,命令行也没有任何报错提示。
2 问题分析
根据网上各类博客和贴文,我测试了修改相对路径为绝对路径、更新PyTorch版本等方法,均无效。
经测试,Ubuntu服务器上默认安装的TensorBoard最新版本为2.0.2,运行和显示正常。
我将服务器上一切正常的日志下载到本地来测试,依旧是一片空白,由此锁定问题在本地的TensorBoard上。
我将Windows上TensorBoard的版本从默认的最新版2.1.0降级至2.0.2后,运行和显示正常。
推测原因可能和PyTorch生成的日志尚未适配最新版TensorBoard的标准有关。
3 解决方案
将Windows上TensorBoard的版本从默认的最新版2.1.0降级至2.0.x。
2020.3.18更新:
更新说明:应读者来信,给出详细的操作方法。
建议通过conda指定版本安装。
首先,切换到conda环境:
1
| conda activate <your_env>
|
切换后,通过命令指定安装2.0版本的tensorboard(推荐):
1
| conda install tensorboard=2.0
|
如不熟悉conda命令,也可通过pip指定版本安装:
1
| pip install tensorboard==2.0
|
另外,可以通过conda search
命令查询现有可下载的版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| conda search tensorboard
Loading channels: done # Name Version Build Channel tensorboard 1.7.0 py35he025d50_1 pkgs/main tensorboard 1.7.0 py36he025d50_1 pkgs/main tensorboard 1.8.0 py35he025d50_0 pkgs/main tensorboard 1.8.0 py36he025d50_0 pkgs/main tensorboard 1.9.0 py35he025d50_0 pkgs/main tensorboard 1.9.0 py36he025d50_0 pkgs/main tensorboard 1.10.0 py35he025d50_0 pkgs/main tensorboard 1.10.0 py36he025d50_0 pkgs/main tensorboard 1.11.0 py36he025d50_0 pkgs/main tensorboard 1.12.0 py36he025d50_0 pkgs/main tensorboard 1.12.1 py36h33f27b4_0 pkgs/main tensorboard 1.12.2 py36h33f27b4_0 pkgs/main tensorboard 1.13.1 py36h33f27b4_0 pkgs/main tensorboard 1.13.1 py37h33f27b4_0 pkgs/main tensorboard 1.14.0 py36he3c9ec2_0 pkgs/main tensorboard 1.14.0 py37he3c9ec2_0 pkgs/main tensorboard 1.15.0 pyhb230dea_0 pkgs/main tensorboard 2.0.0 pyhb230dea_0 pkgs/main tensorboard 2.0.0 pyhb38c66f_1 pkgs/main tensorboard 2.1.0 py2_0 pkgs/main tensorboard 2.1.0 py3_0 pkgs/main
|