1. 程式人生 > >基於Darknet框架訓練分類器(cifar10資料集)+windows

基於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