在本地浏览器上查看远程服务器上的tensorboard

1 篇文章 0 订阅
1 篇文章 0 订阅

1. keras中生成tensorboard日志信息

       由于tensorboard日志是记录并且可视化训练过程的各个指标和权重信息的,所以需要通过回调函数来实现训练过程中的记录,然后将相应的回调函数传给模型的fit方法即可。如下所示,tf.keras.callbacks中有现成的回调函数,然后将其传给fit方法的callback参数即可。训练完成后就会在logdir目录下生成相应的信息文件。

log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)

model.fit(x=x_train, 
          y=y_train, 
          epochs=5, 
          validation_data=(x_test, y_test), 
          callbacks=[tensorboard_callback])

2. 打开tensorboard

       在shell中执行如下命令,传入相应路径参数,端口可以随便设,只要不和当前机器上的服务端口冲突即可,如下默认端口为6006。

tensorboard --logdir logdir --port 6006

3. 建立服务器和本地的连接,实现端口转发

       由于linux服务器上往往没有浏览器直接查看tensorboard,因此可以通过在本地建立和服务器的连接,并线进行端口转发,将linux服务器上tensorboard服务信息转发到本地,然后可以直接在本地浏览器中查看tensorboard。

       本文介绍的实现连接的方式是通过xshell。xshell是一个连接管理远程服务器的工具,先通过xshell在本地登陆远程服务器,建立本地和服务器的连接,接下来就是通过xshell实现端口转发。

       步骤是,先点击xshell界面中的属性设置按钮,如下圈红所示。

       点击之后出现如下界面。

         出现上述界面后,依次点击 连接 ---> SSH ---> 隧道,然后再点击 添加,会出现如下界面,这时需要在侦听端口处填写本地用来侦听服务器tensorboard的端口号,随便填写,只要不和本地服务端口冲突即可,比如12345;目标端口是侦听对象的服务端口,这个端口就是执行命令tensorboard --logdir logdir --port 6006中指定的端口,该端口表示启动tensorboard服务后用来交流信息的端口,因此本例中下面的目标端口就是6006,当然也可以填其他的,只要和tensorboard服务的端口保持一致即可。

       隧道建立完成后,执行tensorboard命令后会出现一个类似 http://hostname:port/的url,这时将该url拷贝到本地浏览器中即可显示tensorboard。

       需要注意的是,本地不一定可以解析该url的域名,因此如何直接拷贝行不通,则可以将你的远端服务器ip地址加端口号(如192.67.38.256:6006)输入浏览器,这样是可以保证监听到相应端口信息,从而查看tensorboard的。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值