LoginSignup
14
13

More than 5 years have passed since last update.

TensorFlow GPU インストール手順 - 2016年12月13日版

Last updated at Posted at 2016-12-14

久しぶりに TensorFlow GPU 版をセットアップしたら簡単になっていたのでメモっておきます。なお、これは2016年12月13日に行った方法なので日付が変わると手順が変わるかもしれません。

セットアップ環境

  • OS: Ubuntu 16.04 Desktop (デュアルブートで Windows 10)
  • GPU: TITAN X (Maxwell)
  • TensoeFlow: 0.12
  • CUDA: 8.0
  • cuDNN: 5.1

少し話がそれますが、ディープラーニングで使う高性能なGPUを持っていると最新の3Dゲームが遊びたくなると思います。その場合には、まず PC に Windows 10 をインストールし、その後で Ubuntu 16.04 Desktop をインストールすると簡単にデュアルブート環境が作れます。キモは Ubuntu 16.04 Server でもなく、Ubuntu 14.04 Desktop でもなく、Ubuntu 16.04 Desktop を使い、かつ日本語版をインストールする事です。英語版だと少しやっかいな作業が必要になると思います。興味があれは調べてみてください。

Ubuntu を更新

Ubuntu 16.04 Desktop をインストールしただけの状態から説明します。まずは ubuntu を更新します。

$ sudo apt-get update
$ sudo apt-get upgrade

CUDA のインストール

CUDA Toolkit 8.0 をインストールします。

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.44-1_amd64.debsudo dpkg -i cuda-repo-ubuntu1604_8.0.44-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

cuDNN のインストール

cuDNN のインストールだけはまだまだ大変です。

こちらのサイトに登録し(登録完了まで何日かかかるかもしれません)、cudnn-8.0-linux-x64-v5.1.tgz をダウンロードしてください。

ダウンロード画面はこのような表示になっています。

cuDNN_Download___NVIDIA_Developer.jpg

ファイルをDLして展開して適切な場所にコピーします。

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*

ファイルにパスを通しすため .bashrc の末尾に以下を書き足します。

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda

設定を反映させるコマンドを実行します。

$ . .bashrc

TensorFlow のインストール

$ sudo apt-get install python-pip python-dev
$ pip install tensorflow-gpu

インストールされたか確認します。

$ pip freeze
funcsigs==1.0.2
mock==2.0.0
numpy==1.11.2
pbr==1.10.0
pkg-resources==0.0.0
protobuf==3.1.0
six==1.10.0
tensorflow-gpu==0.12.0rc1

tensorflow-gpu==0.12.0rc1 がインストールされたようです。

TensorFlow の動作チェック

コマンドとコードを打ち込みこのように表示されれば問題なく動いていると思います。

$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.so locally
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:937] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: GeForce GTX TITAN X
major: 5 minor: 2 memoryClockRate (GHz) 1.076
pciBusID 0000:01:00.0
Total memory: 11.92GiB
Free memory: 11.81GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX TITAN X, pci bus id: 0000:01:00.0)
>>> print(sess.run(hello))
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(16)
>>> print(sess.run(a + b))
26
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42

おわりに

CUDA と cuDNN のインストールはまだ熟れてないのでもっと簡単にして欲しい!みんながんばれ!

14
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
13