用已有的模型来训练自己的数据集(finetune)

1.首先准备自己的数据集,这次的数据集和上篇博客中自己训练的数据集是一样的,按照上次的步骤,生成train_lmdb,val_lmdb和均值文件

2.下载已有的模型这里用的是caffenet模型,下载bvlc_reference_caffenet.caffemodel以及网络train_val.prototxt,solver.prototxt

3.修改train_val.prototxt文件,修改数据集路径以及均值文件路径,batch_size的数值由数据集决定,这里train的batchsize=128,test的batchsize=10

   修改最后的num_output=5,并且把这一层的名字改成fc_new

4.修改solver.prototxt文件,test_iter=10,test_interval=10,base_lr=0.001,stepsize=40,display=20,weight_decay=0.0005,这里用CPU训练

5.finetune,./build/tools/caffe train --solver=examples...solver.prototxt -weights=...bvlc_reference_caffenet.caffemodel

6.迭代50次精度就达到100%。

7.测试:./build/tools/caffe.bin test -model examples..train_val_prototxt -weights=examples/...(finetune之后的模型文件) -iterations=10(因为test batchsize=10,迭代10次就能遍历整个测试集)


你可能感兴趣的:(caffe学习)