Link

Installation Instructions

PlaidML supports Ubuntu, macOS and Microsoft Windows operating systems.

Ubuntu

If necessary, install Python’s pip tool. OpenCL 1.2 or greater is also required.

sudo add-apt-repository universe && sudo apt update
sudo apt install python3-pip
sudo apt install clinfo

Run clinfo, and if it reports "Number of platforms" == 0, you can install a driver (GPU) or enable a CPU via one of these options:

  • Nvidia – For Nvidia GPUs, run:
    sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt update
    sudo apt install nvidia-modprobe nvidia-384 nvidia-opencl-icd-384 libcuda1-384
    
  • AMD – For AMD graphics cards, download the AMDGPU PRO driver and follow the instructions provided by AMD for the chip.

  • Intel® Xeon® Processors OR Intel® Core™ Processors – In lieu of installing specific drivers, you can install nGraph with pip, or you can build the nGraph Library with the cmake flag -DNGRAPH_PLAIDML_ENABLE=TRUE.

Python

Although PlaidML can be run with Python2, we recommend Python3, as well as judicious use of a Virtualenv. To create one just for using PlaidML:

python3 -m venv plaidml-venv
source plaidml-venv/bin/activate

Keras

There are two ways to get Keras working on your system:

  1. Isolate it to your venv as follows:
    pip install -U plaidml-keras
    
  2. Alternatively, install the PlaidML wheels system-wide with:
    sudo -H pip install -U plaidml-keras
    

Finally, set up PlaidML to use a preferred computing device:

plaidml-setup

You can test the installation by running MobileNet in plaidbench. Remember to use sudo -H if you’re working outside of a virtual environment.

pip install plaidml-keras plaidbench
plaidbench keras mobilenet

You can adapt any Keras code by using the PlaidML backend instead of the TensorFlow, CNTK, or Theano backend that you’d normally use; simply change the Keras backend to plaidml.keras.backend. You can do this by modifying ~/.keras/keras.json so that the backend line reads "backend": "plaidml.keras.backend" If this file does not exist, see the Backend instructions for Keras. If you don’t need anything special in your Keras settings, you can set the ~/.keras/keras.json as follows:

{
   "epsilon": 1e-07,
   "floatx": "float32",
   "image_data_format": "channels_last",
   "backend": "plaidml.keras.backend"
}

Another option is to globally set the KERAS_BACKEND environment variable to plaidml.keras.backend.

A monkey-patch technique involving plaidml.keras.install_backend() may still work, but should be considered deprecated in favor of the above methods.

macOS

A computer listed on Apple’s compatibility list with support for OpenCL 1.2 is required; those from 2011 and later usually fit this requirement.

Python

Although PlaidML can be run with Python2, we recommend Python3, as well as judicious use of a Virtualenv. To create one just for using PlaidML:

python3 -m venv plaidml-venv
source plaidml-venv/bin/activate

Keras

To install PlaidML with Keras, run the following:

pip install -U plaidml-keras

Finally, set up PlaidML to use a preferred computing device:

plaidml-setup

PlaidML should now be installed! You can test the installation by running MobileNet in plaidbench.

pip install plaidml-keras plaidbench
plaidbench keras mobilenet

Windows

These instructions assume Windows 10 without Python installed; adapt accordingly.

  1. First install Chocolatey by starting an Administrator PowerShell and running:
    Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
    

    You’ll likely need to reboot your shell at this point.

  2. Install Python:
    choco install -y python git vcredist2015
    
  3. Switch to an unprivileged PowerShell to install and set up PlaidML with Keras
    pip install -U plaidml-keras
    plaidml-setup
    

PlaidML should now be installed! You can test the installation by running MobileNet in plaidbench.

pip install plaidml-keras plaidbench
plaidbench keras mobilenet