背景
本机为Windows系统,在远端服务器上使用tensorboard进行可视化。
使用tensorboard的前提:安装tensorboard ,服务器上使用命令
pip install tensorboard
然后等网络训练完毕,输入命令
tensorboard --logdir=log_dir --host=127.0.0.1
log_dir 是网络训练时自己指定的日志目录 比如: /home/username/run/
之后我们在服务器上应该会看到如下提示(我这里是没有安装TensorFlow的):
TensorFlow installation not found - running with reduced feature set.
TensorBoard 2.2.1 at http://127.0.0.1:6006/ (Press CTRL+C to quit)
这里面这个网址 127.0.0.1:6006 是服务器的本机地址和端口号。
一种查看方式是打开服务器的浏览器,输入网址查看。
如果你在自己的电脑上打开这个网址,只会显示无法访问。
问题
那么,问题来了。我这里是用MobaXterm配置SSH协议连接到远程服务器的,服务器的默认浏览器为Firefox。如果在服务器上用Firefox访问该网址, 在MobaXterm这个终端显示网页的话,会很慢,很卡顿。 这是令人难以忍受的。
可不可以在自己电脑上直接访问网址呢?
方案
受到 CSDN Joy_Shen 博主的启发,我们可以利用MobaXterm建立ssh隧道,实现远程端口到本机端口的转发。
具体过程如下:
在mobaXterm中点击Tunneling
![cf7963477e9a03c1fc57c6f1e7aabd8c.png](https://i-blog.csdnimg.cn/blog_migrate/f43401c6b87205c4878e08e743450b8d.png)
然后新建SSH隧道
![c5360b7776ae30477721e509d2a1ef23.png](https://i-blog.csdnimg.cn/blog_migrate/c5785ef956e63a1b31761cfcac49c8cf.jpeg)
在如下窗口进行设置
![c8173fb4440472c1b089ddb1701a90c1.png](https://i-blog.csdnimg.cn/blog_migrate/6261ba4132c1379a39ce7a8cbfc5290c.jpeg)
选择Local port forwarding
<Remote server>填localhost , <Remote port>填6006
SSH server是指SSH服务器,这里和我们通过SSH连接远程服务器的设置是一样的,分别填写相应的IP地址,用户名,端口号(通常为22)即可
如果是通过跳板机连接的 这里应该要填跳板机的IP,用户名,端口号。 而<Remote server>应该修改为通过跳板机连接的最终目的服务器的IP。
<Forwarded port>这里 ,我们可以指定本机的一个端口号,方便起见我这里设置的是6006
好啦,之后点击Save,然后启动
![f679daa6ff0c459e1f5982eabd53ab89.png](https://i-blog.csdnimg.cn/blog_migrate/cb9c2aa5f00d39cd18349f02a28b219c.png)
之后,我们在本地的浏览器上就可以输入 127.0.0.1:6006 对远程的tensorboard进行访问了