如何在 Docker 容器中使用 TensorBoard(在 Windows 上)

问题描述 投票:0回答:4

我已经通过docker工具箱在windows上安装了tensorflow。一切都很顺利,除了我不能使用张量板。命令行显示“在端口 6006 上启动 Tensorboard 29。您可以导航到 http://localhost:6006/”。但是,当我在网络浏览器上打开此地址时,它无法连接到它。有谁知道如何解决这个问题吗?

tensorflow tensorboard
4个回答
9
投票

我想在这里更新答案,因为我刚刚在 Ubuntu 20.04 和

latest-gpu
张量流 docker 映像 (
03e706e09b04
) 上遇到了同样的问题。

对我有用的是以下 docker run:

docker run -p 8888:8888 -p 6006:6006 --rm -v <path_to_logdir>:/logdir tensorflow/tensorflow tensorboard --logdir /logdir --bind_all

然后就可以像人们所期望的那样在

localhost:6006
访问服务器。 我想,这里的主要区别是,在张量板调用中添加
--bind_all
标志,将服务器暴露给外部网络,从而允许主机访问。


8
投票

如果您在 Docker 容器内运行 TensorBoard,并尝试使用 Windows 中的 Web 浏览器查看它,则需要设置从容器到 Windows 计算机的端口转发。有关 TensorBoard 端口转发的详细讨论,请参阅此答案,但您应该能够通过使用以下命令取得进展:

docker run -p 0.0.0.0:6006:6006 -it b.gcr.io/tensorflow/tensorflow

但是,直接在 Windows 上安装 TensorFlow 并在其中运行 TensorBoard 可能会更容易。如果您安装适用于 Windows 的 Python 3.5,则可以通过运行以下命令来安装 TensorFlow 和 TensorBoard:

pip install tensorflow

然后您可以直接从命令提示符运行 TensorBoard,而无需担心端口转发。有关更多详细信息,请参阅Windows 安装说明


4
投票

也许您应该将卷映射到包含日志的文件夹并使用 bash 很好地输入:

docker run -v //c/pathto/tf_logs:/tf_logs  
-p 0.0.0.0:6006:6006 -p 8888:8888 -it b.gcr.io/tensorflow/tensorflow bash
cd ..
tensorboard --logdir tf_logs/

点击浏览器中的映射

http://192.168.99.100:6006


2
投票

在使用官方

tensorflow/tensorflow:latest-gpu-py3-jupyter
镜像的 Windows 10 + WSL2 + Docker 上,我必须告诉 TB 绑定到通配符地址。也就是说,在Jupyter笔记本中,我调用了:

%tensorboard --logdir logs/ --host 0.0.0.0

此后,我可以在笔记本中看到嵌入式仪表板。

© www.soinside.com 2019 - 2024. All rights reserved.