本文讲解如何对网上下载的一个图片利用训练好的cifar模型进行分类

第一步

上一篇文章训练好以后会得到两个文件

从网上查阅资料解释来看,第一个caffemodel是训练完毕得到的模型参数文件,第二个solverstate是训练中断以后,可以用此文件从中断地方继续训练(具体使用方法目前尚未测试)

caffemodel的百度云地址:链接:http://pan.baidu.com/s/1sl6nPXb 密码:omow

第二步

新建一个代表cifar10数据标签txt文件,放在examples下的cifar10文件夹内,本文采用名称为synset_words的txt文件,内容如下:

从网上随便下载一个图片,但是注意,最好是cifar里面包含的种类,当然也可以下载其他的,不过分类得到的标签肯定不对,因为训练得到的模型不包含此种类。

比如我下载了一只猫:

第三步

使用模型进行分类,建立一个bat文件,比如我在E:\caffeDEV1\caffe-windows\Build\x64\Release下[同样可以在debug下]建立classification.bat,内容如下
classification.exe E:\caffeDEV1\caffe-windows\examples\cifar10\cifar10_quick.prototxt E:\caffeDEV1\caffe-windows\examples\cifar10\cifar10_quick_iter_4000.caffemodel.h5 E:\caffeDEV1\caffe-windows\examples\cifar10\mean.binaryproto E:\caffeDEV1\caffe-windows\examples\cifar10\synset_words.txt E:\caffeDEV1\caffe-windows\examples\cifar10\dog.jpg
pause

如果你建立在其他地方,请注意你的路径。bat的格式为XX/XX/classification.exe xx/xx/网络结构(cifar10_quick.prototxt) XX/XX/训练好的模型(.caffemodel.h5)  XX/XX/均值文件 XX/XX/下载的图片(XX/XX代表路径 )

第四步

也就说最后一步,直接运行这个bat文件,双击就行,得到如下结果
【注】我在其中一个地方卡了很久,千万千万不要把modelcaffe.h5的后缀改为modelcaffe,也就是说,千万别删掉了h5,我一直以为调用cifar10_quick_iter_4000.caffemodel,结果呵呵了,卡了一下午

第五步

第四步实现得是单张图片的识别。第五步则对测试集进行准确率的分批测试
直接在E:\caffeDEV1\caffe-windows下建立一个bat文件(test_cifar.bat),内容如下:
.\Build\x64\Release\caffe.exe test --model=examples/cifar10/cifar10_quick_train_test.prototxt -weights=examples/cifar10/cifar10_quick_iter_4000.caffemodel.h5 -gpu=0
pause

【PS】注意,如果出现“cannot use GPU in CPU-only caffe :check mode.check failure stack trace.”问题,去掉后面的-gpu=0即可,代表使用CPU测试。
运行之后效果如下:

【更新日志2017-9-25】
从此博客中发现caffe -test命令默认测试50次,也就是说可能并没有测试完全整个测试集, 所以我们需要自己计算一下应该计算多少次, 总样本数/ batchsize,然后再命令中使用-iterations=? 指定你的测试次数,比如我计算需要测试100次才能覆盖整个样本, 那么就使用
.\Build\x64\Release\caffe.exe test --model=examples/cifar10/cifar10_quick_train_test.prototxt -weights=examples/cifar10/cifar10_quick_iter_4000.caffemodel.h5 -gpu=0 -iterations=100
pause

