我试图在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的正确方法是什么?
$tensorboard --logdir ./ --host 0.0.0.0
请注意,“在自定义端口上打开浏览器窗口”不会将您连接到TensorBoard服务器 – 此选项用于连接到非标准端口上的SSH服务器. Google Cloud Platform docs提供了有关如何从VM公开端口的信息.您需要允许TCP端口6006上的连接才能远程访问VM.您可能还需要按照instructions here从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上的shell中,确保您可以连接到容器中运行的TensorBoard实例:
(vm)$curl http://localhost:7007/
该命令应该将相同的HTML打印到控制台.
>配置Google Cloud防火墙,以允许本地客户端连接到VM上的端口7007.
(client)$gcloud compute firewall-rules create tensorboard --allow tcp:7007
您现在应该可以在客户端的Web浏览器中连接到TensorBoard.