
Deepo是一系列 Docker镜像
- 可让您快速设置深度学习研究环境
- 支持几乎所有常用的深度学习框架
- 支持GPU加速(包括CUDA和cuDNN),也适用于仅CPU模式
- 适用于Linux(CPU版本 / GPU版本),Windows(CPU版本)和OS X(CPU版本)
和他们的Dockerfile生成器
- 允许您使用类似Lego的模块自定义您自己的环境
- 自动为您解析依赖项
目录
Available Tags
| . | GPU / Python 3.6 | GPU / Python 2.7 | CPU-only / Python 3.6 | CPU-only / Python 2.7 |
|---|---|---|---|---|
| all-in-one | all-py36 allpy36 latest | all-py27 py27 | all-py36-cpu all-cpupy36-cpu cpu | all-py27-cpu py27-cpu |
| all-in-one with jupyter | all-py36-jupyterpy36-jupyter | all-py27-jupyterpy27-jupyter | all-py36-jupyter-cpupy36-jupyter-cpu | all-py27-jupyter-cpupy27-jupyter-cpu |
| theano | theano-py36theano | theano-py27 | theano-py36-cputheano-cpu | theano-py27-cpu |
| tensorflow | tensorflow-py36tensorflow | tensorflow-py27 | tensorflow-py36-cputensorflow-cpu | tensorflow-py27-cpu |
| sonnet | sonnet-py36sonnet | sonnet-py27 | sonnet-py36-cpusonnet-cpu | sonnet-py27-cpu |
| pytorch | pytorch-py36pytorch | pytorch-py27 | pytorch-py36 pytorch | pytorch-py27 |
| keras | keras-py36keras | keras-py27 | keras-py36-cpukeras-cpu | keras-py27-cpu |
| lasagne | lasagne-py36lasagne | lasagne-py27 | lasagne-py36-cpulasagne-cpu | lasagne-py27-cpu |
| mxnet | mxnet-py36mxnet | mxnet-py27 | mxnet-py36-cpumxnet-cpu | mxnet-py27-cpu |
| cntk | cntk-py36 cntk | cntk-py27 | cntk-py36-cpu cntk-cpu | cntk-py27-cpu |
| chainer | chainer-py36chainer | chainer-py27 | chainer-py36-cpuchainer-cpu | chainer-py27-cpu |
| caffe | caffe-py36caffe | caffe-py27 | caffe-py36-cpucaffe-cpu | caffe-py27-cpu |
| torch | torch | torch | torch-cpu | torch-cpu |
快速开始
GPU版本
安装
步骤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
CPU版本
安装
步骤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版本
请注意,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如果你有兴趣在这些文件是如何生成的。
Jupyter的支持
步骤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'
使用类似Lego的模块构建您自己的自定义镜像
步骤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许可。
522

被折叠的 条评论
为什么被折叠?



