為影象分類任務準備影象資料集
Caffe 具有針對影象分類任務定製的內建輸入層(即,每個輸入影象的單個整數標籤)。此輸入 Data 層構建在 lmdb 或 leveldb 資料結構上。為了使用 Data 層,必須用所有訓練資料構建資料結構。
Caffe’s tihuan 的快速指南 3
建立
你必須做的第一件事是建立 caffe 和 caffe 的工具(convert_imageset 是這些工具之一)。
在安裝了 caffe 和 make 之後,確保你也執行了 make tools。
驗證是否在 $CAFFE_ROOT/build/tools 中建立了二進位制檔案 convert_imageset。
準備資料
影象: 將所有影象放在一個資料夾中(我在這裡稱之為/path/to/jpegs/)。
標籤: 建立一個文字檔案(例如,/path/to/labels/train.txt),每個輸入影象有一行<path / to / file>。例如:
img_0000.jpeg 1
img_0001.jpeg 0
img_0002.jpeg 0
在這個例子中,第一個影象標記為 1,而另外兩個影象標記為 0。
轉換資料集
在 shell 中執行二進位制檔案
~$ GLOG_logtostderr=1 $CAFFE_ROOT/build/tools/convert_imageset \
--resize_height=200 --resize_width=200 --shuffle \
/path/to/jpegs/ \
/path/to/labels/train.txt \
/path/to/lmdb/train_lmdb
命令列解釋:
- 在呼叫
convert_imageset之前將GLOG_logtostderr標誌設定為 1 表示將日誌訊息重定向到 stderr 的日誌記錄機制。 --resize_height和--resize_width將所有輸入影象調整為相同尺寸200x200。--shuffle隨機更改影象的順序,並不保留/path/to/labels/train.txt檔案中的順序。- 以下是 images 資料夾,標籤文字檔案和輸出名稱的路徑。請注意,在呼叫
convert_imageset之前,輸出名稱不應該存在,否則你將收到可怕的錯誤訊息。
其他可能有用的標誌:
--backend- 允許你在lmdb資料集或levelDB之間進行選擇。--gray- 將所有影象轉換為灰度。--encoded和--encoded_type- 將資料以編碼(jpg / png)壓縮形式儲存在資料庫中。--help- 顯示一些幫助,檢視來自 tools / convert_imageset.cpp 的 Flags 下的所有相關標誌 **
你可以檢視 $CAFFE_ROOT/examples/imagenet/convert_imagenet.sh 以獲取如何使用 convert_imageset 的示例。
有關更多資訊,請參閱此主題