我开始学习如何使用TensorFlow进行机器学习。发现docker在我的机器上部署TensorFlow非常方便。然而,我能找到的例子对我的目标设定不起作用。那是
在ubuntu16.04操作系统下,使用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
张力板容器
nvidia-docker run \
--name tensorboard \
-d \
-v $(pwd)/logs:/root/logs \
-p 6006:6006 \
tensorflow/tensorflow:latest-gpu \
tensorboard --logdir /root/logs
我尝试将logs文件夹装载到这两个容器中,并让Tensorboard访问jupyter的结果。但这座山似乎起了作用。当我在带有笔记本文件夹的jupyter容器中创建新文件时,主机文件夹$(pwd)/笔记本只会显示为空。
我还遵循了Nvidia Docker、Jupyter笔记本和Tensorflow GPU中的说明
nvidia-docker run -d -e PASSWORD='winrar' -p 8888:8888 -p 6006:6006 gcr.io/tensorflow/tensorflow:latest-gpu-py3
只有Jupyter工作,张板无法从6006端口到达。
作为替代方案,您还可以使用ML Workspace Docker映像。ML工作区是一个web IDE,它结合了Jupyter、TensorBoard、VS代码和许多其他工具
docker run -p 8080:8080 mltooling/ml-workspace:latest
所有工具都可以从同一端口访问。您可以在这里找到有关如何访问TensorBoard的信息。
我今天也面临同样的问题。
简短的回答:我将假设您使用相同的容器为Jupyter笔记本和单板。因此,正如您所写的,您可以通过以下方式部署容器:
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。如果在不同的容器中装载相同的目录时遇到问题(过去有一个bug),自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
Jupyter 是个好东西,提供了简单易用的 web REPL 环境,并且可以根据工作语言选配不同的 kernel 提供不同的功能。但是,由于常常用作测试所用,因此对于我这样的“洁癖患者”来说,保持后台常驻和环境清洁实在是非常终于,于是我想到了 docker,实在是 Jupter 运行容器的不二之选。 本来打算自己定制一个的,不过一番搜索后发现官方提供了更为详细和成熟的 docker 镜像,实在是
问题内容: Android Emulator与Hyper-V不兼容,但Docker依赖Hyper-V。 有什么解决方案可以同时运行它们吗? 问题答案: Android模拟器现在可以在Hyper-V上运行。从@tmanolatos答案中, 步骤如下: 在开始菜单中搜索以下内容 Turn Windows Features on or off 勾选方块 Windows Hypervisor platfo
我想制作一个易于运行的 jupyter 笔记本,它支持 OpenCV,并作为 Docker 映像提供。 这个概念是让一个 docker 容器运行 jupyter 内核,并通过主机中的浏览器访问笔记本。类似的东西。 但是,问题是OpenCV似乎依赖于正在运行的Gtkenvironment.So尝试运行以下代码: 导致jupyter内核崩溃: 有没有办法绕过这种依赖关系,让在泊坞站容器中运行的Open
我需要在我的docker容器中同时使用java和python来运行一些代码。 我的目标 我必须运行一个运行Java文件的python程序。我使用的python库需要的路径。 我的问题: Python包装器以我需要的方式运行文件。
我很难弄明白这一点。 所以我有一个基于Ubuntu映像的dockerfile。在我的dockerfile的末尾,我有: 什么都没发生..docker ps显示没有正在运行的容器 但如果我跑: 容器开始运行,我在shell中,docker ps显示这个容器正在运行。所有工作都按预期进行,但我的django项目不在那里,我的理解是运行/bin/bash会覆盖dockerfile中的CMD,这意味着dj
docker如何在Debian主机上运行,或者在容器中运行OpenSUSE?它使用不同的内核,具有不同的模块。另外,老版本的Debian使用了老版本的内核,那么如何在3.10+版本的内核上运行它呢?旧的内核只有旧的内置功能,旧的发行版如何管理新的功能?这里面有什么“诀窍”?