我已经通过docker工具箱在windows上安装了tensorflow。一切顺利,但我不能使用张量板。命令行在端口6006上显示' Starting Tensorboard 29。您可以导航到http://localhost:6006/'。但是,当我在我的webbrowser上打开此地址时,它无法连接到它。有谁知道如何解决这个问题?
答案 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/
点击浏览器中的地图
答案 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 调用中,从而允许主机访问。