Public | Automated Build

Last pushed: 8 months ago
Short Description
Deep learning development with modern tools: Python 3, Tensorflow, Keras, PyTorch, Caffe, OpenCV
Full Description

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)


  • 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


Submit issues and pull requests in the GitHub repo.

Docker Pull Command