在Google Cloud上查看Docker上的Tensorboard

tec*_*lee 8 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 ./ Starting TensorBoard on port 6006 (You can navigate to http://localhost:6006)

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

它显示:"我们无法连接到端口6006上的VM."

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

mrr*_*rry 18

通过默认情况下,TensorBoard上供应的要求127.0.0.1,这是只有在同一台机器上运行的进程进行访问.如果您启动TensorBoard --host 0.0.0.0,它还将在远程接口上提供请求,因此您应该能够远程连接到它:

$ tensorboard --logdir ./ --host 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

请注意,"在自定义端口上打开浏览器窗口"不会将您连接到TensorBoard服务器 - 此选项用于连接到非标准端口上的SSH服务器.在谷歌云平台文档对如何从虚拟机暴露的端口信息.您需要允许TCP端口6006上的连接才能远程访问VM.您可能还需要按照此处说明从Docker容器中公开端口6006 .

编辑:添加了一些分步说明,以帮助您的Docker配置.这里有几个问题,并且不可能分辨出哪一个失败了.

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

    (vm)$ docker run -p 0.0.0.0:7007:6006 -it b.gcr.io/tensorflow/tensorflow
    
    Run Code Online (Sandbox Code Playgroud)

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

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

    (container)$ tensorboard --logdir ./ --host 0.0.0.0 --port 6006 &
    (container)$ curl http://localhost:6006/
    
    Run Code Online (Sandbox Code Playgroud)

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

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

    (vm)$ curl http://localhost:7007/
    
    Run Code Online (Sandbox Code Playgroud)

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

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

    (client)$ gcloud compute firewall-rules create tensorboard --allow tcp:7007
    
    Run Code Online (Sandbox Code Playgroud)

    您现在应该可以在客户端的Web浏览器中连接到TensorBoard.


use*_*814 7

您不必使用Docker来显示TensorBoard.但是如果你想使用Docker,只需在Docker镜像中运行TensorBoard即可.

诀窍是允许外部访问默认的TensorBoard tcp端口6006.

我尝试了以下工作解决方案,在我的Google Cloud VM中显示TensorBoard.

  1. 确保您通过gcloud身份验证:

    gcloud auth登录

  2. 允许公共访问tcp端口6006

    gcloud compute firewall-rules创建tensorboard-port --allow tcp:6006

  3. 在VM上运行TensorBoard

    tensorboard --logdir = workspace/train /

  4. 使用外部IP地址访问VM外部的TensorBoard:

    打开地址http:// your_vm_external IP:6006 /,

    例如http://104.196.140.145:6006/ ,其中104.196.140.145是我的VM的外部IP地址.

享受TensorBoard