LoginSignup
29
25

More than 5 years have passed since last update.

GTX-1080でTensorFlow

Last updated at Posted at 2016-07-15

GTX-1080を入手したものの、pip でインストールしたTensorFlowでは使えないとのこと
四苦八苦したのでメモ
Pythonの経験がまだ半年程度なのでインストール周りで無駄が多そう...

環境

Ubuntu 16.04
Python 3.5.2

Nvidiaのドライバが入ってないからかDVDブートだと画面が表示されなかったので、GTX-1080を取り外してインストール
Ubuntuのインストールが終わったらGTX-1080を取り付けて起動しSSHで接続した

Nvidiaドライバーのインストール

GTX-1080 など GeForce を Ubuntu 16.04 LTS で CUDA-8.0RC と共に使う
をがっつり参考にさせてもらってインストール
とりあえず、
まずは Ubuntu 16.04LTS で nVIDIA GeForce を使う一般設定から
だけを行った

これで、ようやくGTX-1080出力の画面が映るようになった

CUDAのインストール

https://developer.nvidia.com/cuda-toolkit
このサイトの CUDA Toolkit 8 RC Now Available
をクリック

Linux -> x86_64 -> Ubuntu -> 16.04 -> deb(local)
を選んでダウンロード
表示されたコマンド通りに実行してインストール

cuDNNのインストール

https://developer.nvidia.com/cudnn
ここのDownloadをクリック
cuDNN Download Survey はスルーしてページ下部の Proceed To Downloads をクリック
I Agree To.. にチェックして
Download cuDNN v5.1 (August 10, 2016), for CUDA 8.0 の中の
cuDNN v5.1 Library for Linux をクリックしてダウンロードする
TensorFlowのチュートリアルを参考にしつつ

$ tar xvzf cudnn-8.0-linux-x64-v5.0-ga.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/include/cudnn.h  /usr/local/cuda/lib64/libcudnn*

CUDAのパス設定

$ echo 'export CUDA_ROOT=/usr/local/cuda' >> ~/.bash_profile
$ echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bash_profile
$ echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH' >> ~/.bash_profile
$ echo 'export CPATH=/usr/local/cuda/include:$CPATH' >> ~/.bash_profile

*追記
akinorihommaさんにご指摘いただきました。
上記コードがecho ... > ... で上書きになってました。
修正依頼を反映しております。申し訳ございませんでした。

Nvidiaドライバーの再インストール

CUDAをインストールしたらGUIでログインできなくなった(どうやらドライバのせいらしい)ので再インストールする

$ sudo apt-get install nvidia-367 --reinstall
$ sudo reboot

Bazelのインストール

TensorFlowをビルドするためにBazelをインストールする
http://www.bazel.io/docs/install.html
このマニュアル通りに行う

Pythonのインストール

Pythonはpyenvを使ってインストールした
pyenvでのインストールは文献がたくさんあるので省略

TensorFlowのビルド

まずはリポジトリをクローンしてくる

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

マニュアル通りに依存関係をインストール
pyenvの場合はどうなるのだろうと思いながら...

$ sudo apt-get install python3-numpy swig python3-dev python3-wheel

特に記述はなかったように思うけど、gccのバージョンが5.3以上だとビルドエラーを起こしたので4.9をインストールしておく

$ sudo apt-get install gcc-4.9
$ sudo apt-get install g++-4.9
$ sudo apt-get install libstdc++6-4.9-dbg

クローンしてきたディレクトリに移動

$ cd ~/tensorflow

pyenvのバージョン指定

$ pyenv local YOUR_VERSION

*追記
YusukeSuzuki@githubさんのコメントより、pyenvの設定を行わないとビルド結果が正しくないようなので、
pyenvで用いるバージョンを設定してください。
ご指摘ありがとうございました。

ビルドの設定を行う

$ ./configure

Google Cloud Platform supportGPU supporty
gccはさっきインストールした4.9を指定する/usr/bin/gcc-4.9
それ以外はEnter連打。

設定ができたらさっそくビルド

$ bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

これで/tmp/tensorflow_pkg.whlファイルが生成されてた

ということでpip install

$ pip install /tmp/tensorflow_pkg/tensorflow-0.9.0-py3-none-any.whl

これでmnistのサンプルも実行できた

29
25
2

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
29
25