流行りのDeep Learningフレームワーク”Caffe”をインストールしてみた


流行りのDeep Learningフレームワーク”Caffe”をインストールしてみた

今流行りのDeep Learningフレームワーク”Caffe”をインストールしてみました
GPUが使えて高速に計算可能だそうです
C++で実装されているようなので、python使いではない私にとってはこれが最適

とりあえずMEMOです
C++で動かしてみようと思います

 

Caffeのインストール方法は公式ページを参考にしました
http://caffe.berkeleyvision.org/installation.html

最初VM上のUbuntu 12.04で動かしてみたのですが
インストールの段階で何度やってもうまくいかず、
結局、Ubuntu14.04のある程度クリーンな環境で動かしました

残念ながら私のPCはGPUを積んでいないのでCPU-onlyで動かします

 

以下インストール手順

・ATLAS: free, open source, and so the default for Caffe.

sudo apt-get install libatlas-base-dev

・ほかの依存ライブラリ

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost1.55-all-dev libhdf5-serial-dev 
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

・Caffe
https://github.com/BVLC/caffe/archive/master.zip
よりZipダウンロード・解凍

cd caffe-master
cp Makefile.config.example Makefile.config
# Adjust Makefile.config (for example, if using Anaconda Python)
# 8行目 CPU_ONLY := 1 のコメントアウトを外します
make all
make test
make runtest

 

テスト

テストは以下のページを参考にMNIST手書き文字認識をしました
http://nnet.dogrow.net/?p=293

$CAFFE_ROOTはCaffeのディレクトリです

・MNISTデータダウンロード

cd $CAFFE_ROOT/data/mnist
./get_mnist.sh

・トレーニング用データ生成

cd $CAFFE_ROOT
./example/mnist/create_mnist.sh

・トレーニング実行

#./example/mnist/lenet_solver.prototxtを編集
#- solver_mode: GPU
#+ solver_mode: CPU
./example/mnist/train_lenet.sh

・トレーニング結果

I0209 00:24:13.572643 18508 solver.cpp:334] Snapshotting to examples/mnist/lenet_iter_10000.caffemodel
I0209 00:24:13.621218 18508 solver.cpp:342] Snapshotting solver state to examples/mnist/lenet_iter_10000.solverstate
I0209 00:24:13.680074 18508 solver.cpp:246] Iteration 10000, loss = 0.00355626
I0209 00:24:13.680193 18508 solver.cpp:264] Iteration 10000, Testing net (#0)
I0209 00:24:19.534648 18508 solver.cpp:315] Test net output #0: accuracy = 0.991
I0209 00:24:19.534770 18508 solver.cpp:315] Test net output #1: loss = 0.0283265 (* 1 = 0.0283265 loss)
I0209 00:24:19.534793 18508 solver.cpp:251] Optimization Done.
I0209 00:24:19.534808 18508 caffe.cpp:121] Optimization Done.

Test net output #0: accuracy がテストデータの正解率(0.0 ~ 1.0)だそう
99.1%も出るんですね

さて、これから何して遊びましょう アニメ・イラスト関係に繋げたいけど・・・


About Author

ラプリエム

ラプリエム

奈良のどこかに住んでる院生 プログラミングが趣味?
Twitter

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>