Caffeその①
ディープラーニング、特に画像認識で大変メジャーなライブラリであるCaffeを使用してみましたので、その際の手順をメモしておきます。今回はインストール。
環境
- VM:Oracle VM VIrtualBox 5.0.14
- OS:Ubuntu 14.04
VirtualBoxを使用し、VMとしてubuntuを入れてそこにCaffeをインストールしました。実は最初はMac Book Airに直接インストールしようと頑張っていたのですが、コンパイラの指定などが面倒な様子だったのでVMを入れることにしています。またVMにはVirtual MachineにはVMwareではなくVirtualBoxを使用しましたが、これはVMwareがMacだと有料なためです。
手順
- 外部ライブラリのインストール
- Caffeのダウンロード
- Makeファイルの作成
- Caffeのコンパイル
手順としては以上のような流れで、一般的なプログラムをソースからビルドする際の工程と同じです。一つずつ見ていきましょう。
1.外部ライブラリのインストール
まずは必要なライブラリをインストールします。apt-getでサクッと取ってきましょう。ubuntuではgccでコンパイルできないようなので、コンパイラとしてg++-4.6もとってきます。
$ sudo apt-get install libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler git g++-4.6
2.Caffeのダウンロード
続いてCaffeのダウンロードです。Githubからcloneしてきます。
$ git clone https://github.com/BVLC/Caffe.git
3.Makeファイルの作成
Makeファイルの設定を変更します。Makefile.config.exampleというサンプルプログラムがあるので、これをコピーして適宜修正します。もちろん使うのはMakefile.configなので、exampleの方を修正してしまわないように注意しましょう。
$ cd Caffe/
$ cp Makefile.config.example Makefile.config
修正箇所は二箇所です。Makefile.configをviなどのお好きなエディタで開き、以下の箇所を修正します。
①コンパイラの指定
CUSTOM_CXX := g++
となっているところを、以下のように変更します
CUSTOM_CXX := g++-4.6
②CPUのみ使用するように指定
今回はVM上のubuntuで実行するので、GPUを使用しません。そこでCPUを使用するように設定を変更します。
# CPU_ONLY := 1
これを
CPU_ONLY := 1
とアンコメントします。
4.Caffeのコンパイル
以上の手順ののち、下記の通りコンパイルを実行します。途中でエラーが生じた際は、対応したのちにmake cleanでキレイにしてから再度実行します。
$ make all
$ make test
$ make runtest
コンパイルが全て通れば実行結果として[PASSED]が返ってきます。これで準備完了です。
Caffeの実行についてはその②で紹介します。