今流行りの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%も出るんですね
さて、これから何して遊びましょう アニメ・イラスト関係に繋げたいけど・・・
コメントを残す