如何 运行 Tensorboard 和 jupyter 同时使用 docker?
How to run Tensorboard and jupyter concurrently with docker?
我开始学习如何使用 TensorFlow 进行机器学习。并发现 docker 非常方便将 TensorFlow 部署到我的机器上。但是,我能找到的示例不适用于我的目标设置。这是
在ubuntu16.04下os,使用nvidia-docker将jupyter和tensorboard服务一起hos(可以是两个容器或一个容器有两个服务)。从 jupyter 创建的文件应该对 host OS.
可见
- Ubuntu 16.04
- Dokcer
- nvidia-docker
- Jupyter
- 张量板
Jupyter 容器
nvidia-docker run \
--name jupyter \
-d \
-v $(pwd)/notebooks:/root/notebooks \
-v $(pwd)/logs:/root/logs \
-e "PASSWORD=*****" \
-p 8888:8888 \
tensorflow/tensorflow:latest-gpu
Tensorboard 容器
nvidia-docker run \
--name tensorboard \
-d \
-v $(pwd)/logs:/root/logs \
-p 6006:6006 \
tensorflow/tensorflow:latest-gpu \
tensorboard --logdir /root/logs
我尝试将日志文件夹挂载到两个容器,并让 Tensorboard 访问 jupyter 的结果。但是坐骑似乎确实起作用了。当我在带有 notebooks 文件夹的 jupyter 容器中创建新文件时,host 文件夹 $(pwd)/notebooks 什么也没有出现。
我也遵循了Nvidia Docker, Jupyter Notebook and Tensorflow GPU
中的说明
nvidia-docker run -d -e PASSWORD='winrar' -p 8888:8888 -p 6006:6006 gcr.io/tensorflow/tensorflow:latest-gpu-py3
只有 Jupyter 可用,tensorboard 无法从端口 6006 访问。
我今天遇到了同样的问题。
简短回答:我假设您对 Jupyter Notebook 和张量板使用相同的容器。因此,正如您所写,您可以使用以下命令部署容器:
nvidia-docker run -d --name tensor -e PASSWORD='winrar'\
-p 8888:8888 -p 6006:6006 gcr.io/tensorflow/tensorflow:latest-gpu-py3
现在你可以同时访问8888和6006端口,但首先你需要初始化tensorboard:
docker exec -it tensor bash
tensorboard --logdir /root/logs
关于另一个选项:运行 不同容器中的 jupyter 和 tensorboard。如果你在不同的容器中安装相同的目录时遇到问题(过去有一个错误),从 Docker 1.9 开始你可以创建独立的卷,不链接到特定的容器。这可能是一个解决方案。
- 创建两个卷来存储日志和笔记本。
- 使用这些卷部署两个映像。
docker volume create --name notebooks
docker volume create --name logs
nvidia-docker run \
--name jupyter \
-d \
-v notebooks:/root/notebooks \
-v logs:/root/logs \
-e "PASSWORD=*****" \
-p 8888:8888 \
tensorflow/tensorflow:latest-gpu
nvidia-docker run \
--name tensorboard \
-d \
-v logs:/root/logs \
-p 6006:6006 \
tensorflow/tensorflow:latest-gpu \
tensorboard --logdir /root/logs
作为替代方案,您还可以使用 ML Workspace Docker 图像。 ML Workspace 是一个网络 IDE,它将 Jupyter、TensorBoard、VS Code 和许多其他工具和库组合到一个方便的 Docker 图像中。部署单个工作区实例非常简单:
docker run -p 8080:8080 mltooling/ml-workspace:latest
所有工具都可以从同一个端口访问。您可以找到有关如何访问 TensorBoard here.
的信息
我开始学习如何使用 TensorFlow 进行机器学习。并发现 docker 非常方便将 TensorFlow 部署到我的机器上。但是,我能找到的示例不适用于我的目标设置。这是
在ubuntu16.04下os,使用nvidia-docker将jupyter和tensorboard服务一起hos(可以是两个容器或一个容器有两个服务)。从 jupyter 创建的文件应该对 host OS.
可见- Ubuntu 16.04
- Dokcer
- nvidia-docker
- Jupyter
- 张量板
Jupyter 容器
nvidia-docker run \
--name jupyter \
-d \
-v $(pwd)/notebooks:/root/notebooks \
-v $(pwd)/logs:/root/logs \
-e "PASSWORD=*****" \
-p 8888:8888 \
tensorflow/tensorflow:latest-gpu
Tensorboard 容器
nvidia-docker run \
--name tensorboard \
-d \
-v $(pwd)/logs:/root/logs \
-p 6006:6006 \
tensorflow/tensorflow:latest-gpu \
tensorboard --logdir /root/logs
我尝试将日志文件夹挂载到两个容器,并让 Tensorboard 访问 jupyter 的结果。但是坐骑似乎确实起作用了。当我在带有 notebooks 文件夹的 jupyter 容器中创建新文件时,host 文件夹 $(pwd)/notebooks 什么也没有出现。
我也遵循了Nvidia Docker, Jupyter Notebook and Tensorflow GPU
中的说明nvidia-docker run -d -e PASSWORD='winrar' -p 8888:8888 -p 6006:6006 gcr.io/tensorflow/tensorflow:latest-gpu-py3
只有 Jupyter 可用,tensorboard 无法从端口 6006 访问。
我今天遇到了同样的问题。
简短回答:我假设您对 Jupyter Notebook 和张量板使用相同的容器。因此,正如您所写,您可以使用以下命令部署容器:
nvidia-docker run -d --name tensor -e PASSWORD='winrar'\
-p 8888:8888 -p 6006:6006 gcr.io/tensorflow/tensorflow:latest-gpu-py3
现在你可以同时访问8888和6006端口,但首先你需要初始化tensorboard:
docker exec -it tensor bash
tensorboard --logdir /root/logs
关于另一个选项:运行 不同容器中的 jupyter 和 tensorboard。如果你在不同的容器中安装相同的目录时遇到问题(过去有一个错误),从 Docker 1.9 开始你可以创建独立的卷,不链接到特定的容器。这可能是一个解决方案。
- 创建两个卷来存储日志和笔记本。
- 使用这些卷部署两个映像。
docker volume create --name notebooks
docker volume create --name logs
nvidia-docker run \
--name jupyter \
-d \
-v notebooks:/root/notebooks \
-v logs:/root/logs \
-e "PASSWORD=*****" \
-p 8888:8888 \
tensorflow/tensorflow:latest-gpu
nvidia-docker run \
--name tensorboard \
-d \
-v logs:/root/logs \
-p 6006:6006 \
tensorflow/tensorflow:latest-gpu \
tensorboard --logdir /root/logs
作为替代方案,您还可以使用 ML Workspace Docker 图像。 ML Workspace 是一个网络 IDE,它将 Jupyter、TensorBoard、VS Code 和许多其他工具和库组合到一个方便的 Docker 图像中。部署单个工作区实例非常简单:
docker run -p 8080:8080 mltooling/ml-workspace:latest
所有工具都可以从同一个端口访问。您可以找到有关如何访问 TensorBoard here.
的信息