Deepo是一系列 Docker镜像
和他们的Dockerfile生成器
. | GPU / Python 3.6 | GPU / Python 2.7 | CPU-only / Python 3.6 | CPU-only / Python 2.7 |
---|---|---|---|---|
all-in-one | all-py36 all py36 latest |
all-py27 py27 |
all-py36-cpu all-cpu py36-cpu cpu |
all-py27-cpu py27-cpu |
all-in-one with jupyter | all-py36-jupyter py36-jupyter |
all-py27-jupyter py27-jupyter |
all-py36-jupyter-cpu py36-jupyter-cpu |
all-py27-jupyter-cpu py27-jupyter-cpu |
theano | theano-py36 theano |
theano-py27 |
theano-py36-cpu theano-cpu |
theano-py27-cpu |
tensorflow | tensorflow-py36 tensorflow |
tensorflow-py27 |
tensorflow-py36-cpu tensorflow-cpu |
tensorflow-py27-cpu |
sonnet | sonnet-py36 sonnet |
sonnet-py27 |
sonnet-py36-cpu sonnet-cpu |
sonnet-py27-cpu |
pytorch | pytorch-py36 pytorch |
pytorch-py27 |
pytorch-py36 pytorch |
pytorch-py27 |
keras | keras-py36 keras |
keras-py27 |
keras-py36-cpu keras-cpu |
keras-py27-cpu |
lasagne | lasagne-py36 lasagne |
lasagne-py27 |
lasagne-py36-cpu lasagne-cpu |
lasagne-py27-cpu |
mxnet | mxnet-py36 mxnet |
mxnet-py27 |
mxnet-py36-cpu mxnet-cpu |
mxnet-py27-cpu |
cntk | cntk-py36 cntk |
cntk-py27 |
cntk-py36-cpu cntk-cpu |
cntk-py27-cpu |
chainer | chainer-py36 chainer |
chainer-py27 |
chainer-py36-cpu chainer-cpu |
chainer-py27-cpu |
caffe | caffe-py36 caffe |
caffe-py27 |
caffe-py36-cpu caffe-cpu |
caffe-py27-cpu |
torch | torch |
torch |
torch-cpu |
torch-cpu |
步骤1.安装Docker和nvidia-docker。
步骤2.从Docker Hub获取一体化镜像
docker pull ufoym/deepo
现在您可以尝试以下命令:
nvidia-docker run --rm ufoym/deepo nvidia-smi
这应该可以工作,并使Deepo能够从docker容器内部使用GPU。
如果这不起作用,请搜索nvidia-docker GitHub上的问题部分 - 已经记录了许多解决方案。要将交互式shell发送到退出do后不会自动删除的容器
nvidia-docker run -it ufoym/deepo bash
如果要在主机(计算机或VM)与使用Deepo的容器之间共享数据和配置,请使用-v选项,例如
nvidia-docker run -it -v /host/data:/data -v /host/config:/config ufoym/deepo bash
这将使/host/data
主机/data
在容器中可见,并且/host/config
如同/config
。这种隔离降低了容器化实验覆盖或使用错误数据的机会。
请注意,某些框架(例如PyTorch)使用共享内存在进程之间共享数据,因此如果使用多处理,容器运行的默认共享内存段大小是不够的,您应该使用--ipc=host
或--shm-size
命令行选项增加共享内存大小到nvidia-docker run
。
nvidia-docker run -it --ipc=host ufoym/deepo bash
步骤1.安装Docker。
步骤2.从Docker Hub获取一体化镜像
docker pull ufoym/deepo:cpu
现在您可以尝试以下命令:
docker run -it ufoym/deepo:cpu bash
如果要在主机(计算机或VM)与使用Deepo的容器之间共享数据和配置,请使用-v选项,例如
docker run -it -v /host/data:/data -v /host/config:/config ufoym/deepo:cpu bash
这将使/host/data
主机/data
在容器中可见,并且/host/config
如同/config
。这种隔离降低了容器化实验覆盖或使用错误数据的机会。
请注意,某些框架(例如PyTorch)使用共享内存在进程之间共享数据,因此如果使用多处理,容器运行的默认共享内存段大小是不够的,您应该使用--ipc=host
或--shm-size
命令行选项增加共享内存大小到docker run
。
docker run -it --ipc=host ufoym/deepo:cpu bash
您现在已准备好开始您的旅程。
$ python
>>> import tensorflow
>>> import sonnet
>>> import torch
>>> import keras
>>> import mxnet
>>> import cntk
>>> import chainer
>>> import theano
>>> import lasagne
>>> import caffe
$ caffe --version
caffe version 1.0.0
$ th
│ ______ __ | Torch7
│ /_ __/__ ________/ / | Scientific computing for Lua.
│ / / / _ \/ __/ __/ _ \ | Type ? for help
│ /_/ \___/_/ \__/_//_/ | https://github.com/torch
│ | http://torch.ch
│
│th>
请注意,“ 快速入门”中docker pull ufoym/deepo
提到的将为您提供包含所有可用深度学习框架的标准镜像。您也可以自定义自己的环境。
如果您更喜欢特定的框架而不是一体化的镜像,只需附加一个带有框架名称的标签。
以tensorflow为例:
docker pull ufoym/deepo:tensorflow
请注意,Python 3.6
默认情况下所有与python相关的镜像都使用。如果您不满意Python 3.6
,还可以指定其他python版本:
docker pull ufoym/deepo:py27
docker pull ufoym/deepo:tensorflow-py27
目前,我们支持Python 2.7
和Python 3.6
。
有关所有可用标记的完整列表,请参阅可用标记。这些预先构建的镜像都是由docker/Dockerfile.*
和构建的circle.yml
。请参阅如何生成docker/Dockerfile.*
和circle.yml
如果你有兴趣在这些文件是如何生成的。
步骤1.使用jupyter支持拉动镜像
docker pull ufoym/deepo:all-py36-jupyter
请注意,标签可以任意的all-py36-jupyter
,py36-jupyter
,all-py27-jupyter
,或py27-jupyter
。
第2步。运行镜像
nvidia-docker run -it -p 8888:8888 ufoym/deepo:all-py36-jupyter jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --notebook-dir='/root'
步骤1.准备发电机
git clone https://github.com/ufoym/deepo.git
cd deepo/generator
pip install -r requirements.txt
第2步。生成自定义的Dockerfile
例如,如果你喜欢pytorch
和lasagne
,然后
python generate.py Dockerfile pytorch lasagne
这应该生成一个Dockerfile,其中包含构建pytorch
和的所有内容lasagne
。请注意,生成器可以处理自动依赖关系处理并对列表进行拓扑排序。因此,您无需担心缺少依赖项和列表顺序。
您还可以指定Python的版本:
python generate.py Dockerfile pytorch lasagne python==3.6
第3步。构建您的Dockerfile
docker build -t my/deepo .
这可能需要几分钟,因为它从头开始编译一些库。
我们感谢所有的贡献。如果您计划回复错误修复,请不要进一步讨论。如果您计划提供新功能,实用程序功能或扩展,请首先打开一个问题并与我们讨论该功能。
Deepo 获得MIT许可。