Caffe学习笔记(二)分类任务

笔记(二):用 Caffe 训练好的模型进行分类任务的测试

参考:
Caffe学习系列(20):用训练好的caffemodel来进行分类
用Caffe搭建自己的网络,并用图片进行测试

开发 caffe 的贾大牛团队,利用 imagenet 图片和 caffenet 模型训练好了一个 caffemodel,该模型可以用来做分类任务。

1. 准备模型和数据

1)caffemodel 下载:

bvlc_reference_caffenet.caffemodel

文件大小为230M左右,为了代码的统一,将这个 caffemodel 文件放在 caffe 根目录下的 models/bvlc_reference_caffenet/ 文件夹下,也可以运行脚本文件进行下载:

./scripts/download_model_binary.py models/bvlc_reference_caffenet

2)生成均值文件

在测试阶段,需要把测试数据减去均值,直接用脚本下载:

sh ./data/ilsvrc12/get_ilsvrc_aux.sh

下载的均值文件 imagenet_mean.binaryproto 保存在 data/ilsvrc12/,同时还下载了一个 synset_words.txt 文件,里面是 1000 个类的名称。

2. 做分类任务

在 caffe 根目录下的 examples/cpp-classification/ 文件夹下面,有一个 classification.cpp 文件,就是用于分类任务的,可以直接执行:

./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

共需要 4 个参数:

  • deploy.prototxt:执行测试时需要的 prototxt 文件,一般是从 train.prototxt 改过来的
  • model:训练得到的参数文件
  • imagenet_mean.binaryproto:均值文件
  • cat.jpg:要测试的图片

执行成功后,输出 top-5 结果:

---------- 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"

你可能感兴趣的:(#,Caffe,深度学习)