前言
在使用tensorboard的时候,会遇到这样的一个问题,实验的结果在服务器上,但想在不下载『实验结果〗的前提下想在本地上查看结果。该文章记录的解决这样的一个问题
适用: tensorflow、pytorch
需要软件:xshell
本地连接远程服务器上Tensorboard的问题 |
一、问题提出
本机是windows系统,tensorflow程序运行在远端服务器,通常使用Xshell登陆服务器操作。
按照tf教程,训练网络的summary存在设定的log_dir中,检查tensorboard安装完好,找tf安装目录。在xshell连接服务器后,在终端上输入以下代码:
pip show tensorflow-gpu
tensorboard文件夹在tf同级目录,其下有可执行的/main.py,若未安装可以:
pip install tensorboard
安装成功后,就可以显示我们的summary的数据信息了,终端中输入:
tensorboard --logdir=log_dir
其中:默认port是6006,若端口号被占用可以 tensorboard --logdir=log_dir --port=xx
如把端口映射到1234,则:
tensorboard --logdir=log_dir --port=1234
此时我们如果直接将地址信息复制到本地的电脑的浏览器上,是无法打开该信息的,这个时候,需要使用我们 xshell 的隧道功能,去转发这个信息
复制链接到浏览器,一直显示 “无法访问此网站,找不到IP地址”
一、解决方案
建立ssh隧道,实现远程端口到本机端口的转发,远端被侦听端口为tensorboard默认的6006端口,本机端口任一非占用的都可。
在我的Xshell打开某个连接,属性->ssh->隧道->添加,类型local,源主机填127.0.0.1(意思是本机),侦听端口设置一个,比如12345(截图中设置的是6006),目标主机为服务器本地,目标端口6006,如果被占了可改为其他端口。
这时,需要要退出当前的 xshell 与服务器的连接,再重新连接
之后,在服务器上输入命令,这里若–port改了端口号则上面设置也要改。
tensorboard --logdir=log_dir
复制链接,在本机打开以下网页,成功访问远程的tensorboard。
127.0.0.1:6006
显示如下:
转自
tensorflow笔记:本地Xshell连接远程服务器上Tensorboard的问题! - Deving Zhang - CSDN博客
https://blog.csdn.net/abc13526222160/article/details/89225244