Coder Social home page Coder Social logo

modern-deep-learning-docker's Introduction

Modern Deep Learning Docker Image

This is a modern environment for building deep learning applications. It has the latest stable versions of the most common tools and frameworks that you're likely to need.

Keep in mind that this image is big (3GB+). I considered dropping a few tools or creating different images with different toolsets, but I think that'll waste everyone's time. If you're doing deep learning then you probably have a lot of disk space anyway, and you're likely to prefer saving time over disk space.

Included Libraries

  • Ubuntu 16.04 LTS
  • Python 3.5.2
  • Tensorflow 1.6.0
  • Keras 2.1.5
  • PyTorch 0.3.1
  • OpenCV 3.4.1
  • Jupyter Notebook
  • Numpy, Scipy, Scikit Learn, Scikit Image, Pandas, Matplotlib, Pillow
  • Caffe
  • Java JDK
  • PyCocoTools (MS COCO dev kit)

TODO:

  • GPU/CUDA (due to Docker hub time limits, auto builds fail to build this. Suggestions welcome)

If you need to run older models that require Python 2.7 or OpenCV 2.4 then I'd recommend Sai's docker image.

Runing the Docker Image

If you haven't yet, start by installing Docker. Then run this command at your terminal and it will open a bash prompt inside the container.

docker run -it -p 8888:8888 -p 6006:6006 -v ~/:/host waleedka/modern-deep-learning

Note the -v option. It maps your user directory (~/) to /host in the container. Change it if needed. The two -p options expose the ports used by Jupyter Notebook and Tensorboard respectively.

Running Jupyter Notebook

Important: Do not run this on a public server accessible from the Internet. Security features have been disabled in the settings for convenience of local development.

While inside the Docker container (see previous section) run this command, then navigate to: http://localhost:8888/

cd /host    # So Jupyter Notebook uses this as it's root
jupyter notebook --allow-root

Alternatively, combine the previous two steps and start Jupyter Notebook without logging into the container:

docker run -it -p 8888:8888 -p 6006:6006 -v ~/:/host waleedka/modern-deep-learning jupyter notebook --allow-root /host

Issues/Suggestions

Submit issues and pull requests in the GitHub repo.

modern-deep-learning-docker's People

Contributors

h3ndrk avatar waleedka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

modern-deep-learning-docker's Issues

No module named 'lmdb'

Any idea why the module is not found?
Or how can I install it myself in docker?
ImportError Traceback (most recent call last)
in ()
8 import cv2
9 from caffe.proto import caffe_pb2
---> 10 import lmdb

ImportError: No module named 'lmdb'

using jupyter in docker but not running in docker environment

I open a demo.ipynb file in docker following the guild but it seems that it still run in local environment.

the code is :

import os
import sys
import random
import math
import numpy as np
import skimage.io
import matplotlib

and I get the error :no module named skimage.io

but I run python3 in docker and import skimage.io, it works

then I install scik-image in my computer's local environment, then run the code again, it works!

How can I make the code in jupyter run in docker ?

Offline network

Can the image be used in offline network. No internet connection.
Is it possible to add pycharm ?

Thanks

How to use this setup?

Hello and thanks for sharing this Docker image.
So, newbie question here:
I've got this image up and running, now how can I run the object recognition against my images?
(ideally, - from the host machine just passing the image as a parameter)

Looking for caffe root path

Hi Thanks for sharing your work , I wanted to insert the caffe root path inside one of my files,But when i ls in the home directoy, nothing shows up.So my question is how do i get the path where caffe is installed.Thanks

FYI, clean and autoremove

RUN apt-get clean && \
apt-get autoremove

While it would be great if this reduced the image size, it has zero effect as it is on a different layer. The only way this would be of use is if it is combined with a RUN command where you are actually installing or updating the repository.

In reality you would need to combine all apt-get update and install commands in a single RUN layer where you then clean up at the end of that single command. Considering this is for research and testing it isn't a big deal. Just figured I would point it out.

Asking Password

Hello Waleedha,

From your modern-deep-learning docker file, when I launch Juypter note book, it is asking me a password??

Using with docker-compose for simplification

If you like using docker-compose, you can add following file to the root of your project:

docker-compose.yml

version: "3"
services:
  mdl:
    image: waleedka/modern-deep-learning
    container_name: modern-ml
    volumes:
      - ./:/host
    ports:
      - "8888:8888"
      - "6006:6006"

Mind that project root will be mapped into /host folder instead of entire home dir.

To log into container use:
docker-compose run mdl

Weird Issue with Docker Image and tensorflow log

Hi,

I think that due to new versions of tensorflow being added since this was developed, some problems are happening with the requirements when I use the docker image:

I get the following " AttributeError: module 'tensorflow' has no attribute 'log' ".

Could you please consider locking down the requirements to specific versions to avoid these issues?

Thanks a bunch <3 this repo is awesome

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.