我正在尝试在Google Cloud上的Docker上显示TensorFlow的TensorBoard。
http://tensorflow.org/how_tos/summaries_and_tensorboard/index.md
tensorboard --logdir ./
我在Apache 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的正确方法是什么?
通过默认情况下,TensorBoard上供应的要求127.0.0.1,这是只有在同一台机器上运行的进程进行访问。如果您使用来启动TensorBoard --host 0.0.0.0,它也将在远程接口上处理请求,因此您应该能够远程连接到它:
127.0.0.1
--host 0.0.0.0
$ tensorboard --logdir ./ --host 0.0.0.0
请注意,“在自定义端口上的在浏览器窗口中打开”不会将您连接到TensorBoard服务器-此选项用于在非标准端口上连接到 SSH 服务器。在谷歌云平台文档对如何从虚拟机暴露的端口信息。您将需要允许TCP端口6006上的连接以远程访问您的VM。您可能还需要按照此处的说明从Docker容器中公开端口6006 。
编辑: 添加了一些分步说明来帮助您配置Docker。这里有几个问题,无法确定哪个是失败的。
(vm)$ docker run -p 0.0.0.0:7007:6006 -it b.gcr.io/tensorflow/tensorflow
这会将连接从VM上的端口7007转发到Docker容器中的6006。(其他值是可能的。)
(container)$ tensorboard --logdir ./ --host 0.0.0.0 --port 6006 &
(container)$ curl http://localhost:6006/
第二个命令应将一些HTML打印到控制台。
(vm)$ curl http://localhost:7007/
该命令应将相同的HTML打印到控制台。
(client)$ gcloud compute firewall-rules create tensorboard --allow tcp:7007
您现在应该可以在客户端的Web浏览器中连接到TensorBoard。