windows版Tensorflowは、Python3の制約があり何かと使いにくいので、LinuxにPython2.7系のTensorflow v1.0.0をインストールすることにした。
https://www.tensorflow.org/install/install_linux
GPUサポートでTensorflowをインストールするためには、CUDA8.0とcuDNN5.1が必要なのでインストールする。
1)https://developer.nvidia.com/cuda-downloadsから、Ubuntu14.04のdeb(local)版「cuda-repo-ubuntu1404-8-0-local-ga2_8.0.61-1_amd64.deb」をダウンロードし、次のコマンドを実行してインストールする。
> sudo dpkg -i cuda-repo-ubuntu1404-8-0-local-ga2_8.0.61-1_amd64.deb > sudo apt-get update > sudo apt-get install cuda
2)https://developer.nvidia.com/rdp/cudnn-downloadから、cuDNN v5.1 Library for Linux版「cudnn-8.0-linux-x64-v5.1.tgz」をダウンロードし、次のコマンドを実行してインストールする。
> tar xzvf cudnn-8.0-linux-x64-v5.1.tgz > sudo cp -a cuda/lib64/* /usr/local/cuda-8.0/lib64/ > sudo cp -a cuda/include/* /usr/local/cuda-8.0/include/ > sudo ldconfig
3)libcupti-devをapt-getでインストールする
> sudo apt-get install libcupti-dev
4)native pythonのpipを用いて、tensorflowをインストールしてみる。
まず、pipをインストールする。
> sudo apt-get install python-pip python-dev
次にpipでtensorflowインストールしてみたが、下記のようなエラーがでた。
> pip install tensorflow-gpu Downloading/unpacking tensorflow-gpu Could not find any downloads that satisfy the requirement tensorflow-gpu Cleaning up... No distributions at all found for tensorflow-gpu Storing debug log for failure in /tmp/tmpHAlF_4
tensorflow-gpuが見つからないようだ。直接、tensorflowのパッケージのURLを指定してインストールしてみる。
> sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.0.0-cp27-none-linux_x86_64.whl ... Successfully installed tensorflow-gpu numpy wheel mock protobuf funcsigs pbr setuptools packaging appdirs pyparsing Cleaning up...
無事インストールが出来た。
5)動作確認をする。
まず、最新版のtensorflowのソースを、git cloneする。
> git clone https://github.com/tensorflow/tensorflow.git
そして、MNISTのサンプルコードを実行する。
> cd tensorflow/tensorflow/examples/tutorials/mnist > python mnist_with_summaries.py Accuracy at step 0: 0.1231 Accuracy at step 10: 0.6979 ... Accuracy at step 80: 0.8862 Accuracy at step 90: 0.8999 Couldn't open CUDA library libcupti.so.8.0. ...
何とさっき3)でインストールしたはずのlibcuptiが見つからないというエラーが出てしまった。。。どうやら、Ubuntu14.04のlibcupti-devパッケージはcuda-7系にしか対応していないようで、3)ではcuda-8用のlibcuptiがインストールされていなかった。
そこで、少し調べて見たところ、cuda-8のインストールディレクトリの下/usr/local/cuda-8.0/extras/CUPTI/lib64にlibcuptiがあることが判明したので、LD_LIBRARY_PATHに追加し、再度MNISTのサンプルコードを実行したところ成功した。
> export LD_LIBRARY_PATH=/usr/lib:/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64:/usr/local/lib:$LD_LIBRARY_PATH > python mnist_with_summaries.py Accuracy at step 0: 0.1231 Accuracy at step 10: 0.6979 ... I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcupti.so.8.0 locally ... Accuracy at step 980: 0.966 Accuracy at step 990: 0.9671 Adding run metadata for 999 > tensorboard --logdir=/tmp/tensorflow/mnist Starting TensorBoard 41 on port 6006 (You can navigate to http://127.0.1.1:6006)