caffe训练自己的图片进行分类预测--windows平台

caffe训练自己的图片进行分类预测

标签: caffe预测
 分类:

搭建好caffe环境后,就需要用自己的图片进行分类预测,主要步骤如下,主要参照http://www.cnblogs.com/denny402/p/5083300.html,感谢博主: 
1、数据准备,下载待训练的图片集,共5类400张,测试集100张,目录分别为data e rain,data eval,新建test.txt、val.txt。

2、转换数据为lmdb,复制create_imagenet.sh文件,修改参数为 
这里写图片描述

3、计算均值文件,复制make_imagenet_mean.sh文件,修改参数为 
这里写图片描述

4、制作网络模型,caffe中提供了很多成熟的模型,我们先直接拿过来用,主要用bvlc_reference_caffenet下的模型,复制.modelsvlc_reference_caffenet目录下的deploy.prototxt、solver.prototxt、train_val.prototxt三个文件,首先打开train_val.prototxt文件,修改mean、train_lmdb、val_lmdb文件路径,然后修改全连接层fc8的输出num,即分类数, 
这里写图片描述 
同样打开deploy.prototxt文件,修改num_output为5(5个类别),然后打开solver.prototxt,修改如下,具体参数意义在此不做说明 
这里写图片描述

5、开始训练模型,新建.sh文件,输入 
set -e 
.D:/caffe/caffe-windows/Build/x64/Release/caffe train  
–solver=D:/caffe/caffe-windows/data/re/solver.prototxt $@ 
pause 
cpu情况下需要训练好几个小时。

6、查看训练结果,待训练完成后,会在相应的路径下生成.caffemodel文件,即我们训练的模型,新建.sh文件,输入 
D:caffecaffe-windowsBuildx64Releasecaffe.exe test –model=D:caffecaffe-windowsdata e rain_val.prototxt –weights=D:caffecaffe-windowsdata ecaffenet_train_iter_2000.caffemodel 
pause 
可以查看模型的训练结果,模型准确度比较低,说明网络模型没有设计好,这里只讲流程,网络模型需要进一步的研究 
这里写图片描述

7、分类预测,模型训练完成后,就可以输入图片进行分类预测,在根目录下新建.sh文件,输入 
Buildx64Releaseclassification.exe data edeploy.prototxt data ecaffenet_train_iter_2000.caffemodel data eimagenet_mean.binaryproto data e est.txt data eval401.jpg 
pause 
主要有6个参数,第一个是Release下生成的classification.exe文件,第二个是预测文件,deploy.prototxt相对于train_val.prototxt少了data层,第三个是生成的网络模型,第四个是均值文件,第五个是类别文件,第六个是待预测分类的图片 
这里写图片描述 
识别率不是很高,需要进一步优化网络模型。

原文地址:https://www.cnblogs.com/leoking01/p/6952631.html