1. 程式人生 > >在caffe-windows下跑自己的資料集leveldb格式 或者lmdb

在caffe-windows下跑自己的資料集leveldb格式 或者lmdb

文介紹如何使用caffe對自己的影象資料進行分類。

圖片資料庫準備

由於圖片資料收集比較費時,實驗室資料庫分為5類,1 2 3 4 5類train150張,val256張。

新建一個資料夾leveldb,放自己的資料,在leveldb資料夾下新建trainval資料夾,train資料夾下新建1、2、3、4、5資料夾分別存放150類別圖片val資料夾同樣如此。注樣如此。

 

train資料夾


val資料夾

1 2 3 4 5類資料夾記憶體儲的是每類的圖片,比如我的1資料夾中為


轉換成leveldb格式

leveldb資料夾下新建兩個txt檔案:train.txtval.txt,列出對應圖片名及其標籤。

資料量較少的可以手動標籤,資料量較大的話,可以寫批處理命令,比較方便。

批處理的方式可以使用.bat命令列,  

注意:標籤一定要從零開始標起

開啟新件的文字文件,並輸入DIR *.* /B > 檔名稱列表.txt

儲存後關閉。然後使用word開啟txt,替換那種方式更改名稱


請注意前面檔名稱的路徑問題,這些如果在轉換格式的命令列中,若報錯找不到該圖片的話就是名稱路徑問題,根據報錯的路徑更改txt中圖片的名稱,0 1 2 3 4代表五類資料

生成列表後,編譯convert_imageset.cpp

在\caffe-master\Build\x64\Release\convert_imageset.exe。做一個批處理命令將圖片資料轉換成leveldb格式。

在caffe-windows資料夾下新建convertimage2ldb.bat。


.bat命令可以由txt改字尾得到,前面是命令,中間是resize大小,--shuffle --backend="leveldb"是leveldb資料格式,對應的--shuffle --backend="lmdb"是lmdb資料格式  ,F:\caffe-master\data\leveldb\train  F:\caffe-master\data\leveldb\train.txt是之前定義的train的檔案路徑,F:\caffe-master\data\leveldb\mtrainldb是儲存轉換好的訓練資料的路徑。

雙擊執行,在leveldb資料夾下就會出現mtrainldb資料夾。

同理可得到mvalldb。這兩個就是caffe需要的資料。

注意,我的leveldb資料夾是放在data資料夾下的,在寫convertimage2ldb.bat時注意你自己路徑。

3 計算mean

這個比較簡單,編譯comput_image_mean.cpp

利用comput_image_mean.exe。做一個computeMean.bat方便以後使用。

注意資料格式型別


開始出現錯誤


然後搜尋

caffe db_lmdb.hpp:14] Check failed: mdb_status == 0 (2 vs. 0) No such file or directory

找到https://github.com/happynear/caffe-windows/issues/91連結 解決問題

文字中加入 --backend=leveldb成功執行
雙擊執行之後在leveldb資料夾裡面出現*_mean.binaryproto,這就是caffe需要的圖片均值檔案。

4 訓練自己的網路

資料集和均值檔案都生成之後,訓練和前面兩篇文章類似。這次我直接使用的是imagenet的網路結構,幾乎沒怎麼修改,所以我將imagenet裡面的imagenet_train.prototxt、imagenet_val.prototxt、imagenet_solver.prototxt直接拷過來修改一下。

imagenet_val.prototxt、imagenet_train.prototxt裡面的

source: "mtrainldb"

mean_file:"mimg_mean.binaryproto"

batch_size: 10

還有最後一層的output改為5,因為我只有五類。

imagenet_solver.prototxt裡面的網路引數修改:


注意最後根據自己電腦的配置選擇 solver_mode:GPU 還是CPU

開始訓練:

找到自己存放的路徑
就可以跑起來了
參考文獻:http://blog.csdn.net/u012878523/article/details/41698209
https://github.com/happynear/caffe-windows/issues/91
http://jingyan.baidu.com/article/9158e0004080baa2541228b6.html