在远程服务器上使用tensorboard

网上很多教程都说在远程服务器上使用tensorboard要配ssh tunnel,把服务器的6006端口映射到本机的某个端口(比如16006端口),诸如ssh -L 16006:127.0.0.1:6006 ${ACCOUNT}@${SERVER_IP}这样的,然后在服务器上执行tensorboard --logdir="/path/to/log-directory",最后在本机浏览器访问http://localhost:16006. 这种配置ssh tunnel的方法的确是一种可行的方式,但是完全没有必要。
实际上,在服务器上执行tensorboard --logdir="/path/to/log-directory"后,直接在本机的浏览器上访问http://${SERVER_IP}:6006就可以了。
事实上,看tensorboard源码的tensorboard/tensorboard/program.py中文档字符串的描述,tensorboard就是在宿主机的默认的6006端口起了一个HTTP server,那么只要本机和服务器之间网络是通的,本机就可以访问服务器上的HTTP服务,就和本机用ssh连服务器是一个道理,只不过访问的服务器端口不一样,ssh是22端口,tensorboard是6006端口。
附:tensorboard/tensorboard/program.py文档字符串

"""Utilities for TensorBoard command line program.
This is a lightweight module for bringing up a TensorBoard HTTP server
or emulating the `tensorboard` shell command.
Those wishing to create custom builds of TensorBoard can use this module
by swapping out `tensorboard.main` with the custom definition that
modifies the set of plugins and static assets.
This module does not depend on first-party plugins or the default web
server assets. Those are defined in `tensorboard.default`.
"""

你可能感兴趣的:(tensorflow)