PlaidML — A Alternative Open Source Deep Learning library for all GPU’s

Figure 1. PlaidML logo

What is PlaidML?

PlaidML is a multi-language acceleration framework that:

  • Enables practitioners to deploy high-performance neural nets on any device
  • Allows hardware developers to quickly integrate with high-level frameworks
  • Allows framework developers to easily add support for many kinds of hardware
  • Works on all major platforms — Linux, macOS, Windows.
  • Accelerates deep learning on AMD, Intel, NVIDIA, ARM, and embedded GPUs.

PlaidML is developed by was founded in 2015 by Jeremy Bruestle and Choong Ng. The startup has been acquired by Intel and will join the Intel’s Artificial Intelligence Products Group.

Why PlaidML?

Figure 2. PlaidML initial support

I use Keras for training Neural Networks and most of the time I have to do all the training either on google Colab or Kaggle Kernels because I own a laptop with AMD GPU(R9 M375).

So with the help of PlaidML, just adding two lines of code at the starting of my Jupyter Notebook I can use my GPU for training neural networks without using CUDA.

import os
os.environ["KERAS_BACKEND"] = "plaidml.keras.backend"

Experiment and Evaluation

Here I use (only 1 and 10 epochs with no data augmentation) from keras-team on GitHub to conduct the tests. Figure 3 shows the performance of this program on three backends:

  • Tensorflow on Intel i7 5500U
  • PlaidML on Intel HD Graphics 5500
  • PlaidML on AMD Radeon R9 M375
Comparison of PlaidML and Tensorflow
R9 M375 logs

Source: Deep Learning on Medium