标签: caffe预测
2017-03-08 21:17 273人阅读 评论(0) 收藏 举报
 分类:
caffe之旅(4) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

搭建好caffe环境后,就需要用自己的图片进行分类预测,主要步骤如下,主要参照http://www.cnblogs.com/denny402/p/5083300.html,感谢博主: 
1、数据准备,下载待训练的图片集,共5类400张,测试集100张,目录分别为data\re\train,data\re\val,新建test.txt、val.txt。

2、转换数据为lmdb,复制create_imagenet.sh文件,修改参数为 

3、计算均值文件,复制make_imagenet_mean.sh文件,修改参数为 

4、制作网络模型,caffe中提供了很多成熟的模型,我们先直接拿过来用,主要用bvlc_reference_caffenet下的模型,复制.\models\bvlc_reference_caffenet\目录下的deploy.prototxt、solver.prototxt、train_val.prototxt三个文件,首先打开train_val.prototxt文件,修改mean、train_lmdb、val_lmdb文件路径,然后修改全连接层fc8的输出num,即分类数, 
 
同样打开deploy.prototxt文件,修改num_output为5(5个类别),然后打开solver.prototxt,修改如下,具体参数意义在此不做说明 

5、开始训练模型,新建.sh文件,输入 
set -e 
.D:/caffe/caffe-windows/Build/x64/Release/caffe train \ 
–solver=D:/caffe/caffe-windows/data/re/solver.prototxt $@ 
pause 
cpu情况下需要训练好几个小时。

6、查看训练结果,待训练完成后,会在相应的路径下生成.caffemodel文件,即我们训练的模型,新建.sh文件,输入 
D:\caffe\caffe-windows\Build\x64\Release\caffe.exe test –model=D:\caffe\caffe-windows\data\re\train_val.prototxt –weights=D:\caffe\caffe-windows\data\re\caffenet_train_iter_2000.caffemodel 
pause 
可以查看模型的训练结果,模型准确度比较低,说明网络模型没有设计好,这里只讲流程,网络模型需要进一步的研究 

7、分类预测,模型训练完成后,就可以输入图片进行分类预测,在根目录下新建.sh文件,输入 
Build\x64\Release\classification.exe data\re\deploy.prototxt data\re\caffenet_train_iter_2000.caffemodel data\re\imagenet_mean.binaryproto data\re\test.txt data\re\val\401.jpg 
pause 
主要有6个参数,第一个是Release下生成的classification.exe文件,第二个是预测文件,deploy.prototxt相对于train_val.prototxt少了data层,第三个是生成的网络模型,第四个是均值文件,第五个是类别文件,第六个是待预测分类的图片 
 
识别率不是很高,需要进一步优化网络模型。

