使用别人训练好的caffemodel来测试自己的数据集(only c++)
来源:互联网 发布:ajax提交json格式数据 编辑:程序博客网 时间:2024/05/18 01:50
caffe程序自带有一张小猫图片(caffe/examples/images/cat.jpg), 如果我们想用一个训练好的caffemodel来对这张图片进行分类,那该怎么办呢? 如果不用这张小猫图片,换一张别的图片,又该怎么办呢?如果学会了小猫图片的分类,那么换成其它图片,程序实际上是一样的。作者在此处找了一些斑马(zebra),蚂蚁(ant)等jpg格式数据也进行了测试。
要进行图片的分类,这个caffemodel是最好不过的了。所以,不管是用c++来进行分类,还是用python接口来分类,我们都应该准备这样三个文件:
1、caffemodel文件。
可以直接在浏览器里输入地址下载,也可以运行脚本文件下载。下载地址为:http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel
文件名称为:bvlc_reference_caffenet.caffemodel,文件大小为230M左右,为了代码的统一,将这个caffemodel文件下载到caffe根目录下的 models/bvlc_reference_caffenet/ 文件夹下面。也可以运行脚本文件进行下载:
sudo ./scripts/download_model_binary.py models/bvlc_reference_caffenet
2、均值文件。
有了caffemodel文件,就需要对应的均值文件,在测试阶段,需要把测试数据减去均值。这个文件我们用脚本来下载,在caffe根目录下执行:
sudo sh ./data/ilsvrc12/get_ilsvrc_aux.sh
执行并下载后,均值文件放在 data/ilsvrc12/ 文件夹里。
3、synset_words.txt文件
在调用脚本文件下载均值的时候,这个文件也一并下载好了。里面放的是1000个类的名称。
data/ilsvrc12文件夹中的除get_ilsvrc_aux.sh,新生成了8个文件,见下图:
数据准备好了,我们就可以开始分类了,在这里只进行了c++方法进行测试,python方法后续更新
在caffe根目录下的 examples/cpp-classification/ 文件夹下面,有个classification.cpp文件,就是用来分类的。在编译之后,放在/build/examples/cpp_classification/ 下面,详情见下图:
我们就直接运行命令:
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
命令很长,用了很多的\符号来换行。可以看出,所需文件有deploy.prototxt caffemodel mean.binaryproto synset_word.txt 以及jpg数据
运行成功后,输出结果为:
即有0.3134的概率为tabby,tabby cat;有0.2380的概率为tiger cat ......
本人在网上找来一推jpg格式数据进行测试(需为synset_word.txt中所拥有的分类),此处以ant,zebra为例进行演示:
将蚂蚁(ant.jpg),斑马(zebra.jpg)的图像下载好后,置于caffe/examples/images中
我们先测试蚂蚁:
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/ant.jpg
即有0.5728的概率为ant,emmet,pismire;有0.4023的概率为black widow,Latrodectus mactans ......
继续进行测试斑马:
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/zebra.jpg
运行成功后,输出结果为:
即有0.9983的概率为zebra;有0.0004的概率为park bench.........
——————本人深度学习笔记,谢谢参考
- 使用别人训练好的caffemodel来测试自己的数据集(only c++)
- 用训练好的模型(caffemodel)来分类
- 用自己训练好的caffemodel来对自己的图片做分类
- 用训练好的caffemodel来进行分类
- Caffe(20):用训练好的caffemodel来进行分类
- 用训练好的caffemodel来进行分类
- 用训练好的caffemodel来进行分类
- 用训练好的caffemodel来进行分类
- 用训练好的模型(caffemodel)来分类新的图片
- Caffe_Windows学习笔记(五)用训练好的caffemodel来进行分类
- windows下使用训练好的caffemodel做分类
- 使用训练好的googlenet caffemodel进行图片分类
- windows下使用训练好的caffemodel做分类(2016-11-01)(车型分类)
- caffe的python接口学习(6):用训练好的模型(caffemodel)来分类新的图片
- caffe的python接口学习(6):用训练好的模型(caffemodel)来分类新的图片
- caffe的python接口学习(6):用训练好的模型(caffemodel)来分类新的图片
- caffe的python接口学习:用训练好的模型(caffemodel或者h5)来分类新的图片
- 训练自己的分类数据(only cpu)
- 网络编程:I/O复用
- Shell函数和脚本参数
- Android屏幕适配
- Eclipse全局搜索
- Word2013发布博客到CSDN测试
- 使用别人训练好的caffemodel来测试自己的数据集(only c++)
- Mybatis入门学习三:实现数据的增删改查
- 手把手教你使用 idea 生成漂亮的 javadoc 文档
- 文章标题
- ThreadLocal的设计理念与作用
- 【七日牧函】求主奋兴教会
- 转载--HTTP协议的详细理解
- NSString其它常用方法
- 进程间通信与线程间通信