docker - 在 Google Cloud 上查看 Docker 上的 Tensorboard

标签 docker google-cloud-platform tensorflow tensorboard

我正在尝试在 Google Cloud 上的 Docker 上显示来自 TensorFlow 的 TensorBoard。

http://tensorflow.org/how_tos/summaries_and_tensorboard/index.md

tensorboard --logdir ./

我在 Google Cloud 上运行 Apache(它可能在我的第一个容器“ai-unicorn”中,Docker 制作了自己的容器“docker-playground”)。 我可以在 http://104.197.119.57/ 看到来自 Google Cloud 的默认页面.

我这样在 Google Cloud 上启动 TensorBoard:

root@6cf64fd299f0:/# tensorboard --logdir ./ 在端口 6006 上启动 TensorBoard (可以导航到http://localhost:6006)

我使用端口 6006 尝试了名为“在自定义端口上的浏览器窗口中打开”的 Google Cloud SSH 选项。

它显示: “我们无法连接到端口 6006 上的 VM。”

从 Google Cloud 查看 TensorBoard 的正确方法是什么?

最佳答案

作者 default , TensorBoard 为 127.0.0.1 上的请求提供服务,只有在同一台机器上运行的进程才能访问该请求。如果您使用 --host 0.0.0.0 启动 TensorBoard,它还将为远程接口(interface)上的请求提供服务,因此您应该能够远程连接到它:

$ tensorboard --logdir ./ --host 0.0.0.0

请注意,“在自定义端口上的浏览器窗口中打开”不会将您连接到 TensorBoard 服务器 - 此选项用于连接到非标准端口上的 SSH 服务器。 Google Cloud Platform docs了解如何从 VM 公开端口。您需要允许 TCP 端口 6006 上的连接才能远程访问您的 VM。您可能还需要从 Docker 容器中公开端口 6006,方法是遵循 instructions here .

编辑:添加了一些分步说明来帮助您进行 Docker 配置。这里有几个问题,无法判断哪一个失败了。

  1. 在启动 Docker 容器时配置端口转发:

    (vm)$ docker run -p 0.0.0.0:7007:6006 -it b.gcr.io/tensorflow/tensorflow
    

    这会将连接从 VM 上的端口 7007 转发到 Docker 容器中的 6006。 (其他值也是可能的。)

  2. 确保您可以从 Docker 容器内连接到 TensorBoard:

    (container)$ tensorboard --logdir ./ --host 0.0.0.0 --port 6006 &
    (container)$ curl http://localhost:6006/
    

    第二个命令应该打印一些 HTML 到控制台。

  3. 在 VM 上的 shell 中,确保您可以连接到容器中运行的 TensorBoard 实例:

    (vm)$ curl http://localhost:7007/
    

    该命令应将相同的 HTML 打印到控制台。

  4. 配置 Google Cloud 防火墙以允许您的本地客户端连接到 VM 上的端口 7007。

    (client)$ gcloud compute firewall-rules create tensorboard --allow tcp:7007
    

    您现在应该可以在客户端的网络浏览器中连接到 TensorBoard。

关于docker - 在 Google Cloud 上查看 Docker 上的 Tensorboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33836728/

相关文章:

docker - 如何限制Kubernetes容器查看主机(K8s Minion)操作系统上的 block 设备列表?

docker - 什么是 docker 容器中的卷驱动程序

php - Dockerize 用于生产的 PHP 应用程序

machine-learning - Keras 回归每次都会对我的输入给出不同的预测

numpy - 具有numpy数组的张量板

python - 如何在 Keras 中使用 Hausdorff 度量?

docker - 将 tty/stdin-out 附加到 docker 或 lxc 是什么意思?

spring-boot - GCP PubSub Spring Boot 重复提取消息

node.js - 如何安全地将 Google OAuth 生成的访问 token 传递到 NodeJS REST API?

tensorflow - 什么是 tf.bfloat16 "truncated 16-bit floating point"?