【caffe-Windows】cifar实例编译之model的使用相关推荐

  1. 【caffe-Windows】cifar实例编译之model的生成

    参考:<span style="font-family: Arial, Helvetica, sans-serif;">http://blog.csdn.net/che ...

  2. 【caffe-Windows】mnist实例编译之model的使用-classification

     [caffe-Windows]mnist实例编译之model的使用-classification 标签: 深度学习caffe 2016-08-16 11:24 1349人阅读 评论(12) 收藏 ...

  3. Caffe Windows版本的编译

    2019独角兽企业重金招聘Python工程师标准>>> 1:Caffe的主版本只支持Linux,所以要下载专门的Caffe Windows版本,网址为 https://github. ...

  4. 【caffe-Windows】mnist实例编译之model的使用-matlab

    前言 针对上一个caffe文章留下的matlab手写数字识别的问题,感谢caffe中文社区的 @ghgzh 的提示,原文请看:caffe中文社区 第一步 手写图片的制作方法我就不说了,直接把我自己画的 ...

  5. 【caffe-Windows】mnist实例编译之model的生成

    其实这个和cifar的实例基本相同,只不过数据转换的方法不一样 [说明,此博客按照我自己的路径设置的相关操作,读者如果自行选择其他路径,记得在bat和prototxt等文件修改路径] 第一步 下载数据 ...

  6. caffe windows 学习第一步:编译和安装(vs2012+win 64)

    转载自:http://www.cnblogs.com/denny402/p/5041060.html 没有GPU,没有linux, 只好装caffe的windows版本了. 我的系统是win10(64 ...

  7. caffe windows学习:第一个测试程序

    caffe windows编译成功后,就可以开始进行测试了.如果还没有编译成功的,请参考:caffe windows 学习第一步:编译和安装(vs2012+win 64) 一般第一个测试都是建议对手写 ...

  8. caffe/ windows 10 /Can't parse message of type caffe.NetParameter because it is missing required

    背景 将linux下训练的caffemodel移植到windows上使用但是出现以下错误提示:Can't parse message of type "caffe.NetParameter& ...

  9. caffe windows 训练自己的图片数据

    caffe训练自己的数据分为四步: 1.图片数据集准备 2.网络训练所需数据格式 lmdb / leveldb 转换 3.图像均值文件计算 4.网络训练 具体过程如下: 一.图片数据集准备 图片数据收 ...

最新文章

  1. java8 lambda 排序算法,Java8中排序算法比较器的三种写法(使用lambda表达式实现Comparator比较器)...
  2. Loj 【CQOI 2006】简单题,mmp
  3. 拦截器获取请求参数post_SpringBoot拦截器如何获取http请求参数
  4. 不要把HANA跟BW混为一谈
  5. 8086汇编与c++编译器就内存方面的感想
  6. 记录A component required a bean named ‘studentService‘ that could not be found.
  7. linux挂载硬盘_Linux服务器如何识别移动硬盘?
  8. 转SQL中判断是否存在..........
  9. 大数据架构师工作内容有哪些?
  10. java线性数据结构_Java实现数据结构之线性结构
  11. Linux tmux 使用指南
  12. 好奇怪呀后面加什么标点_沙发位后面是窗户有什么好的方案?
  13. Unity粒子特效出现慢
  14. 王德明——全球旅行达人,走遍世界阅尽繁华,为何他独爱于此?
  15. The Dominant Color (20)
  16. 向量的数量积和向量积
  17. 三色过人脸脚本_格灵深瞳算法团队获得NIST人脸识别竞赛全球第一
  18. 前端页面直接根据URL链接生成二维码【亲测可用】
  19. 线性表中的尾插法单链表的学习
  20. PSPICE混沌电路的相图操作

热门文章

  1. Java中xmp标签的作用_如何在Java中从JPEG读取XMP面部数据
  2. php怎么关闭全部进程,怎么关闭swoole进程
  3. Roadblocks(次短路经)
  4. Numbers on the Chessboard
  5. java 事务的提出者_java中什么是事务
  6. 编写mysql的工具_自己编写的数据库工具类
  7. latex图片标题居中
  8. redis 保存 array list 区别_为什么Redis的RDB备份不用多线程实现CopyOnWrite?
  9. matlab给0数组赋值,MATLAB中怎么把一个函数的一部分赋值给一个变量或数组,比如怎么把sin(x)大于0的部分赋值给f....
  10. 用Java编写约分最简公式,2013年Java方向C组第五题