参考 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