所有するMacのグラフィックボードがNVIDIA製だったので、Tensorflowの実行に使えないか試してみました。
対象機種は【爆速なるか!?】OSXでTensorflowのGPU版を使うためのセットアップ - Qiita こちらにまとめてあるので、ご自分のMacの「このMacについて」で確認してみてください。
(設定に関しましては自己責任にてお願い致します)
デュアルブートUbuntu16.04
macOSでTensorflowをGPUで動かすことが出来たのですが、通常に起動するだけでもGPUメモリをかなり消費してしまうので、Ubuntuで試してみることにしました。
OS X El CapitanとUbuntu 16.04 LTSのデュアルブート環境を構築する - OTTAN.XYZ
こちらの手順が詳しいので、最新のmacOS Sierra(10.12.3)でも上手く動作させることが出来ました。
Macのハードディスクをパーテーションで区切り、USBに入れたUbuntu16.04のイメージから、rEFIndというブートローダーを使って起動させることでデュアルブートすることが出来ます。
Ubuntu16.04のイメージは北陸先端科学技術大学院大学リリースのイメージを使わせてもらいました。
無事インストール出来れば起動時に「option(alt)」キー押下でパーテーションで分割したHDDが選択出来るようになります。
ブートローダー「rEFInd」を使ってUbuntuを起動します。
無事Ubuntuが使えるようになりました。
CUDAインストール
下記の記事の手順に沿って行ったら上手くインストール出来ました。(ありがとうございます)
Ubuntu 16.04へのCUDAインストール方法 - Qiita
全くそのままの手順を転記するだけですが、スクリーンショットで補足しておきます。
こちらのページからダウンロード、展開します。
$ sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
/usr/local/cuda-8.0
にファイルが展開されていることを確認したのち、
~/.bashrc
に以下を追記し、パスを通します。
export PATH="/usr/local/cuda-8.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"
cuDNN 5.1 のインストール
「cuDNN」という深層学習用のライブラリが必要になり、NVIDIAのアカウントを取得する必要があります。
Download cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0
にある
cuDNN v5.1 Library for Linux
を選択します。
上述の記事を転記させて頂きます。
tar xzf cudnn-8.0-linux-x64-v5.1.tgz
sudo cp -a cuda/lib64/* /usr/local/lib/
sudo cp -a cuda/include/* /usr/local/include/
sudo ldconfig
rm -R -f cuda cudnn-8.0-linux-x64-v5.1.tgz
パスの通し方が上手くいかずハマったのですが、 -a
を付けるとシンボリックリンクとしてコピー出来るんですね。
/usr/local/lib/
以下にcuDNNのライブラリがコピーされました。
同じく/usr/local/include/
にコピーされました。
PythonとTensorflowのインストール
Python3系のインストールは、今回はpnev
やanaconda
などを使わずsudo apt-get
を使いそのまま入れました。
(この後OpenCV3.1とffmpegをインストールする為、依存関係をできる限り簡単にしたかったので...)
Download and Setup - Twnsorflow
Tensorflowの公式ページに沿ってインストールします。GPUを利用する際は$ pip install tensorflow-gpu
で簡単にインストール出来る様になったみたいですね。
$ sudo apt-get install python3-pip python3-dev
$ pip3 install tensorflow-gpu
HelloWorld
を試してみます。
無事利用できるようになりました。GPU(GeForce GT 750M)のメモリは1GBなのですが、実際使えるのは650~750MB程です。
あまり階層の深い深層学習では使えないみたいですね。
Tensorflowは/user/local/lib/python3.5/dist-packages
にインストールされています。
Python2.7を併用するには同じ要領で/user/local/lib/python2.7/dist-packages
にインストールします。
Kerasのインストール
Kerasのインストールは以下の通り。
$ pip3 install keras
でインストール出来ます。
依存関係のあるライブラリは、できる限りpip
を使わずsudo apt-get install
でインストールしました。
サンプルのCNNを利用したMNISTを実行してみます。
体感速度でいうと、CPUの3倍程度でしょうか。
まとめ
今回はUbuntuをデュアルブートしましたが、仮想環境の構築に慣れている方はそちらの方が良いかもしれません。
CPU環境では実行が難しかったRNN(seq2seq)は簡単なモデルのものならGPUメモリ1GB程度で実行出来るようなので、今度試してみたいと思います。
では。