GithubHelp home page GithubHelp logo

guojinxiang / deepo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ufoym/deepo

1.0 1.0 0.0 24 KB

A series of Docker images (and their generator) that allows you to quickly set up your deep learning research environment.

Home Page: https://hub.docker.com/r/ufoym/deepo

License: MIT License

Python 91.77% Shell 8.23%

deepo's Introduction

deepo

CircleCI docker license

Deepo is a series of Docker images that

and their Dockerfile generator that

  • allows you to customize your own environment with Lego-like modules
  • automatically resolves the dependencies for you

Table of contents


Step 1. Install Docker and nvidia-docker.

Step 2. Obtain the all-in-one image from Docker Hub

docker pull ufoym/deepo

Now you can try this command:

nvidia-docker run --rm ufoym/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 ufoym/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 ufoym/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.

Please note that some frameworks (e.g. PyTorch) use shared memory to share data between processes, so if multiprocessing is used the default shared memory segment size that container runs with is not enough, and you should increase shared memory size either with --ipc=host or --shm-size command line options to nvidia-docker run.

nvidia-docker run -it --ipc=host ufoym/deepo bash

You are now ready to begin your journey.

$ 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>

Note that docker pull ufoym/deepo mentioned in Quick Start will give you a standard image containing all available deep learning frameworks. You can customize your own environment as well.

If you prefer a specific framework rather than an all-in-one image, just append a tag with the name of the framework. Take tensorflow for example:

docker pull ufoym/deepo:tensorflow

Note that all python-related images use Python 3.6 by default. If you are unhappy with Python 3.6, you can also specify other python versions:

docker pull ufoym/deepo:py27
docker pull ufoym/deepo:tensorflow-py27

Currently, we support Python 2.7 and Python 3.6.

See https://hub.docker.com/r/ufoym/deepo/tags/ for a complete list of all available tags. These pre-built images are all built from docker/Dockerfile.* and circle.yml. See How to generate docker/Dockerfile.* and circle.yml if you are interested in how these files are generated.

Step 1. prepare generator

git clone https://github.com/ufoym/deepo.git
cd deepo/generator
pip install -r requirements.txt

Step 2. generate your customized Dockerfile

For example, if you like pytorch and lasagne, then

python generate.py Dockerfile pytorch lasagne

This should generate a Dockerfile that contains everything for building pytorch and lasagne. Note that the generator can handle automatic dependency processing and topologically sort the lists. So you don't need to worry about missing dependencies and the list order.

You can also specify the version of Python:

python generate.py Dockerfile pytorch lasagne python==3.6

Step 3. build your Dockerfile

docker build -t my/deepo .

This may take several minutes as it compiles a few libraries from scratch.

. 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 ✔️ ✔️ ✔️

We appreciate all contributions. If you are planning to contribute back bug-fixes, please do so without any further discussion. If you plan to contribute new features, utility functions or extensions, please first open an issue and discuss the feature with us.

Deepo is MIT licensed.

deepo's People

Contributors

ufoym avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.