建立本地与远程服务器端口连接(以访问tensorboard和visdom为例)

建立本地与远程服务器端口连接(以访问tensorboard和visdom为例)

Visdom

在深度学习领域,模型训练是一个必须的过程,因此常常需要实时监听并可视化一些数据,如损失值loss,正确率acc等。在Tensorflow中,最常使用的工具非Tensorboard莫属;在Pytorch中,也有类似的TensorboardX,但据说其在张量数据加载的效率方面不如visdom。visdom是FaceBook开发的一款可视化工具,其实质是一款在网页端的web服务器,对Pytorch的支持较好。

  • visdom启动命令
python -m visdom.server --port 端口号

开启之后,将会在服务器本地 http://localhost:端口号 中显示当前visdom服务

  • 远程连接该端口

基于ssh直接连接

ssh -L 本地端口号:localhost:服务端口号 -p ssh登录端口号 用户名@服务器地址

上述命令将本地端口号与服务端口号相连接,同时通过ssh登录端口号进行登录验证。这样就可以在本地访问远程特定端口了

MobaXterm等效操作

  • 打开tools中的MobaSSHTunel
    建立本地与远程服务器端口连接(以访问tensorboard和visdom为例)_第1张图片

  • 新建Tunel,在forward port中填希望本地和远程连接的端口
    建立本地与远程服务器端口连接(以访问tensorboard和visdom为例)_第2张图片

  • 在SSH设置中填写,SSH服务器的地址、登录用户、以及ssh登录的端口

  • 在remote server中填写服务器本地的地知,localhost:127.0.0.1以及它的服务端口(即刚才visdom的服务端口)

Tensorboard

TensorBoard是一个可视化工具,它可以用来展示网络图、张量的指标变化、张量的分布情况等。特别是在训练网络的时候,我们可以设置不同的参数(比如:权重W、偏置B、卷积层数、全连接层数等),使用TensorBoader可以很直观的帮我们进行参数的选择。

本系列文章一共四篇,由浅入深,以常见的Mnist数据集为实验对象,从实现最简单TensorBoard开始,逐步增加参数、复杂度,最后实现使用TensorBoard工具可视化调参的功能。

TensorBoard的使用一共可分成四步:

设置保存路径:tenboard_dir = ‘./tensorboard/test1/’
指定一个文件用来保存TensorFlow的图:writer = tf.summary.FileWriter(tenboard_dir + hparam)
把图add进去:writer.add_graph(sess.graph)
进入test1文件夹的上一层文件夹,在DOS窗口运行命令:
tensorboard --logdir=./test1 --port 服务端口号

后续和visdom操作相同

总结

连接本地与远程需要理解两件事:
第一件 SSH在其中起到的作用:SSH server做为一个特定的登录结点,对应着远程服务器的一个特定端口,本地首先是和SSH server相连接才能和服务器内部连接

第二在服务器中visdom和tensorboard需要另外一个特定的端口提供服务,第二步需要将服务端口和本地端口相连接

你可能感兴趣的:(c++,开发语言,后端)