0、参考文献
[1]denny http://www.cnblogs.com/denny402/p/5111018.html
1、准备工作
1)下载一张波斯猫的图片,存放在CAFFE_ROOT/examples/images/jfm.jpg
2)caffemodel文件
开发caffe的贾大牛团队,利用imagenet图片和caffenet模型训练好了一个caffemodel, 供大家下载。要进行图片的分类,这个caffemodel是最好不过的了。
下载地址为:http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel
3)均值文件
有了caffemodel文件,就需要对应的均值文件,在测试阶段,需要把测试数据减去均值。这个文件我们用脚本来下载,用cygdrive在caffe根目录下执行:
./data/ilsvrc12/get_ilsvrc_aux.sh
执行并下载后,均值文件放在 data/ilsvrc12/ 文件夹里,imagenet_mean.binaryproto。
4)synset_words.txt文件
在调用脚本文件下载均值的时候,这个文件也一并下载好了。里面放的是1000个类的名称。
2、C++方法
在caffe根目录下的 examples/cpp-classification/ 文件夹下面,有个classification.cpp文件,就是用来分类的。当然编译后,放在/Build/x64/Release/下面。
在cygdrive运行命令:
./Build/x64/Release/classification.exe \
models/bvlc_reference_caffenet/deploy.prototxt \
models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel \
data/ilsvrc12/imagenet_mean.binaryproto \
data/ilsvrc12/synset_words.txt \
examples/images/jfm.jpg
运行成功后,输出top-5结果:
即有0.4160的概率为波斯猫, 有0.2546的概率为Samoyed ......