caffe训练自己的图片进行分类预测--windows平台的更多相关文章

  1. python+caffe训练自己的图片数据流程

    1. 准备自己的图片数据 选用部分的Caltech数据库作为训练和测试样本.Caltech是加州理工学院的图像数据库,包含Caltech101和Caltech256两个数据集.该数据集是由Fei-Fe ...

  2. 实践详细篇-Windows下使用Caffe训练自己的Caffemodel数据集并进行图像分类

    三:使用Caffe训练Caffemodel并进行图像分类 上一篇记录的是如何使用别人训练好的MNIST数据做训练测试.上手操作一边后大致了解了配置文件属性.这一篇记录如何使用自己准备的图片素材做图像分 ...

  3. 用训练好的caffemodel对单个/批量图片进行分类

    一.单个图片进行分类 这个比较简单,在*.bat文件中输入以下代码: @echo off set BIN_DIR=D:\caffe\caffe-windows\Build\x64\Release se ...

  4. caffe︱深度学习参数调优杂记+caffe训练时的问题+dropout/batch Normalization

    一.深度学习中常用的调节参数 本节为笔者上课笔记(CDA深度学习实战课程第一期) 1.学习率 步长的选择:你走的距离长短,越短当然不会错过,但是耗时间.步长的选择比较麻烦.步长越小,越容易得到局部最优 ...

  5. 基于Caffe训练AlexNet模型

    数据集 1.准备数据集 1)下载训练和验证图片 ImageNet官网地址:http://www.image-net.org/signup.php?next=download-images (需用邮箱注 ...

  6. 使用caffe训练mnist数据集 - caffe教程实战(一)

    个人认为学习一个陌生的框架,最好从例子开始,所以我们也从一个例子开始. 学习本教程之前,你需要首先对卷积神经网络算法原理有些了解,而且安装好了caffe 卷积神经网络原理参考:http://cs231 ...

  7. Caffe训练AlexNet网络,精度不高或者为0的问题结果

    当我们使用Caffe训练AlexNet网络时,会遇到精度一值在低精度(30%左右)升不上去,或者精度总是为0,如下图所示: 出现这种情况,可以尝试使用以下几个方法解决: 1.数据样本量是否太少,最起码 ...

  8. VS2013配置Caffe卷积神经网络工具(64位Windows 7)——准备依赖库

    VS2013配置Caffe卷积神经网络工具(64位Windows 7)--准备依赖库 2014年4月的时候自己在公司就将Caffe移植到Windows系统了,今年自己换了台电脑,想在家里也随便跑跑,本 ...

  9. Windows平台网站图片服务器架构的演进[转]

    构建在Windows平台之上的网站,往往会被业内众多架构师认为很“保守”.很大部分原因,是由于微软技术体系的封闭和部分技术人员的短视造成 的.由于长期缺乏开源支持,所以只能“闭门造车”,这样很容易形成 ...

随机推荐

  1. 剑指Offer 二进制中一的个数

    链接:https://www.nowcoder.com/questionTerminal/8ee967e43c2c4ec193b040ea7fbb10b8 来源:牛客网 public class So ...

  2. 我要好offer之 搜索算法大总结

    1. 二分搜索 详见笔者博文:二分搜索的那些事儿,非常全面 2. 矩阵二分搜索 (1) 矩阵每行递增,且下一行第一个元素大于上一个最后一个元素 (2) 矩阵每行递增,且每列也递增 3. DFS 深度优 ...

  3. 【CF559C】 Gerald and Giant Chess(计数,方案数DP,数论)

    题意:给出一个棋盘为h*w,现在要从(1,1)到(h,w),其中有n个黑点不能走,问有多少种可能从左上到右下 (1 ≤ h, w ≤ 105, 1 ≤ n ≤ 2000),答案模10^9+7 思路:从 ...

  4. net9:图片文件转换成二进制流存入SQL数据库,以及从数据库中读取二进制流输出文件

    原文发布时间为:2008-08-10 -- 来源于本人的百度文章 [由搬家工具导入] using System;using System.Data;using System.Configuration ...

  5. Lucene.net站内搜索-最简单搜索引擎代码

    Lucene.Net核心类简介 先运行写好的索引的代码,再向下讲解各个类的作用,不用背代码. (*)Directory表示索引文件(Lucene.net用来保存用户扔过来的数据的地方)保存的地方,是抽 ...

  6. pdf转word工具

    pdf转word工具及安装:http://blog.sina.com.cn/s/blog_6172011c0102vxir.html pdf去加密:http://www.downxia.com/dow ...

  7. Java判断语句中判断条件的执行顺序

    if判断里面如果是多个条件的判断,会按照从前往后的顺序执行.基本所有语言都是一致的设计,这样做能提高程序的效率. 比如: if ( conditionA && conditionB ) ...

  8. composer配置和安装php框架

    第一步:安装composerwin环境安装:下载地址:https://getcomposer.org/Composer-Setup.exe 下载后直接点击安装即可测试:cmd ->compose ...

  9. spring事务详细理解

    数据并发的问题 一个数据库可能拥有多个访问客户端,这些客户端都可以并发方式访问数据库.数据库中的相同数据可能同时被多个事务访问,如果没有采取必要的隔离措施,就会导致各种并发问题,破坏数据的完整性.这些 ...

  10. boost exception jam0.exe 异常错误

    在Windows 8 64 bit下执行boost_1_53_0的bootstrap.bat出现了jam0.exe执行错误 搜索网页发现需要修改两处文件: tools/build/v2/engine/ ...