这里讲一个官方用来分类测试的例子
caffe测试需要至少三个文件:1,测试网络结构deploy.prototxt;2,训练好的网络参数caffemodel;3,用来测试的图像
我们这里测试使用到五个文件,另外两个分别使图像均值文件和类别目录
一,下载caffemodel
在caffe目录下执行:
sudo ./scripts/download_model_binary.py models/bvlc_reference_caffenet
会下载bvlc_reference_caffenet.caffemodel这个权重模型至models/bvlc_reference_caffenet/下
二,下载均值文件和类别目录文件
执行:
sudo sh ./data/ilsvrc12/get_ilsvrc_aux.sh
均值文件和类别目录文件在data/ilsvrc12/目录下
三,调用脚本实现图像分类
在caffe目录下,调用脚本文件classification.bin:
sudo ./build/examples/cpp_classification/classification.bin \
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/cat.jpg
在脚本文件中分别载入网络结构,训练好的参数,均值文件,类别目录,测试用的小猫图像。
可以看到输出结果为网络分类最大概率的五种结果:
---------- Prediction for examples/images/cat.jpg ----------
0.3134 - “n02123045 tabby, tabby cat”
0.2380 - “n02123159 tiger cat”
0.1235 - “n02124075 Egyptian cat”
0.1003 - “n02119022 red fox, Vulpes vulpes”
0.0715 - “n02127052 lynx, catamount”
前面的小数为概率,后面的名字为类别。对比原图的猫,可见分类效果还是很不错的
也可以更换其他图像来进行测试,这个模型用来分类的效果还是蛮精确的。