在Google Cloud上的Docker上查看Tensorboard
我正在尝试在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
,它也将在远程接口上处理请求,因此您应该能够远程连接到它:
$ tensorboard --logdir ./ --host 0.0.0.0
请注意,“在自定义端口上的在浏览器窗口中打开”不会将您连接到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
这会将连接从VM上的端口7007转发到Docker容器中的6006。(其他值是可能的。)
- 确保您可以从Docker容器中连接到TensorBoard:
(container)$ tensorboard --logdir ./ --host 0.0.0.0 --port 6006 &
(container)$ curl http://localhost:6006/
第二个命令应将一些HTML打印到控制台。
- 在VM上的外壳中,确保可以连接到在容器中运行的TensorBoard实例:
(vm)$ curl http://localhost:7007/
该命令应将相同的HTML打印到控制台。
- 配置Google Cloud防火墙,以允许本地客户端连接到VM上的端口7007。
(client)$ gcloud compute firewall-rules create tensorboard --allow tcp:7007
您现在应该可以在客户端的Web浏览器中连接到TensorBoard。
以上是 在Google Cloud上的Docker上查看Tensorboard 的全部内容, 来源链接: utcz.com/qa/402450.html