本机访问服务器上使用的tensorboard

本机上想用浏览器看tensorboard画的图,一开始想的好复杂,一台本机A,一台跳板B,一台目标服务器C,我是不是要先把docker容器的6006端口转到目标服务器C的端口c_port,再把c_port转到本机的某个端口local_port…
后来想了想,反正画图考的就是tensorboard logdir下的log文件吗,我在费什么劲…
最后就把装了tensorboard的跳板机端口转发下就可以啦

ssh连接本机和跳板(端口转发)

ssh -L 12345:127.0.0.1:6766 serverip

12345是本机的端口,随便开一个,127.0.0.1:6766是服务器上的端口,一会儿本机的12345端口要监听服务器这个端口,所以tensorboard启动也要指定这个端口(默认是6006,当然经常会被占)。

服务器启动tensorboard

tensorboard --logdir='/**/**/' --port 6766

logdir里是你想分析的模型保存的log文件events.out.tfevents.23blabla的所在目录

浏览器打开tensorboard给的地址

6766是服务器的端口,我们把它转发到本机12345了也就是http://localhost:12345/

docker里开tensorboard

直接在服务器里开tensorboard可能有些问题,比如今天晚上打开tensorboard发现版本竟然被改了,毕竟服务器是共用设备…
如果要在docker里开tensorboard,要先把目标服务器的端口转发到本地:

  1. 本地端口通过跳板映射到其他机器

HostA 上启动一个 PortA 端口,通过 HostB 转发到 HostC:PortC上,在 HostA 上运行:

HostA$ ssh -L PortA:HostC:PortC  user@HostB

这条命令后跳到了jump服务器,然后再ssh连到目标server,在目标server打卡docker(docker需要把tensorboard端口转发到目标server,然后这个端口又会被转发到本地)

docker run --name tensorboard -it -p 6799:6006 --shm-size 64G  --rm --gpus all  -v 挂载目录 docker名 bash
  1. 【docker内部】打开
tensorboard --logdir='***' -port=6006 --bind_all

!!! 必须加上–bind_all,不然连接失败。

  1. 最后在浏览器打开http://localhost:$PortA.
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值