您的位置:首页 > Web前端

bvlc_reference_caffenet.caffemodel模型的应用

2017-10-24 16:52 911 查看
利用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

# sudo ./scripts/download_model_binary.py models/bvlc_reference_caffenet  

2、均值文件。

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

[cpp]

# 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]

# 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 

测试结果:

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"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux caffe