ChainerとSelective Searchへの誘い

 

Selective Searchを目指したChainerのインストールやっていきます。

Selective Searchについては一般物体認識後に

更にCaptionを表示出来るDense Captioningのソースが公開されていると

情報があり、激アツの分野と言えるでしょう。

[Dense Captioning]
http://cs.stanford.edu/people/karpathy/densecap/

参考書からセットアップしたので手順をメモしておきます。

 

環境はUbuntu 14.04

 

Chainerのインストール

$ sudo apt-get install python2.7

$ sudo apt-get install python-numpy

$ sudo apt-get install libhdf5-dev

$ sudo pip install -U setuptools

$ sudo pip install -U cython

 

setuptoolsのインストールについては参考にした書籍に誤記があるかも知れません

Ubuntu14.04 への Chainerのインストール中にsetuptoolsインスコで躓いたのでメモ - Qiita

 

GPUの使用に対して

CuDNN v4

protocol buffersが必要なので

 

Cudaの環境変数の設定

 

$ export CUDA_ROOT=/usr/local/cuda

$ export PATH=$PATH:/usr/local/cuda/bin

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/lib

$ export CPATH=$CPATH:/usr/loca/cuda/include

$ export CUDA_INC_DIR=/usr/local/cuda/bin:$CUDA_INC_DIR

 

 

 

protocol bufferのインストール

$ sudo pip install protobuf

 

Chainerのインストール(自身のアカウントのホーム領域配下に記載)

$ sudo pip install chainer

 

サンプルのインストール

$ sudo git clone https://github.com/pfnet/chainer.git

 

ministを使用した動作確認テスト

$ cd ~/chainer/examples/mnist

$ mnist sudo python train_mnist.py

 

*GPU使用の場合 --gpu=(GPUのID)

$ mnist sudo python train_mnist.py --gpu=0

sudo python train_mnist.pyGPU: -1

 

学習結果が表示されます

# unit: 1000
# Minibatch-size: 100
# epoch: 20
Network type: simple

load MNIST dataset
epoch 1
graph generated
train mean loss=0.192183390001, accuracy=0.942250003902, throughput=205.787747527 images/sec
test mean loss=0.097593400433, accuracy=0.969000005126
epoch 2
train mean loss=0.0745383219374, accuracy=0.977550010482, throughput=204.740891398 images/sec
test mean loss=0.0760766306671, accuracy=0.976100005507
.

.

.

test mean loss=0.0971296599999, accuracy=0.982500005364
epoch 19
train mean loss=0.00823042495485, accuracy=0.997333335876, throughput=208.702609375 images/sec
test mean loss=0.112126590184, accuracy=0.982200008631
epoch 20
train mean loss=0.00885681845254, accuracy=0.997333335777, throughput=207.561653063 images/sec
test mean loss=0.112605881691, accuracy=0.982200006247
save the model
save the optimizer

 

 

Caffe 学習済みモデルのインポートの為

必要なライブラリをインストール

$ sudo pip install pirrow

$ sudo pip install protobuf

 

 

 

 

ネットワークから必要なモデルをダウンロード

$ cd ~/chainer/examples/modelzoo

今回はalexnetをダウンロードしました

$ sudo python download_model.py alexnet

 

Selective Searchに加えLSTMとか使って色々遊びたいですね〜

続く 

参考書籍:

イラストで学ぶ ディープラーニング (KS情報科学専門書) : 山下 隆義 : 本 : Amazon.co.jp