【caffe-Windows】cifar实例编译之model的使用

本文讲解如何对网上下载的一个图片利用训练好的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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/246706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python 命令汇总

python 库windows安装 兵种:python程序员。 等级:二级。 攻击:较高。 防御:普通。 价格:低。 天赋:胶水,我方有c程序员时,速度可达到c程序员的80%。 天赋:成熟&…

spectral hashing--谱哈希源码解析

论文里面看到了谱哈希用来找子集的用处,不管有没有用,先转再说 原文地址:http://blog.sina.com.cn/s/blog_67914f290101d2xp.html 最近看了有关谱哈希的一些东西,记录一下备忘。理解十分粗浅,敬请各位大牛指导。 一、…

【PTVS+Theano+CPU/GPU】在windows下使用VS安装theano深度学习工具

唉。好不容易折腾完毕caffe,突然发现caffe比较适合搭建卷积神经网络,而对于DBN和LSTM的搭建好像比较麻烦,相关教程没有找到,手头上又有一个theano的代码想调试看看,所以入坑了。 准备工具: VS2013:链接&a…

人工神经网络——【BP】反向传播算法证明

第一步:前向传播 【注】此BP算法的证明仅限sigmoid激活函数情况。本博文讲道理是没错的,毕竟最后还利用代码还核对了一次理论证明结果。 关于更为严谨的BP证明,即严格通过上下标证明BP的博客请戳这里 简单的三层网络结构如下 参数定义&…

参数模型和非参数模型的区别

原文地址:http://blog.csdn.net/gao1440156051/article/details/44003051 参数与非参数模型  用代数方程、微分方程、微分方程组以及传递函数等描述的模型都是参数模型。建立参数模型就在于确定已知模型结构中的各个参数。通过理论分析总是得出参数模型。非参数模…

【matlab函数】——str2func函数的使用

官方点的叫法,在网上被称为函数句柄 用途在于,比如你定义了两个函数:strupper()用于寻找字符串的大写字母数目;strlower()用于寻找字符串的小写字母数目 现在使用str在这里面调换使用如下: funcstr;%统一前缀 myfuncstr2func(fu…

什么是NP完全问题?

本文转自:http://blog.csdn.net/xueyong4712816/article/details/6509592 NP完全问题,是世界七大数学难题之一,排在百万美元大奖的首位,够诱惑力吧!咋不求得奖只需要了解了解它是什么就可以了。 什么是NP完全问题,NPN…

【caffe-Windows】微软官方caffe之 matlab接口配置

前言 按照微软的官方地址配置可能会出现一个问题caffe_.mexw64找不到引用模块问题,或者在matlab里面压根找不到caffe_这个函数,下面会提到这两个问题。还是按照步骤来吧 【PS1】有GPU同样按照下述步骤,进行即可 【PS2】文章在matlab2013a、…

【混淆矩阵】matlab画混淆矩阵

主要借鉴此博客代码:http://blog.csdn.net/sherry_gp/article/details/50560003 但是这个博主的代码达不到我想要的效果,所以修改了一下 我想要实现的效果是:给定一列的预测标签,以及这一列标签的哪一部分理应属于哪一部分标签。…

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

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

吉布斯采样——原理及matlab实现

原文来自:https://victorfang.wordpress.com/2014/04/29/mcmc-the-gibbs-sampler-simple-example-w-matlab-code/ 【注】评论区有同学指出译文理论编码有误,请参考更官方的文献,个人当时仅验证过红色字体部分理论与维基百科中二位随机变量吉…

【matlab知识补充】conv2、filter2、imfilter函数原理

原文地址:http://www.ilovematlab.cn/thread-293710-1-1.html -------------------------------------conv2函数---------------------------------------- 1、用法 Cconv2(A,B,shape); %卷积滤波 复制代码A:输入图像,B:卷积核假设输入图像A大…

【matlab函数】diff函数

diff函数是用来求导数的 更新日志:2021-3-16 经评论区SHolmesCSU 指正,此函数为求解差分,而非导数。 在matlab官方文档中,利用差分近似导数需要除以步长,即 diff(X)/step_size 目前用到的调用格式为diff(A&#x…

显示mnist手写数字

前言 可视化什么的,总是好的 方法一 其实也就是用到了Ruslan Salakhutdinov and Geoff Hinton提供的工具包 % Version 1.000 % % Code provided by Ruslan Salakhutdinov and Geoff Hinton % % Permission is granted for anyone to copy, use, modify, or distr…

【matlab函数】convn多维卷积

简单的卷积就不说了,向量卷积用此函数与用conv效果相同,矩阵卷积用此函数与conv2的二维卷积效果相同。 此函数的方便之处在于支持三维卷积:其实相对于conv2来说就是省了一个for循环。对于三维卷积,比如A矩阵大小为[2,3,3]&#x…

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

仿照cifar10的模型使用,本文对mnist的训练方式做了部分修改 【注】本文caffe安装路径为E:\CaffeDev-GPU\caffe-master。请自行参考并修改相关路径(debug以及release参考你编译caffe时候采用的模式) 第一步 按照前面的model生成方法的前两步骤制作数据集&#xff…

误差error,偏置bias,方差variance的见解

更新日志:2020-3-10 谢谢ProQianXiao的指正。偏差-方差的确是在测试集中进行的。 之前的误解是,偏差和方差的计算是同一个模型对不同样本的预测结果的偏差和方差;而实际上是不同模型对同一个样本的预测结果的偏差和方差。 这时候就要祭出网…

【caffe-Windows】以mnist为例lmdb格式数据

前言 前面介绍的案例都是leveldb的格式,但是比较流行和实用的格式是lmdb,原因从此网站摘取 它们都是键/值对(Key/Value Pair)嵌入式数据库管理系统编程库。虽然lmdb的内存消耗是leveldb的1.1倍,但是lmdb的速度比level…

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

前言 针对上一个caffe文章留下的matlab手写数字识别的问题,感谢caffe中文社区的 ghgzh 的提示,原文请看:caffe中文社区 第一步 手写图片的制作方法我就不说了,直接把我自己画的几个数字放到云盘先: 三通道图像以及…

【caffe-Windows】训练自己数据——数据集格式转换

前言 看了mnist和cifar的实例,是不是想我们现实中一般都是一张张的图片,和实例里面都不一样呢?那么如何来进行训练呢?为了能够简便点,我们就不自己去采集数据集了,因为第一自己采集的数据集量可能不够&…