2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ubuntu18.04 LTSにTensorflow-GPUをインストールしてMNITサンプルを実行する

Posted at

はじめに

前提条件
・本記事は前記事の続き
前記事にて、GTX1080tiを搭載したPCに、DUCAとcuDNNをインストール済み
今回やること
・Tensorflow-GPUをインストールして、MNISTのサンプルを実行してみる

バージョン
・DUCA9.0
・cuDNN7.4.1
・Tensorflow1.12.0
※Tensorflow-gpuのサポートが、現状ではCUDA9/cuDNN7までであったため
 参考:https://www.tensorflow.org/install/source#common_installation_problems

Tensorflow-GPUのインストール手順

それでは、前記事にてインストールしたCUDAとcuDNNの動作確認として、Tensorflow-GPUでMNISTのサンプルを実行してみたいと思います。
まずはTensorflow-GPUのインストールからです。

pipのインストール

手始めに、pipとpip3をインストールしておきます。

sudo apt-get install python-pip python3-pip

libcupti-devのインストール

どうやらlibcuptiなるものが必要らしいので、これもインストールしておきます。

sudo apt-get install libcupti-dev

仮想環境の構築

venvを使用して、Tensorflow-GPU用の仮想環境を構築します。
ここにTensorflow-GPUをインストールしていきます。

基本は以下のコマンドでOKです。
※この場合はnameという名前のPython3系環境を構築しています。

python3 -m venv <name> 

activateは以下のコマンドで行います。

. <name>/bin/activate

deactivateは以下のコマンドです。

deactivate

Tensorflow-GPUのインストール

先ほど作成した仮想環境に入り、Tensorflow-GPUをインストールします。

. <name>/bin/activate

pip3 install tensorflow-gpu

※途中で「Failed building wheel for ...」なるものが出ましたが、最後は「Successfully」したみたいなので、何とかインストールできたっぽい?(ちなみにsudoだと何も出なかったはず、、、)

インストールできたかどうか、importして確認します。

python

import tensorflow

エラーが表示されなければインストール成功です。

Tensorflow-GPUでGPUが反映されているかチェック

ついでに、GPUが上手く反映されているか、下記のコードを実行することで確認をしてみましょう。

import tensorflow
tensorflow.test.gpu_device_name()

最後の方に「'/device:GPU:0'」が表示されればOKのようです。

また、別の方法として、以下のコードでも検証できます。
参考:https://qiita.com/sabaku20XX/items/7c9a04fdffecee27f163

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

「device_type: "GPU"」があればOKのようです。(CPUだけだとアウト。)

MNISTサンプルの実行手順

次に、Tensorflow-GPU環境下で、tensorflowのMNISTサンプルを実行してみます。

Gitのインストール

tensorflowのMNISTサンプルはGitHubのリポジトリから取得してきます。
よって、Gitがインストールされていない場合、下記コマンドでインストールしておきます。

sudo apt-get install git

GitHubからtensorflowをClone

GitHubより、tensorflowのリポジトリをCloneしてきます。

git clone https://github.com/tensorflow/tensorflow.git

MNISTサンプルのコードを実行

MNISTサンプルがある場所まで移動し、プログラムを実行します。

cd tensorflow/tensorflow/examples/tutorials/mnist
python mnist_with_summaries.py

ここで、自分の環境だと下記のようなエラーが出て止まってしまいました。

Couldn't open CUDA library libcupti.so.9.0 ...

どうやら先ほどインストールしたlibcuptiが上手く参照できていないようなので、下記サイトを参考にパスを通します。(.bashrcの$LD_LIBRARY_PATHを以下のように書き換えます。)
参考:http://hirotaka-hachiya.hatenablog.com/entry/2017/02/28/223844

export $LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:/usr/local/cuda-9.0/extras/CUPTI/lib64$LD_LIBRARY_PATH

※本来はlib64と$の間に:を入れるべきなはずですが、下記コマンドでパスを確認したとき、変な場所に:が入っていたため、:をなくすとイイ感じになりました。

echo $LD_LIBRARY_PATH

以上の方法でパスを通し、再度「mnist_with_summaries.py」を実行すると、エラーで止まらず無事にプログラムが終了しました。

GPUのパフォーマンスチェック

最後に、GPUのパフォーマンスをチェックするコードを公開されている方がいたため、参考に乗せておきます。
参考:https://www.kaggle.com/getting-started/47096#post271139

このプログラムを実行した結果、CPUよりもGPUの方が速いことが確認できました。

以上で、Tensorflow-GPUのインストールとMNISTサンプルを用いた動作テストは終了です。
お疲れ様でした!

2
5
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
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?