场景
代码在服务器上运行,想使用tensorboard查看训练的过程。
但是服务器上不能直接访问地址,所以要转发端口到本地,从而在本地网页中能够打开tensorboard。
参考:https://zhuanlan.zhihu.com/p/680596384
这时我们需要建立本地服务器与远程服务器的通信,将tensorboard的映射端口与本地端口连接起来,如下所示:
ssh -L 本地端口:127.0.0.1:TensorBoard端口 用户名@服务器的IP地址 -p 服务器登录端口
本地端口:查看 tensorboard 结果时,在浏览器中输入地址时的端口号
TensorBoard端口:运行Tensorboard时指定的端口(默认为6006)
服务器登陆端口:登录服务器时指定的端口(默认为22)
#本地终端登陆远程服务器
ssh -L 10086:127.0.0.1:6060 work@221.122.128.92 -p 20
#远程服务器中找到tensorboard所在目录并运行
tensorboard --logdir=lightning_logs --port 6006
#在本地浏览器中输入如下地址即可查看tensorboard结果
http://127.0.0.1:10086
步骤:
具体实现:
1.cmd打开本地命令行
执行命令,并输入服务器上的密码:
ssh -L 20086:127.0.0.1:6060 root@172.23.253.103 -p9723
20086 是本地指定的端口,用于本地打开tensorboard。
http://localhost:20086/
此时相当于本地的127.0.0.1:6060 ,已经与服务器上的端口绑定了。
2.服务器上启动tensorboard
tensorboard --logdir=work_dir/CULane/20240526_231058_lr_5e-02_b_32/ --port 6060
这里要注意绑定端口
3. 本地打开tensorboard
本地浏览器打开:
http://localhost:20086
即可显示