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配置.这里有几个问题,并且不可能分辨出哪一个失败了.
启动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.(其他值可能.)
确保您可以从Docker容器中连接到TensorBoard:
(container)$ tensorboard --logdir ./ --host 0.0.0.0 --port 6006 &
(container)$ curl http://localhost:6006/
Run Code Online (Sandbox Code Playgroud)
第二个命令应该将一些HTML打印到控制台.
在VM上的shell中,确保您可以连接到容器中运行的TensorBoard实例:
(vm)$ curl http://localhost:7007/
Run Code Online (Sandbox Code Playgroud)
该命令应该将相同的HTML打印到控制台.
配置Google Cloud防火墙以允许本地客户端连接到VM上的端口7007.
(client)$ gcloud compute firewall-rules create tensorboard --allow tcp:7007
Run Code Online (Sandbox Code Playgroud)
您现在应该可以在客户端的Web浏览器中连接到TensorBoard.
您不必使用Docker来显示TensorBoard.但是如果你想使用Docker,只需在Docker镜像中运行TensorBoard即可.
诀窍是允许外部访问默认的TensorBoard tcp端口6006.
我尝试了以下工作解决方案,在我的Google Cloud VM中显示TensorBoard.
确保您通过gcloud身份验证:
gcloud auth登录
允许公共访问tcp端口6006
gcloud compute firewall-rules创建tensorboard-port --allow tcp:6006
在VM上运行TensorBoard
tensorboard --logdir = workspace/train /
使用外部IP地址访问VM外部的TensorBoard:
打开地址http:// your_vm_external IP:6006 /,
例如http://104.196.140.145:6006/ ,其中104.196.140.145是我的VM的外部IP地址.


| 归档时间: |
|
| 查看次数: |
11569 次 |
| 最近记录: |