基於Darknet框架訓練分類器(cifar10資料集)+windows
參考 https://pjreddie.com/darknet/train-cifar/
1 下載資料集
https://pjreddie.com/media/files/cifar.tgz
在該網址下下載cifar資料集,並解壓在darknet.exe目錄下,解壓後目錄下包含了test和train以及一個label.txt檔案
2 將train和test資料夾下的圖片名稱生成對應的列表檔案
首先 cd /d C:\Users\Administrator\Desktop\cifar\cifar\test(我自己放圖片的目錄)
然後dir /b/s *.jpg >a.txt // /b 將只顯示檔名與副檔名 /s 顯示指定目錄和所有子目錄中的檔案
3 製作資料集配置檔案
在當前darknet.exe所在目錄新建cfg資料夾,並在該資料夾中新建cifar.data檔案,檔案內容為
classes= 10
train = cfg1/train.txt
valid = cfg1/test.txt
labels = cfg1/labels.txt
backup = backup/
top=2
4 製作一個訓練網路
在cfg1中新建cifar.cfg檔案,檔案內容為:
[net] batch=128 subdivisions=1 height=28 width=28 channels=3 max_crop=32 min_crop=32 hue=.1 saturation=.75 exposure=.75 learning_rate=0.1 policy=poly power=4 max_batches = 5000 momentum=0.9 decay=0.0005 [convolutional] batch_normalize=1 filters=32 size=3 stride=1 pad=1 activation=leaky [maxpool] size=2 stride=2 [convolutional] batch_normalize=1 filters=16 size=1 stride=1 pad=1 activation=leaky [convolutional] batch_normalize=1 filters=64 size=3 stride=1 pad=1 activation=leaky [maxpool] size=2 stride=2 [convolutional] batch_normalize=1 filters=32 size=1 stride=1 pad=1 activation=leaky [convolutional] batch_normalize=1 filters=128 size=3 stride=1 pad=1 activation=leaky [convolutional] batch_normalize=1 filters=64 size=1 stride=1 pad=1 activation=leaky [convolutional] filters=10 size=1 stride=1 pad=1 activation=leaky [avgpool] [softmax]
5 開始訓練
/darknet.exe classifier train cfg1/cifar.data cfg1/cifar.cfg
6 valid樣本驗證
darknet.exe classifier valid cfg1/cifar.data cfg1/cifar.cfg backup/cifar_final.weights
7 測試(隨便輸入一張valid檔案下圖片)
darknet.exe classifier predict cfg1/cifar.data cfg1/cifar.cfg backup/cifar_final.weights 1_ship.png
8 重新開始訓練
如果中途停止,可以隨時使用backup下儲存的一個模型點接著訓練
/darknet.exe classifier train cfg1/cifar.data cfg1/cifar.cfg backup/cifar_3000.backup