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

时间:2017-01-07 15:22:50

标签: tensorflow tensorboard

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

4 个答案:

答案 0 :(得分:4)

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

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 installation instructions

答案 1 :(得分:3)

也许你应该将你的卷映射到包含日志的文件夹,然后输入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 see your graph

答案 2 :(得分:2)

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

%tensorboard --logdir logs/ --host 0.0.0.0

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

答案 3 :(得分:0)

我想在这里更新答案,因为我刚刚在 Ubuntu 20.04 和 latest-gpu tensorflow docker 映像 (03e706e09b04) 上遇到了同样的问题。

对我有用的是以下 docker run: docker run -p 8888:8888 -p 6006:6006 -it --rm -v <path_to_summaries>:/opt/summaries tensorflow/tensorflow tensorboard

然后从容器内部: tensorboard --logdir /opt/summaries/ --bind_all

然后可以在 localhost:6006 处访问服务器,正如人们所期望的那样。 我猜,这里的主要区别是将 --bind_all 标志添加到将服务器暴露给外部网络的 tensorboard 调用中,从而允许主机访问。