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

esbemjvw  于 2023-10-23  发布在  Docker
关注(0)|答案(4)|浏览(207)

我已经通过docker工具箱在windows上安装了tensorflow。一切都很顺利,除了我不能使用tensorboard。命令行显示“Starting Tensorboard 29 on port 6006.你可以导航到http://localhost:6006/ '。然而,当我在我的网络浏览器上打开这个地址时,它就是不能连接到它。有人知道如何解决这个问题吗?

fumotvh3

fumotvh31#

我想在这里更新答案,因为我刚刚在Ubuntu 20.04和latest-gpu tensorflow docker镜像(03e706e09b04)上遇到了同样的问题。
对我有用的是下面的docker运行:

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

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

f5emj3cl

f5emj3cl2#

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

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

**但是,**直接在Windows上安装TensorFlow并在那里运行TensorBoard可能更容易。如果你安装了Python 3.5 for Windows,你可以通过运行以下命令来安装TensorFlow和TensorBoard:

  1. pip install tensorflow

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

mfuanj7w

mfuanj7w3#

也许你应该把你的卷Map到包含日志的文件夹,然后用bash well输入:

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

点击浏览器中的Map
http://192.168.99.100:6006

pieyvz9o

pieyvz9o4#

在使用官方tensorflow/tensorflow:latest-gpu-py3-jupyter镜像的Windows 10 + WSL 2 + Docker上,我不得不告诉TB绑定到DNS地址。也就是说,在笔记本电脑,我呼吁:

  1. %tensorboard --logdir logs/ --host 0.0.0.0

在此之后,我能够看到嵌入式 Jmeter 板在我的笔记本电脑。

相关问题