tensorboardX可视化及服务器tensorboardX页面在本地显示
之前一值对tensorboardX比较模糊,由于本人实验需要,需要在远程服务器上使用TensorboardX可视化,将tensirbiardX页面在本地显示,特此整理下踩过的坑!!
1、环境
Pytorch 1.6
Cuda 10.1
tensorfolw 2.2.0
tensorboardX 2.2
远程连接服务器 Xshell6
2、Pytorch装TensorboardX
pip install tensorboardX
pip install tensorflow(自动安装tensorboard)
ps:
(1)安装顺序有的教程说必须先安装tensorflow,再安装tensorboardX!
笔者顺序相反,但是成功了 可能是新版更新了,具体可以查看官网
(2)版本问题:
①PyTorch 1.1.0及以前的版本,最好使用tensorboardX 1.7及以前,因为在1.8更新了add_graph方法导致其可能无法使用。add_graph方法用于可视化模型结构。
②PyTorch 1.2.0及以上可以使用更新的tensorboardX,上述的方法实现更新实际上对较新版本的PyTorch有更好的支持。
详情可以看:PYTORCH 与 TENSORBOARDX 的版本兼容性问题
2、实战例子
测试代码:test.py
from tensorboardX import SummaryWriter
writer = SummaryWriter('runs/scalar_example')
for i in range(10):
writer.add_scalar('quadratic', i**2, global_step=i)
writer.add_scalar('exponential', 2**i, global_step=i)
利用Xshell隧道
首先 隧道 在Xshell > 文件 > 属性 > 连接 > SSH > 隧道
点添加 , 之后 源主机为127.0.0.1,目标主机 都是 localhost不变,无需改成本机IP和服务器地址了。然后就是一个小技巧了,网上的方法多用本机的16006端口。但其实完全没有必要这样做。直接将侦听端口 和 目标端口 都设置成6006(tensorboard的访问地址) 即可。
服务器运行:
切换到test.py目录下,激活虚拟环境
python test.py # 在同级目录下生成runs/scalar_example文件夹 文件夹生成一个events文件
tensorboard --logdir='./runs' #也可使用绝对路径 会返回浏览器访问地址
返回地址
在本地浏览器输入http://localhost:6006/ 即可访问
结果: