Mac に GPU 対応の Tensorflow をインストールする

Mac のバージョンは El Capitan です。

結論からいうと、以下の公式ページのガイドを参考にすると簡単にインストールが出来ました。

https://www.tensorflow.org/get_started/os_setup

私は pip を使っていたので、以下のコマンドを打つだけでした。

pip install tensorflow-gpu

GPU (CUDA) を有効化するために、Tensorflow をソースからインストールしている記事が検索上位にあり、私も参考にさせて頂いていたのですが、最近は簡単になったようですね。

qiita.com

Tensorflow の GPU 対応化を行う前に、CUDA 利用準備が必要です。それについて上記の記事が参考になります。CUDA などのバージョンが記事が書かれた当時と今とでは異なりますが、必要な手続きは同じです。

GPU 対応の Tensorflow をインストールした背景

最近 Keras & Tensorflow バックエンドでディープラーニングを実装しています。Keras を使い始めたのは最近ですが、本当に簡単に複雑なニューラルネットワークを組むことが出来て驚いています。

しかしながら、ネットワークを複雑にするほど、計算に非常に時間がかかってしまいます。

実際、6 層程度の畳み込みニューラルネットワークの学習に1時間ほどかかっていました。これではトライアルアンドエラーの効率が悪いと感じたので、GPU で計算させることにしました。

運良く使用しているマシンが Macbook Pro 15 inch (2014 mid) だったので、GeForce GT750m の CUDA が使えたのです。

結果

Tensorflow を GPU 対応にしてから、4コアの Core i7 では1時間かかっていた学習が、15 分程度に短縮されました。CUDA が 384 コアと比較的少めな GT750m なので、あまり期待していなかったこともあり、この結果には驚きました。

Tensorflow の GPU 対応作業前は、学習中に CPU 使用率が 100% に張り付いてしまっていて、他の作業があまり進まなかったのですが、Tensorflow を GPU 対応にしてからはそれもなくなり、CPU 使用率は 14% 程度にまで下がりました。地味に嬉しいですね。

CUDA が 2560 コアある GTX1080 を使用するとどうなるのでしょうか。ちょっと試してみたくなりました。