Public | Automated Build

Last pushed: 2 months ago
Short Description
Python 3.5, Tensorflow 1.3.0, Caffe, Keras 2.0.8, OpenCV 3.2
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.4.1
  • PyTorch 0.3
  • OpenCV 3.2
  • Jupyter Notebook
  • Numpy, Scipy, Scikit Learn, Scikit Image, Pandas, Matplotlib, Pillow
  • Caffe
  • Keras 2.1.2
  • 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 . I use it in addition to this image in my daily work.

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.

Runing Jupyter Notebook

While inside the Docker container (see previous section) run this command:

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

Then, in your browser navigate to: http://localhost:8888/

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.

Docker Pull Command