「ひろの」の徒然日記帳 [IT tools, programming, software and more...]

プログラミング、ITツール、人工知能等興味のあることを徒然と書きます。Microsoft、C#が好きです

機械学習用 Caffe 環境構築手順

いのひろです。

会社で席替えをしました。
今までより開放的な席で効率もあがりそうです。
新しく覚えることも多く、環境作りも大変ですがやり甲斐のある仕事なので
集中していると夜遅くまで残りがちです。夕方を過ぎるとお腹がすき、
オフィスグリコに手を伸ばしそうになるのを我慢する日々です。


今回は機械学習用に Caffe の環境を構築した際の手順です。

Caffe | Deep Learning Framework

構築環境

構築した環境は以下のとおりです。

項目 バージョン
ホストOS Mac OS X El Capitan 10.11.4
ゲストOS Ubuntu14.04 LTS
VirtualBox 4.3.36
Vagrant 1.8.1

1. VagrantUbuntu環境の構築

コマンド 備考
vagrant box add caffe https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box BOXファイルのダウンロードと追加します。名前は「caffe」で登録します。
vagrant box list CaffeのBoxが追加されているか確認します。
mkdir xxxx Vagrantfileを配置するディレクトリを作ります。Desktop等で実行します
cd xxxx 上記にて作成したフォルダに移動します
vagrant init caffe Vagrantfile作成します
vagrant up Vagrant立ち上げます
vagrant ssh Vagrant環境にログイン(Windowsの場合はTera Team等からアクセスするが必要あります。)

2. 各種必要ファイルのインストール

GPUを利用しない場合はNVIDIA社のCUDAインストールしません。
Gitコマンド使う部分は事前にGitをインストールしておく必要あります。
※手動でレポジトリからダウンロードし、手動で配置する方法でも大丈夫です。

コマンド 備考
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev 必要なライブラリのインストール
sudo apt-get install --no-install-recommends libboost-all-dev 必要なライブラリのインストール
sudo apt-get install libatlas-base-dev 必要なライブラリのインストール
 
sudo apt-get install python-dev python-pip
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev 必要なライブラリのインストール
 
sudo apt-get install protobuf-compiler
sudo apt-get install g++-4.6 コンパイラにてビルドする必要があるため、インストール
sudo apt-get update 更新しておきます
 
git clone https://github.com/BVLC/caffe caffeをレポジトリよりクローン
cd caffe caffeに移動
cp Makefile.config.example Makefile.config Makefileコピー
vi Makefile.config vi等で編集。CPU_ONLY := 1 のコメントアウトを外します。CPUで動作させる場合 CUSTOM_CXX := g++-4.6に編集します
 
make all 一度make済の場合は事前に make clean
make test make内容のテスト
make runtest 動作チェックです

3. Caffe サンプル動作

コマンド 備考
cd (caffeのパス)/data/mnist
./get_mnist.sh サンプル用のファイルをダウンロード
cd ../../
./examples/mnist/creat_mnist.sh ファイルを変換
vi ./examples/mnist/lenet_solver.prototxt GPU指定からCPUに変更
./examples/mnist/train_lenet.sh 学習の実行
   
./build/tools/caffe test -model ./examples/mnist/lenet_train_test.prototxt -weights ./examples/mnist/lenet_iter_10000.caffemodel


まだまだ Caffe を使い始めたところですが、
簡単に導入出来るのでオススメです。

この本がかなり勉強になりました。

初めてのディープラーニング --オープンソース

初めてのディープラーニング --オープンソース"Caffe"による演習付き