/deepo

A Docker image containing almost all popular deep learning frameworks: theano, tensorflow, sonnet, pytorch, keras, lasagne, mxnet, cntk, chainer, caffe, torch.

MIT LicenseMIT

deepo

CircleCI license

Deepo is a Docker image with a full reproducible deep learning research environment. It contains most popular deep learning frameworks: theano, tensorflow, sonnet, pytorch, keras, lasagne, mxnet, cntk, chainer, caffe, torch.

This is a fork of ufoym/deepo, built on python 3.6 instead of 3.5 and with some updated frameworks.


Step 1. Install Docker and nvidia-docker.

Step 2. Obtain the Deepo image

You can either directly download the image from Docker Hub, or build the image yourself.

Option 1: Get the image from Docker Hub (recommended)
docker pull tfriedel/deepo
Option 2: Build the Docker image locally
git clone https://github.com/tfriedel/deepo.git
cd deepo && docker build -t tfriedel/deepo .

Note that this may take several hours as it compiles a few libraries from scratch.

Now you can try this command:

nvidia-docker run --rm tfriedel/deepo nvidia-smi

This should work and enables Deepo to use the GPU from inside a docker container. If this does not work, search the issues section on the nvidia-docker GitHub -- many solutions are already documented. To get an interactive shell to a container that will not be automatically deleted after you exit do

nvidia-docker run -it tfriedel/deepo bash

If you want to share your data and configurations between the host (your machine or VM) and the container in which you are using Deepo, use the -v option, e.g.

nvidia-docker run -it -v /host/data:/data -v /host/config:/config tfriedel/deepo bash

This will make /host/data from the host visible as /data in the container, and /host/config as /config. Such isolation reduces the chances of your containerized experiments overwriting or using wrong data.

You are now ready to begin your journey.

tensorflow

$ python

>>> import tensorflow
>>> print(tensorflow.__name__, tensorflow.__version__)
tensorflow 1.4.0

sonnet

$ python

>>> import sonnet
>>> print(sonnet.__name__, sonnet.__path__)
sonnet ['/usr/local/lib/python3.6/dist-packages/sonnet']

pytorch

$ python

>>> import torch
>>> print(torch.__name__, torch.__version__)
torch 0.2.0_3

keras

$ python

>>> import keras
>>> print(keras.__name__, keras.__version__)
keras 2.1.1

mxnet

$ python

>>> import mxnet
>>> print(mxnet.__name__, mxnet.__version__)
mxnet 0.12.0

cntk

$ python

>>> import cntk
>>> print(cntk.__name__, cntk.__version__)
cntk 2.2

chainer

$ python

>>> import chainer
>>> print(chainer.__name__, chainer.__version__)
chainer 3.0.0

theano

$ python

>>> import theano
>>> print(theano.__name__, theano.__version__)
theano 1.0.0rc1+11.ge47f1c9

lasagne

$ python

>>> import lasagne
>>> print(lasagne.__name__, lasagne.__version__)
lasagne 0.2.dev1

caffe

$ python

>>> import caffe
>>> print(caffe.__name__, caffe.__version__)
caffe 1.0.0

$ caffe --version

caffe version 1.0.0

torch

$ th

 │  ______             __   |  Torch7
 │ /_  __/__  ________/ /   |  Scientific computing for Lua.
 │  / / / _ \/ __/ __/ _ \  |  Type ? for help
 │ /_/  \___/_/  \__/_//_/  |  https://github.com/torch
 │                          |  http://torch.ch
 │
 │th>
. modern-deep-learning dl-docker jupyter-deeplearning Deepo
ubuntu 16.04 14.04 14.04 16.04
cuda 8.0 6.5-8.0 8.0
cudnn v5 v2-5 v6
theano ✔️ ✔️ ✔️
tensorflow ✔️ ✔️ ✔️ ✔️
sonnet ✔️
pytorch ✔️
keras ✔️ ✔️ ✔️ ✔️
lasagne ✔️ ✔️ ✔️
mxnet ✔️
cntk ✔️
chainer ✔️
caffe ✔️ ✔️ ✔️ ✔️
torch ✔️ ✔️ ✔️

Deepo is MIT licensed.