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 support
と GPU support
は y
で
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のサンプルも実行できた