Tensorboard 在本机可以方便使用,但使用服务器时需要设置一下。
(一)windows系统
在Windows系统装一个Xshell,在文件->属性->ssh->隧道->添加,类型local,源主机填127.0.0.1(意思是本机),端口设置一个,比如12345,目标主机为服务器,目标端口一般是6006,如果6006被占了可以改为其他端口。
在服务器上运行 tensorboard --logdir='logs' --port =6006
在本机打开网页127.0.0.1:12345
即可查看远程的tensorboard。
如果用到了跳板机,上述的设置仍旧适用。通过跳板机连接远程计算机,请参考 :https://blog.csdn.net/qq_36866808/article/details/79354366
(二)Mac或Linux系统
在登录远程服务器的时候使用命令:
ssh -L 16006:127.0.0.1:6006 account@server.address
(代替一般ssh远程登录命令:ssh account@server.address)
训练完模型之后使用如下命令:
tensorboard --logdir="/path/to/log-directory"
(其中,/path/to/log-directory为自己设定的日志存放路径,因人而异)
最后,在本地访问地址:http://127.0.0.1:16006/
原理
建立ssh隧道,实现远程端口到本地端口的转发 具体来说就是将远程服务器的6006端口(tensorboard默认将数据放在6006端口)转发到本地的16006端口,在本地对16006端口的访问即是对远程6006端口的访问,当然,转发到本地某一端口不是限定的,可自由选择。