TensorFlowが対応しているGPU
TensorFlow は、公式には "NVidia Compute Capability" が3.5以上のGPUにのみ対応しています。つまり基本的にはTitan以上のGPUにしか対応していません。この事は https://www.tensorflow.org/get_started/os_setup.html#installation-for-linux の "Optional: Install CUDA (GPUs on Linux)" にて以下のように説明されています。
TensorFlow GPU support requires having a GPU card with NVidia Compute Capability >= 3.5. Supported cards include but are not limited to:
- NVidia Titan
- NVidia Titan X
- NVidia K20
- NVidia K40
したがって、例えば現在(12.7.2015)配布されているGPU向けのTensorFlowのバイナリを用いてインストールを行った場合、たとえばGTX 960などの対応外のGPUを用いるとエラーが発生してしまいます。
しかし、同ページの "Enabling Cuda 3.0" にて説明されている "unofficial settings" を用いることで、 "NVidia Compute Capability" が3.0のGPU向けにTensorFlowをインストールすることができます。
##注意点
注意点として、 "unofficial" とあるだけに、互換性の無いライブラリが多くあり、大部分がテスト・サポートされていないようです。これは、インストール時(「手順」のステップ2)にて出る次のような注意で確認できます。
WARNING: You are configuring unofficial settings in TensorFlow. Because some
external libraries are not backward compatible, these settings are largely
untested and unsupported.
手順
実際にインストールするには以下の手順に従います。
公式サイト ( https://www.tensorflow.org/versions/master/get_started/os_setup.html )に従い以下の手順でソースからビルドします:
- "Installing from sources" の "Configure the installation" の手前までを実行
- "Enabling Cuda 3.0" に従って
./configure
時に「非公式設定」 ("unofficial settings") を有効にする - "Create the pip package and install" に従ってpip wheelを作成し、TensorFlowをインストール
- (この手順はpyenv, virtualenv等仮想環境にインストールしたい場合行う。システムのpythonにTensorFlowをインストールする場合、pip packageは作らず "Build your target with GPU support" の通りに従う。)
筆者は、この設定でGeforce GTX 960, Ubuntu 15.04 にて動作確認をしました。(動作確認は https://github.com/woodrush/neural-art-tf を実行して行いました。)