如何在本地查看远程服务器的TensorBoard

14

使用自己的笔记本电脑连接实验室的远程服务器运行Tensorflow。

我尝试使用tensorboard --logdir=./log来查看运行结果的曲线。

但是我得到了:

 Starting TensorBoard  on port 6006
(You can navigate to http://0.0.0.0:6006)

然后我尝试在浏览器中连接它,但是失败了...

有人知道如何配置才能在自己的笔记本电脑上查看远程服务器的TensorBoard吗?


尝试按照这里的建议操作:https://www.quora.com/I-made-a-website-and-can-access-it-on-my-computer-on-localhost-Can-I-access-the-same-website-on-another-computer-connected-with-LAN-with-my-computer - Shan Carter
可能是重复的问题:如何在远程服务器上运行Tensorboard? - ccy
这个问题有Olivier Mondroit在这里给出了答案,如何在远程服务器上运行Tensorboard? - Nathan Crock
5个回答

23
如果您在实验室实例上使用您提到的命令启动tensorboard服务器,它将在实验室服务器上运行,并从labserverIP:6006托管tensorboard网页。
我使用的是运行SLURM的集群(用于管理所有人的作业提交),我可以在集群节点上启动tensorboard服务器,然后通过SSH连接到运行tensorboard服务器的特定节点,从labserverIP:6006将网站转发到我的本地计算机localhost:6006。我的github脚本here展示了我在SLURM中执行此操作的命令。基本上有以下三个步骤:
1. 启动远程服务器并运行tensorboard --logdir=./log --host $SERVER_IP --port $SERVER_PORT 2. 使用ssh uname@login.node.edu -L $LOCAL_PORT:$SERVER_IP:$SERVER_PORT从您的笔记本电脑上进行SSH连接 3. 您可以将uname@login.node.edu替换为服务器的公共IP。
  • 在您的笔记本电脑浏览器中输入http://localhost:$LOCAL_PORT,以访问TensorBoard页面。
  • 另一种选择是将所有日志文件复制到您的本地计算机或共享驱动器上,然后在您的笔记本电脑上使用本地或共享目录作为logdir启动TensorBoard。


    9

    以下是如何将远程服务器上的端口转发到本地计算机的方法:

    ssh -NfL 6006:localhost:6006 username@remote_server_address


    4
    如果您可以使用公共IP从笔记本电脑SSH到实验室实例,无论显示什么消息,您都可以使用http://<publicIP>:6006查看TensorBoard。
    否则,如果实验室机器服务器没有关联的公共IP,则可以在SSH连接到实验室机器时尝试转发端口6006。请参考OpenSSH端口转发手册。

    2
    这是我们解决这个问题的方法(Linux SLURM服务器):
    1. 通过终端登录到您的服务器,并运行以下命令查找其IP地址:IP=`hostname -I`
    2. 在主机服务器上开启tensorboard服务器:

    python -m tensorboard.main --logdir=/your/dir --host $IP

    1. 使用浏览器并访问http://$IP:6006

    2
    您可以使用以下选项:
    tensorboard --logdir logs --bind_all
    

    然后,复制并粘贴链接到您的本地浏览器中


    3
    TensorBoard:错误:未识别的参数:--bind_all - Astariul

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接