1. GPUインスタンスを作る
オフィシャルドキュメントに沿って作るもよし、Cloud Consoleから作るもよし。GPUが使えるゾーンには現時点(2017/03/14)では制限があるので気を付ける。
OSの選択は気を付ける。GPU(NVIDIAのCUDA)がサポートしているOSにする。
また、各OS毎にCUDAツールキットのインストール方法が異なるので、気を付ける。
私はUbuntu 16.10のOSを選択。
1.1 CUDA Toolkit 8.0をインストールする
インスタンスが生成されたらSSHとかでログインして下記のスクリプトを実行する。これでCUDA Toolkit 8.0がインストールされる。
#!/bin/bash echo "Checking for CUDA and installing." # Check for CUDA and try to install. if ! dpkg-query -W cuda; then # The 16.04 installer works with 16.10. curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb dpkg -i ./cuda-repo-ubuntu1604_8.0.61-1_amd64.deb apt-get update apt-get install cuda -y fi
他(バージョンも含めて)のOSの場合、インストールスクリプトが異なるので、オフィシャルドキュメントを参考にして下さい。
2. GPUの動作確認
nvidia-smiを使ってGPUが認識しているかを確認する。$ nvidia-smi Tue Mar 14 01:56:30 2017 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 375.26 Driver Version: 375.26 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla K80 Off | 0000:00:04.0 Off | 0 | | N/A 35C P8 27W / 149W | 13MiB / 11439MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 2145 G /usr/lib/xorg/Xorg 13MiB | +-----------------------------------------------------------------------------+
コノような内容がコンソールに表示されたらGPU(0番デバイスにTesla K80)が認識されている。
3. cuDNNを追加
すでにドライバとCUDA Toolkitがインストールされているので次に、TensorFlowを動くようにする。cuDNNはNVIDIAから取得できるが、アカウント登録が必要になるため、コチラから登録する。連絡がくるまで1日要することもあるので、お早めに。
アカウントがあれば先のURLのDownloadボタンから、必要なcudnnライブラリをダウンロードする。
今回の例だと、CUDA 8.0とLinuxの条件に当てはまる「cuDNN v5.1 Library for Linux」が適切。
.tgz形式のファイルがダウンロードできるので、それを展開して、適切な場所にコピーしてインストール完了。
$ tar zxvf cudnn-8.0-linux-x64-v5.1.tgz $ sudo cp ./cuda/include/cudnn.h /usr/local/cuda/include $ sudo cp ./cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
4. CUDA Compute Capabilityをインストール
$ sudo apt-get install libcupti-dev
5. TFをインストール
TFのインストールも簡単になったものです。下記コマンド1つでインストールできます。Python2.7とPython3系ではインストール方法が異なるので気をつけて下さい。
TFはまだバージョン更新が激しいのでvirtualenvを作っておくと幸せになれると思います。
$ mkdir tf && cd tf $ virtualenv --system-site-packages .venv $ source .venv/bin/activate (.venv)$ pip install --upgrade tensorflow-gpu
もし、CPUバージョンのTFをインストールしたいならtensorflow-gpuをtensorflowにして下さい。
Python3系を利用している場合はpipをpip3にして下さい。
これでインストールが完了しました。
5.1 動作確認
$ python >>> import tensorflow as tf >>> sess = tf.Session()
これでErrorが表示されなければ(Warningは表示されます)正常動作しています。