LoginSignup
7
4

More than 5 years have passed since last update.

C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(2) DB作成編

Last updated at Posted at 2016-11-14

今回は、学習データベース作成のお話。

概要

Caffeで学習を行うときは、以下の2種類のデータ(以下、「学習データベース」と呼びます)のどちらかから読み込むことになります。

  • leveldb
  • lmdb

これを作成するモジュールが「convert_imageset.exe」です。

※「lebeldb」「lmdb」についてはこことかここなどを参照してください

今回は複数の画像から学習データベースを作成することを想定して話を進めていきます。

image1.png

引数

「convert_imageset.exe」のシンタックスは以下のようになっています。

convert_imageset [FLAGS] ROOTFORDER/ LISTFILE DB_NAME

FLAGS

代表的な引数は以下の通りです。
(全てを知りたい人は「convert_imageset -help」を実行)

FLAGS 意味 設定例
-backend データベースの種類 -backend lmdb
-resize_height 登録する画像の高さを指定 -resize_height 256
-resize_width 登録する画像の幅を指定 -resize_width 256
-shuffle 画像の順番をランダムに入れ替えるか(指定するとtrueになる) -shuffle

あらかじめ画像サイズをそろえておくのもよいですが、ここでそろえたほうが楽です。
ただしあまり大きくし過ぎると処理が重くなる(GPU使用の場合はエラーになることも)ので注意が必要です。

画像の順番をランダムに設定するのは、非常に重要です。

ROTFOLDER

用意した画像ファイルがあるフォルダ名を指定します。
最後の「/」を付け忘れないように。
このフォルダが基準となり、次の「LISTFILE」や「DB_NAME」にファイル名やフォルダ名を指定します。

LISTFILE

学習に使用する画像ファイルをすべて指定したテキストファイルを用意し、そのファイル名を指定します。(ROOTFOLDERからの相対パス)

フォーマットは、以下の2項目をスペース区切りで指定します。

  • パス(ROOTFOLDERからの相対パス)
  • 分類番号

こんな感じです。

data/segment0/image1.jpg 0
data/segment1/image1.jpg 1

分類ごとにフォルダ分けしておいた方が、作りやすいし、メンテナンスもしやすいです。

分類番号は0スタートです。
後で学習するときに、分類番号と分類名を関連付けるファイルを読み込むことになります。(1行目が0、2行目が1といった感じのファイルになります)

DB_NAME

学習データベースのフォルダ名(ファイル名ではない!)です。
こちらもROOTFOLDERからの相対パスで指定します。

その他

この学習データベースは、「トレーニング用」と「テスト用」の2種類用意します。
トレーニング用で学習を行い、テスト用で誤差率を計測します。
同じデータを使うと正しく精度がでませんのでご注意ください。
ファイル数の比率は5:1~10:1ぐらいがよいかと思います。

参考資料

http://caffe.berkeleyvision.org/

関連記事

C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(1)
C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(3)
C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(4)
C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(5)
C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(6)
C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(7)
C++プログラマがWindows上でCaffeを使ってDeep Learningするお話(8)

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4