caffe训练自己的图片进行分类预测--windows平台
![](http://static.blog.csdn.net/images/category_icon.jpg)
版权声明:本文为博主原创文章,未经博主允许不得转载。
搭建好caffe环境后,就需要用自己的图片进行分类预测,主要步骤如下,主要参照http://www.cnblogs.com/denny402/p/5083300.html,感谢博主:
1、数据准备,下载待训练的图片集,共5类400张,测试集100张,目录分别为data\re\train,data\re\val,新建test.txt、val.txt。
2、转换数据为lmdb,复制create_imagenet.sh文件,修改参数为
3、计算均值文件,复制make_imagenet_mean.sh文件,修改参数为
4、制作网络模型,caffe中提供了很多成熟的模型,我们先直接拿过来用,主要用bvlc_reference_caffenet下的模型,复制.\models\bvlc_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:\caffe\caffe-windows\Build\x64\Release\caffe.exe test –model=D:\caffe\caffe-windows\data\re\train_val.prototxt –weights=D:\caffe\caffe-windows\data\re\caffenet_train_iter_2000.caffemodel
pause
可以查看模型的训练结果,模型准确度比较低,说明网络模型没有设计好,这里只讲流程,网络模型需要进一步的研究
7、分类预测,模型训练完成后,就可以输入图片进行分类预测,在根目录下新建.sh文件,输入
Build\x64\Release\classification.exe data\re\deploy.prototxt data\re\caffenet_train_iter_2000.caffemodel data\re\imagenet_mean.binaryproto data\re\test.txt data\re\val\401.jpg
pause
主要有6个参数,第一个是Release下生成的classification.exe文件,第二个是预测文件,deploy.prototxt相对于train_val.prototxt少了data层,第三个是生成的网络模型,第四个是均值文件,第五个是类别文件,第六个是待预测分类的图片
识别率不是很高,需要进一步优化网络模型。
每一个不曾起舞的日子,都是对生命的辜负。
But it is the same with man as with the tree. The more he seeks to rise into the height and light, the more vigorously do his roots struggle earthward, downward, into the dark, the deep - into evil.
其实人跟树是一样的,越是向往高处的阳光,它的根就越要伸向黑暗的地底。----尼采