在安装好caffe之后,下一步自然就是运行一些demo 来玩下。
在caffe 的官网的notebook 中已经介绍了如何对caffe 提供的demo 的数据集进行finetuning, 这里就不过多的介绍了。caffe finetuning 的demo
这一篇主要是介绍如何用caffe提供的model 来训练我们自己的数据集。
我用的系统是mac osx 10.11 EI, 主要实现的工具是使用terminal 终端和caffe c++ 的命令行接口
- 数据集是大概16000张照片,主要是对这些照片的9中照片做图像的分类。(因为这是我的一个课程作业,老师提供了大概3000张左右的照片给我们预测,预测结果在课程网站上面直接显示出来,所以我没有从训练集选择30%的照片作为测试集来验证。如果想要自己训练并且测试的话,可以写一个小程序自己生成训练集和测试集。)
我把我的测试集放到百度云了
链接: http://pan.baidu.com/s/1i5rsMFF 密码: edpc
有兴趣的同学可以去下载下来玩一玩。
数据集包括了16000张照片 和 包含他们文件位置和label 的train.txt
2.选择的model 是caffe 提供的googlenet, 它是2014 ilvsrc 图像分类比赛的冠军。装好caffe之后,可以在命令行进入caffe的根目录之后输入:
python scripts/download_model_binary.py models/bvlc_reference_googlenet
然后会下载一个大概50M 左右的googlenet.caffemodel 下载完成之后可以在 models/bvlc_googlenet/ 的文件夹中看到 以下文件:
train_val.prototxt
quick_solver.prototxt
solver.prototxt
deploy.protoxt
bvlc_googlenet.caffemodel
readme.md
3.在model 下载完成之后,下一步是要使用caffe tools中的convert_imagenet 把我们的数据集转成LMDB 格式。(在caffe中数据默认是通过LMDB 格式来存取的,所以要转格式。)当然,caffe 的框架也有提供其他的格式存取,不过入门的话还是用LMDB 比较方便。
转格式的代码如下:
进入caffe 根目录
GLOG_logtostderr=1 ./build/tools/convert_imageset \
/这里写的是照片根目录的路径 \
/这里写的是train.txt 的路径 \
/这里写的是生成的train_lmdb 存的路径 \
要注意的是ÿ