使用远程服务器训练网络时在本地读取TensorBoard显示
必须工具
- SSH 客户端(如
ssh
命令行工具、MobaXterm、Xshell 等) - 远程服务器上的 TensorBoard
- 本地的浏览器(推荐使用 Chrome 或 Firefox)
详细步骤:
Step 1: 在远程服务器上启动 TensorBoard
首先,登录到远程服务器,并在训练日志目录下启动 TensorBoard。例如,如果日志目录是 ./logs
,可以使用以下命令:
tensorboard --logdir=./logs --port=6006
这里指定了 TensorBoard 在端口 6006
上运行。启动成功后,终端会显示类似如下的信息:
TensorBoard 2.x.x at http://localhost:6006/ (Press CTRL+C to quit)
Step 2: 建立 SSH 隧道
在本地机器上,使用 SSH 命令建立一个隧道,将远程服务器的 TensorBoard 端口转发到本地机器的一个端口上。例如,如果远程服务器的IP是 123.123.123.123
,远程端口是 6006
,你想要转发到本地的 16006
端口,可以使用以下命令:
ssh -L 16006:127.0.0.1:6006 用户名@123.123.123.123
这里,-L
参数指定了本地端口转发,127.0.0.1:6006
是远程服务器上的 TensorBoard 端口,16006
是你想要在本地机器上使用的端口。
Step 3: 在本地浏览器中访问 TensorBoard
一旦 SSH 隧道建立,你就可以在本地浏览器中输入 http://127.0.0.1:16006
来访问 TensorBoard,就像它在本地运行一样。
示例
假设你的远程服务器 IP 是 123.123.123.123
,用户名是 user
,TensorBoard 日志目录是 ~/logs
,你可以按照以下步骤操作:
-
在远程服务器上启动 TensorBoard:
ssh [email protected] tensorboard --logdir=~/logs --port=6006
-
在本地机器上建立 SSH 隧道:
ssh -L 16006:127.0.0.1:6006 [email protected]
-
在本地浏览器中访问 TensorBoard:
打开浏览器,输入
http://127.0.0.1:16006
,即可查看 TensorBoard 的可视化界面。
使用 MobaXterm 或 Xshell 建立 SSH 隧道
如果你使用的是 MobaXterm 或 Xshell 等工具,可以按照以下步骤操作:
MobaXterm
- 打开 MobaXterm,创建一个新的 SSH 会话。
- 在会话设置中,选择 “Tunneling” 选项卡。
- 添加一个新的 SSH 隧道,设置如下:
- Forwarded port: 16006
- Remote server: 127.0.0.1
- Remote port: 6006
- 保存设置并连接到远程服务器。
- 在本地浏览器中输入
http://127.0.0.1:16006
访问 TensorBoard。
Xshell
- 打开 Xshell,创建一个新的会话。
- 在会话属性中,选择 “SSH” -> “Tunneling”。
- 添加一个新的隧道,设置如下:
- Type: Local (Outbound)
- Source Host: 127.0.0.1
- Listening Port: 16006
- Destination Host: 127.0.0.1
- Destination Port: 6006
- 保存设置并连接到远程服务器。
- 在本地浏览器中输入
http://127.0.0.1:16006
访问 TensorBoard。
参考文献
通过以上步骤,你可以方便地在本地浏览器中查看远程服务器上运行的 TensorBoard。希望这篇文章对你有所帮助!