LoginSignup
15
18

More than 5 years have passed since last update.

TensorFlow 0.8 GPU 版を Ubuntu 14.04 にインストール

Last updated at Posted at 2016-04-19

概要

TensorFlow の GPU 版をインストールするときは CUDA, cuDNN のバージョンをしっかりと合わせないと正常に動かない場合があります。TensorFlow 0.8 GPU 版のインストールに成功したので手順をメモしておきます。

環境

  • OS: Ubuntu Server 14.04 LTS (64bit) クリーンインストールし openssh-server のみをインストールした状態
  • GPU: NVIDIA TITAN X

CUDA, cuDNN の入手

CUDA 7.5 と cuDNN v4 をダウンロードして Ubuntu の ~ に配置しておきます。

CUDA 7.5 はこちらからcuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb をダウンロードしてください。

cuDNN v4 はこちらのサイトでアカウントを作成したのちログインし、アンケートをいくつか答えたのちcuDNN v4 Library for Linuxのリンクからcudnn-7.0-linux-x64-v4.0-prod.tgzをダウンロードしてください。

CUDA 7.5 のインストール

$ sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda

cuDNN v4 のインストール

$ tar xvzf cudnn-7.0-linux-x64-v4.0-prod.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"
export CUDA_HOME=/usr/local/cuda

設定を反映させる

$ . ~/.bashrc

TensorFlow のインストール

virtualenv で TensorFlow のインストール先を作成

$ sudo apt-get install python-dev python-virtualenv
$ virtualenv ~/tensorflow-GPU
$ . ~/tensorflow-GPU/bin/activate

TensorFlow をインストール

$ pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl

動作確認

シンプルなサンプルで動作確認を行います。CPU 版と同じ以下のコードを実行します。

$ python
...
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow!
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42
>>>

GPU 版では以下のような出力に変わります。

$ python
...
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:900] 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_init.cc:102] 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: 12.00GiB
Free memory: 11.87GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:755] 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(32)
>>> print(sess.run(a + b))
42

コンソールを新しく立ち上げた場合などは以下のコマンドを実行して TensorFlow を有効にします。

$ . ~/tensorflow-GPU/bin/activate

GPU だとどれくらい速くなるの?

Deep MNIST for Experts を CPU で実行した場合は30分かかりました。 CPU は Intel Core i7-6700K なので速い部類だと思います。しかし TITAN X で実行するとなんと1分30秒に短縮されます。GPU での実行速度は圧倒的という感じです。

15
18
3

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
15
18