LoginSignup
7
8

More than 5 years have passed since last update.

MacのGPUでKerasを使う(デュアルブートUbuntu16.04)

Posted at

所有する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のイメージは北陸先端科学技術大学院大学リリースのイメージを使わせてもらいました。

IMG_8973.JPG

無事インストール出来れば起動時に「option(alt)」キー押下でパーテーションで分割したHDDが選択出来るようになります。

IMG_8974.JPG

ブートローダー「rEFInd」を使ってUbuntuを起動します。

Screenshot from 2017-02-11 08-30-50.png

無事Ubuntuが使えるようになりました。

CUDAインストール

下記の記事の手順に沿って行ったら上手くインストール出来ました。(ありがとうございます)

Ubuntu 16.04へのCUDAインストール方法 - Qiita

全くそのままの手順を転記するだけですが、スクリーンショットで補足しておきます。

Screenshot from 2017-02-11 08-32-48.png

CUDA 8.0 Downloads

こちらのページからダウンロード、展開します。

$ 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にファイルが展開されていることを確認したのち、

Screenshot from 2017-02-11 08-45-30.png

~/.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のアカウントを取得する必要があります。

Screenshot from 2017-02-11 08-35-23.png

cuDNN Download

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を付けるとシンボリックリンクとしてコピー出来るんですね。

Screenshot from 2017-02-11 08-38-15.png

/usr/local/lib/以下にcuDNNのライブラリがコピーされました。

Screenshot from 2017-02-11 08-37-16.png

同じく/usr/local/include/にコピーされました。

PythonとTensorflowのインストール

Python3系のインストールは、今回はpnevanacondaなどを使わず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を試してみます。

Screenshot from 2017-02-11 08-58-56.png

無事利用できるようになりました。GPU(GeForce GT 750M)のメモリは1GBなのですが、実際使えるのは650~750MB程です。

あまり階層の深い深層学習では使えないみたいですね。

Screenshot from 2017-02-11 08-50-29.png

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を実行してみます。

Screenshot from 2017-02-11 11-26-42.png

体感速度でいうと、CPUの3倍程度でしょうか。

まとめ

今回はUbuntuをデュアルブートしましたが、仮想環境の構築に慣れている方はそちらの方が良いかもしれません。

CPU環境では実行が難しかったRNN(seq2seq)は簡単なモデルのものならGPUメモリ1GB程度で実行出来るようなので、今度試してみたいと思います。

では。

7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8