Deep Learning on GPUs without the Environment Setup

AWSdeep learninggpu

We have seen an explosion of interest among data scientists who want to use GPUs for training deep learning models. While the libraries to support this (e.g., keras, TensorFlow, etc) have become very powerful, data scientists are still plagued with configuration issues that limit their productivity.

For example, a recent post on the keras blog describes how to use keras on AWS—it's nine steps, many of which involve DevOps work such as setting up port forwarding. And if you aren't using the deep learning AMI, you'll need to install GPU drivers, properly configure packages to recognize the GPU device, and deal with a number of other technical details.

Domino combines infrastructure automation (e.g., spinning up EC2 machines, including GPUs) seamlessly with "environment configuration" via Docker, letting users build and share reusable computing environments with configuration already setup. We recently built and shared an environment with common GPU tools installed and properly configured, so they will work seamlessly on AWS GPU hardware.

With this change, using the latest deep learning packages with GPUs is just two steps on Domino:

  1. Select a GPU hardware tier.
  2. Select an environment that supports GPU processing.

Here's what that looks like:

Domino lets you easily scale your machine all the way up to Amazon's powerful P2 instances, which boast of being capable of up to 70 teraflops of single precision floating point performance!

In order for your deep learning package to take advantage of the GPU hardware that it's running on, you have to configure and build the environment correctly. Instead of reading through the documentation on how to install CUDA, cuDNN, and finally your favorite deep learning library, Domino makes it easy to build your custom environment once and easily share that environment.

To make it easy for our cloud users to use GPUs, we made available a public environment called "[Domino Managed] GPU Tools." If you want to use GPUs with either Theano, Tensorflow (with or without Keras), or Neon, feel free to use that environment and skip the setup.

If you're new to deep learning or still learning the Domino platform, we recently published a few Domino projects that use GPUs and deep learning libraries to train an LSTM model. The demos in these projects use the IMDB dataset to train LSTM models that predict sentiment of movie reviews from the text of the review.

  1. Nervana Neon
  2. Theano
  3. TensorFlow

Feel free to make a fork of the projects, experiment, and explore the new world of deep learning with GPUs on your own. Enjoy!