【问题标题】:Unable to open Tensorboard in browser无法在浏览器中打开 Tensorboard
【发布时间】:2017-02-27 15:37:28
【问题描述】:

我正在关注google cloud machine learning tutorial,但我无法启动 TensorBoard

我已经按照上述教程中的步骤(也使用 docker 容器设置我的环境),直到在终端中输入以下命令

tensorboard --logdir=data/ --port=8080

终端输出如下提示的地方

Starting TensorBoard 29 on port 8080
(You can navigate to http://172.17.0.2:8080)

当我在浏览器中访问http://172.17.0.2:8080 时,我什么也看不到(此页面所在的服务器没有响应)。

有人可以建议我如何启动 Tensor Board 吗?

【问题讨论】:

  • 这看起来像是防火墙问题。您的服务器上的 8080 端口是否开放?
  • 如何检查?当我尝试 ping http://172.17.0.2:8080 我得到 ping: cannot resolve http://172.17.0.2:8080: Unknown host
  • 感谢提示,尝试了链接中的所有命令 (netstat -l / -a / -t / -u / -n),但在任何终端输出中都找不到端口号 8080。
  • 你可以用这个打开一个端口:stackoverflow.com/questions/21065922/…

标签: machine-learning tensorflow google-cloud-platform tensorboard


【解决方案1】:

今天早上遇到了同样的问题。解决了

tensorboard --logdir=data/ --host localhost --port 8088

浏览器导航到http://localhost:8088

【讨论】:

  • 刚刚花了 2 个小时寻找这个解决方案。楼主你太棒了!
  • 如果没有提供主机,Chrome 将无法工作,但即使没有提供主机,Firefox 也能正常工作...有趣...
【解决方案2】:

试试

tensorboard --logdir=d:/data --host 0.0.0.0

这将打开侦听所有网络接口的套接字,因此您可以从本地主机(同一台电脑)或本地网络(从网络中的 pc/mobile)连接。

【讨论】:

    【解决方案3】:

    在 Docker 容器中使用 Tensorboard 时,我遇到了同样的问题。在我的案例中,成功的步骤是:

    1. 首先,确保您用于 Tensorboard 的端口对外界开放。为了使这成为可能,请使用选项-p <host_machine_port>:<tensorboard_port_inside_container> 运行您的 Docker 容器。例如:

    docker run --name my_tensorboard_container -p 7777:8080 my_tensorboard_image bash

    1. 然后,如果您仍然无法访问 Tensorboard,请尝试添加 --bind_all 选项,如下所示:

    tensorboard --bind_all --port 8080 --logdir ./logs

    希望,它也适用于您的情况。

    【讨论】:

    • --bind_all 为我解决了问题。另一种选择是使用--host 0.0.0.0
    【解决方案4】:

    有2个解决方案(据我所知)来解决这个问题:

    1. 不要使用http://name:port_number,而是使用 http://localhost:port_number。 这是如果您使用的是 Chrome 浏览器。

    2. 如果你使用的是firefox(推荐,因为它真的很方便),那么你可以直接打开链接(有你的PC名称),执行“tensorboard --logdir=logs/”命令后显示在cmd中,即; http://name:port_number 将在这里工作。

    (此处的名称是指PC或用户名)

    【讨论】:

      【解决方案5】:

      如果您使用的是 Google Cloud Shell,则必须单击位于 shell 窗口左上角的图标。

      【讨论】:

      • 您能再详细说明一下吗?我在 Google Cloud Platform (GCP) 上使用 JupyterLab,但不知何故无法在那里打开 TensorBoard。谢谢! :-)
      【解决方案6】:

      您的机器上似乎没有打开端口8080
      你可以用这个command line tool:netstat -a检查它。

      要在谷歌云平台上打开特定端口,请参见answer from SO

      【讨论】:

        【解决方案7】:

        我不知道是不是这样,但是 tensorboard 在几个浏览器中存在一些可视化问题。尝试使用其他浏览器连接到http://172.17.0.2:8080(例如,在我的 macbook 上,safari 不能很好地与 tensorboard 配合使用,而我使用的是 google Chrome)。

        【讨论】:

          【解决方案8】:

          如“rodrigo-silveira”所述

          tensorboard --logdir=data/ --host localhost --port 8088
          

          这也适用于我。 只需更改graph directory 的名称即可。这里的目录是data/

          writer = tf.summary.FileWriter( 'logs', sess.graph )
          

          这里的目录是logs,所以当我在cmd中输入下面的命令时,出现了下面的窗口。

          tensorboard --logdir=data/ --host localhost --port 8088
          

          this is the window pop up

          【讨论】:

            【解决方案9】:

            您必须在 Gloud shell 的右侧工具栏中将端口更改为 tensorboard 端口

            【讨论】:

              【解决方案10】:

              在我的情况下,端口没有打开。 打开端口,帮助了我。这个过程是在 Linux 上完成的。

              这是我所做的:

              首先我检查了端口是否打开。

              netstat -tulpn
              

              你可以通过上面的代码查看。

              然后通过以下代码打开端口。只需将端口号更改为 8080

              sudo /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
              
              sudo iptables-save
              

              这应该可以解决问题。

              【讨论】:

                猜你喜欢
                • 2018-02-01
                • 1970-01-01
                • 2017-07-13
                • 2019-05-27
                • 2015-12-19
                • 1970-01-01
                • 1970-01-01
                • 2021-06-10
                • 1970-01-01
                相关资源
                最近更新 更多