bvlc_reference_caffenet.caffemodel模型的应用

来源:互联网 发布:java assert 用法 编辑:程序博客网 时间:2024/06/04 18:27
利用imagenet进行finetune训练,待训练好模型,利用模型进行分类。

caffe程序自带有一张小猫图片,存放路径为caffe根目录下的 examples/images/cat.jpg, 如果我们想用一个训练好的caffemodel来对其进行分类;
1、caffemodel文件。
  可以直接在浏览器里输入地址下载,也可以运行脚本文件下载。下载地址为:http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel

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

[cpp] view plain copy
  1. # sudo ./scripts/download_model_binary.py models/bvlc_reference_caffenet  

2、均值文件。

有了caffemodel文件,就需要对应的均值文件,在测试阶段,需要把测试数据减去均值。这个文件我们用脚本来下载,在caffe根目录下执行:

[cpp]
  1. # sudo sh ./data/ilsvrc12/get_ilsvrc_aux.sh  


执行并下载后,均值文件放在 data/ilsvrc12/ 文件夹里。

3、synset_words.txt文件

在调用脚本文件下载均值的时候,这个文件也一并下载好了。里面放的是1000个类的名称。

数据准备好了,我们就可以开始分类了,我们给大家提供两个版本的分类方法:

一、c++方法

在caffe根目录下的 examples/cpp-classification/ 文件夹下面,有个classification.cpp文件,就是用来分类的。当然编译后,放在/build/examples/cpp_classification/ 下面

我们就直接运行命令:
[cpp]
  1. # sudo ./build/examples/cpp_classification/classification.bin \  
  2.   models/bvlc_reference_caffenet/deploy.prototxt \  
  3.   models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel \  
  4.   data/ilsvrc12/imagenet_mean.binaryproto \  
  5.   data/ilsvrc12/synset_words.txt \  
  6.   examples/images/cat.jpg 

测试结果:

gjh@gjh-System-Product-Name:~/caffe$ 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"





阅读全文
0 0
原创粉丝点击