Caffe的數據格式采用leveldb或者lmdb格式
本文采用數據為已標定過的彩色圖像,共1000張訓練圖共10個類別,200張測試圖像10個類別,下載地址:http://pan.baidu.com/s/1hsvz4g8。
ps:此處主要描述制作leveldb格式文件,創建lmdb格式文件為類似操作,只需要把所有"leveldb"字符換成“lmdb"即可
第一步:數據格式轉換
1.編譯conver_imageset,在\Caffe-Master\Build\x64\Release下生成convert_imageset.exe。
2.在根目錄data文件下新建屬於自己的數據集文件夾(主要是為了便於整理,具體位置可以根據自己需要創建)
在新建的數據集文件夾下新建以下文件夾
train和val存放原始的數據,trainldb和valldb存放格式轉換后的leveldb數據,mean存放均值文件。
3.用批處理命令對數據加標簽,生成train.txt用來保存訓練數據的標簽;生成val.txt用來保存測試數據的標簽 。
4.寫一個bat命令,利用convert_imageset.exe生成對應的leveldb格式數據,注意參數和路徑。
若報錯如下,說明新建的valdb文件夾未清空,清空即可:
運行成功效果圖,新建的db文件中會生成如下文件,其中紅色箭頭所示文件大小不為0:
這樣,滿足caffe所需的數據文件就制作好了,train和test均需按照上述步驟同樣操作。
第二步:數據預處理
生成均值文件
同上編譯compute_image_mean,在\Caffe-Master\Build\x64\Release下生成compute_image_mean.exe。
寫一個bat命令,利用compute_image_mean.exe生成對應的均值文件,train數據和test數據需經過同樣操作。
生成如下文件:
第三步:定義網絡結構並訓練
此處主要驗證制作數據是否可用,故網絡直接采用Caffe提供的樣例中cifar10的網絡結構和配置文件,主要為如下兩個
改成自己的命名方式:
主要修改其中的路徑
其中1表示訓練所需網絡文件的路徑,2表示生成結果文件的路徑。Mine_train_test文件中主要修改leveldb文件路徑和均值文件路徑。
編寫bat文件,開始訓練:
訓練結果顯示:
訓練初識別率:
訓練后的識別率:
Reference:Windows下caffe訓練自己的數據