對模型訓練的第一步來說,就是進行格式轉換,將常用的圖片(jpg、png)轉換爲caffe使用的lmdb或levdb數據庫格式,由於leveldb是Caffe早期的數據格式,現在主要都是用lmdb了。
目標:
- 將訓練和測試數據轉化成lmdb數據庫
工具:
caffe中提供了將圖片轉化爲lmdb的可執行文件
./caffe/Build/x64/Release/convert_imageset
convert_imageset [FLAGS] ROOTFOLDER/ LISTFILE DB_NAME
需要帶四個參數:
FLAGS: 圖片參數組,後面詳細介紹
ROOTFOLDER: 圖片存放的絕對路徑,從linux系統根目錄開始
LISTFILE: 圖片文件列表清單,一般爲一個txt文件,一行一張圖片
DB_NAME: 最終生成的db文件存放目錄
下面是具體轉換步驟
注:當前我的學習環境都是在windows下
1、建立目錄
./caffe/data/myemaple下建立目錄結構
train
0 -- 圖片0
1 -- 圖片1
test
圖片0+圖片1 混合
2、取得圖片列表
打開命令行工具,在目錄下執行
dir/s/on/b >train.txt
就可以生成
調整路徑並加上分類標籤,就是這樣:
3、創建腳本
比如叫 createlmdb.bat
這裏仍然是藉助於Caffe生成的工具convert_imageset
E:/caffe/Build/x64/Release/convert_imageset --shuffle ^
--resize_height=256 --resize_width=256 ^
E:/caffe/data/csdb/train/ ^
E:/caffe/data/csdb/train.txt ^
E:/caffe/data/csdb/train_lmdb ^
-backend=lmdb
pause
設置參數-shuffle,打亂圖片順序。
設置參數-resize_height和-resize_width將所有圖片尺寸都變爲256*256.
4、轉換格式
雙擊腳本執行
生成結果
檢查一下文件大小,只要不是太小或爲空,一般就對了。