Windows如何在本地可视化远程服务器上的tensorboard

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

使用 windows 连接远程服务器进行深度学习训练的时候,由于大部分服务器是只有命令行界面的,tensorboard 产生的可视化文件夹往往不能直接在服务器上显示。这时候如果直接可视化文件下载到本地再运行查看比较麻烦,而本地浏览器一般可以通过简单的方式访问到服务器端的 tensorboard 服务。本文将详细介绍如何利用建立 ssh 隧道的方法直接利用本地浏览器查看上述文件的可视化。
必须工具
MobaXterm (或 XShell 等可以提供建立 ssh 隧道服务的终端软件)
服务器上的 tensorboard
本地的浏览器(最好是 tensorboard 兼容的 Chrome 或 Firefox)
**

Step1: 找到一个 tensorboard 可视化文件,在服务器端运行起 tensorboard

**
tensorboard 可视化文件名是events.out.tfevents.1274878.xxxxxxxxxx 这种一大长串的,一般在训练一个模型前都会指定好的,找到这个文件夹,我们假设它在 xx/xx/summary/ 这个目录下,那么我们可以在summary目录的上一层运行如下指令:
tensorboard --logdir=summary
成功运行的结果如下:
在这里插入图片描述
注意这个运行结果,关键是它给出的一个地址http://localhost:6006, 这个地址的意思就是 tensorboard 服务在 localhost 上运行,使用端口号 6006;
理论上,这时候我们打开浏览器,在地址栏输入 http::6006 就可以看到 tensorboard 的可视化了,其中, 就是服务器的ip地址。然而,现实中我们访问服务器都是需要建立 ssh 连接,验证用户名和密码这样子访问的,所以我们直接访问肯定是访问不到的。这时候,就需要第二步了:建立一个本地和服务器端地址的映射。

Step2:建立 ssh 隧道的本地端口转发

这一步本质上就是为了给我们PC的浏览器提供一个访问地址,通过这个地址我们就可以直接访问到服务器上运行 tensorboard 的地址,于是我们打开浏览器就可以看到 tensorboard 的内容了。这种地址上的关联是通过 ssh 本地端口转发实现的,它就是一个简单的信息转发方式,它能够将服务器端 localhost 上的内容不断地转发到 PC 端的浏览器上,从而实现可视化。
我们的目的是,在 PC 上的浏览器直接输入 http://localhost: 就可以看到 tensorboard 可视化的内容。那么怎么做呢?以 MobaXterm 为例,我们只要建立一个简单的端口到端口映射,就可以通过一条专门的地址去访问前面运行起来的 tensorboard 服务了。
首先,打开 MobaXterm,在上面的应用栏中找到 Tunneling
在这里插入图片描述
打开 Tunneling 后,新建一个 ssh tunnel
在这里插入图片描述
Remarks:

-ssh server 部分的信息需要查看自己使用 ssh session 服务的时候,所用的用户名,服务器ip和使用的端口号
-forwarded port 是我们在 PC 上需要访问的端口号,这个端口号可以随意填写一个空闲的,要保证它不被占用就好,有时候 tensorboard 显示不出来可能是你的这个端口号被占用了,建议选择 2025-65535 之间的一个号码,如果被占用就换一个
-remote server 和 remote port 就按照图片里的填,其中 remote server 可以理解成服务器使用 tensorboard 服务的 “ip地址”, remote port 则是在服务器上运行 tensorboard 的时候给出的端口号,回顾一下我们第一步运行 tensorboard 的界面,由于没有指定端口,默认使用的就是 6006
输入完毕点击 save, 然后点击开始图标连接
在这里插入图片描述
一般需要输入对应用户名的密码(这里我没用,可能是局域网下连接服务器不需要吧)
在这里插入图片描述
连接成功后在 MobaXterm 上开始的图标会变成灰色
在这里插入图片描述
**

Step3:在浏览器上查看 tensorboard 可视化

**
按照步骤二的配置,我们在浏览器输入http://localhost:(本例中就是 http://localhost:16006)
在这里插入图片描述
在这里插入图片描述
**

TroubleShooting

**
1.ssh tunneling 连接不上:
可能是 PC 上想被映射的端口号 (Step2 中 forwarded-port 被占用,换一个号试试)
2. No dashboards are active for the current data set.
在这里插入图片描述
首先确保网络没有问题,ssh tunneling 建立成功;
如果还是显示这个,可能是代码方面出了一些问题,实验数据没有完整地被 SummaryWriter 对象记录保存,导致产生的可视化文件不可读,这时候有可能需要重新训练;(所以建议使用之前先用小批量数据试一下 SummaryWriter 能够成功记录和读取)
3. TensorFlow installation not found - running with reduced feature set.
如果是在 Pytorch 上使用 tensorboardX 应该会遇到这个。可以忽略,只要后面出现了serving Tensorboard on localhost 就没关系

Reference
https://zhuanlan.zhihu.com/p/662443399
https://zhuanlan.zhihu.com/p/450867370

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值