参考:http://www.cnblogs.com/denny402/p/5083300.html

上述主要介绍的是从自己的原始图片转为lmdb数据,再到训练、测试的整个流程(另外可参考薛开宇的笔记)。

用的是自带的caffenet(看了下结构,典型的CNN),因为没有GPU,整个过程实在是太慢了,因此我将其改为二分类,只留3,4两类训练测试

训练时两类各80张,共160张;测试时两类各20张,共40张。

首先看下solver.prototxt配置文件中各参数的含义

net: "examples/mnist/lenet_train_test.prototxt" //设置网络模型
test_iter: //测试批次,与batch_size结合来看
test_interval: //每训练500次测试一次
base_lr: 0.01 //基出学习率
momentum: 0.9 //上一次梯度更新权重
type: SGD//优化算法
weight_decay: 0.0005//权重衰减,防止过拟合
lr_policy: "inv"//学习率的变化方式
gamma: 0.0001//学习率变化的比率
power: 0.75 //指数
display: //每训练20次显示一次
max_iter: //最大迭代次数
snapshot: //每迭代将训练的model和solver状态进行保存
snapshot_prefix: "examples/mnist/lenet"
solver_mode: CPU

还需修改train_val.proto中的data layer(train,test)。因为是二分类,因此需要将train_val.proto中的InnerProduct层

(全连接层,即输出层)的输出改为2。

第一次训练时,默认输出1000个类别忘了改,max_iter设为100,没多久就跑出来了,但跑出来的准确率为0。

第二次改完后,max_iter增加到1000,电脑几乎卡顿,等会看实验结果。

21:29,目前迭代了40次,准确率还是0,loss稍微降了点(估计得跑一夜了。。。)

22:15,目前迭代了60次,准确率为0,loss由开如的3点多降到了2.7左右。。。

caffe学习系列(2):训练和测试自己的图片的更多相关文章

  1. Caffe学习系列(12):不同格式下计算图片的均值和caffe.proto

    均值是所有训练样本的均值,减去之后再进行训练会提高其速度和精度. 1.caffe下的均值 数据格式是二进制的binaryproto,作者提供了计算均值的文件compute_image_mean, 计算 ...

  2. Caffe学习系列(12):训练和测试自己的图片

    学习caffe的目的,不是简单的做几个练习,最终还是要用到自己的实际项目或科研中.因此,本文介绍一下,从自己的原始图片到lmdb数据,再到训练和测试模型的整个流程. 一.准备数据 有条件的同学,可以去 ...

  3. 转 Caffe学习系列(12):训练和测试自己的图片

    学习caffe的目的,不是简单的做几个练习,最终还是要用到自己的实际项目或科研中.因此,本文介绍一下,从自己的原始图片到lmdb数据,再到训练和测试模型的整个流程. 一.准备数据 有条件的同学,可以去 ...

  4. Caffe学习系列(12):训练和测试自己的图片--linux平台

    Caffe学习系列(12):训练和测试自己的图片   学习caffe的目的,不是简单的做几个练习,最终还是要用到自己的实际项目或科研中.因此,本文介绍一下,从自己的原始图片到lmdb数据,再到训练和测 ...

  5. Caffe学习系列(23):如何将别人训练好的model用到自己的数据上

    caffe团队用imagenet图片进行训练,迭代30多万次,训练出来一个model.这个model将图片分为1000类,应该是目前为止最好的图片分类model了. 假设我现在有一些自己的图片想进行分 ...

  6. Caffe系列4——基于Caffe的MNIST数据集训练与测试(手把手教你使用Lenet识别手写字体)

    基于Caffe的MNIST数据集训练与测试 原创:转载请注明https://www.cnblogs.com/xiaoboge/p/10688926.html  摘要 在前面的博文中,我详细介绍了Caf ...

  7. Caffe学习系列(22):caffe图形化操作工具digits运行实例

    上接:Caffe学习系列(21):caffe图形化操作工具digits的安装与运行 经过前面的操作,我们就把数据准备好了. 一.训练一个model 右击右边Models模块的” Images" ...

  8. Caffe学习系列(21):caffe图形化操作工具digits的安装与运行

    经过前面一系列的学习,我们基本上学会了如何在linux下运行caffe程序,也学会了如何用python接口进行数据及参数的可视化. 如果还没有学会的,请自行细细阅读: caffe学习系列:http:/ ...

  9. Caffe 学习系列

    学习列表: Google protocol buffer在windows下的编译 caffe windows 学习第一步:编译和安装(vs2012+win 64) caffe windows学习:第一 ...

  10. Caffe学习系列(3):视觉层(Vision Layers)及参数

    所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe学习系列(2):数据层及参数 本文只讲解视觉层(Vision La ...

随机推荐

  1. centos搭建 nginx一直报错 file not found.

    百度了半天找到别人的解决办法 记录下 摘要: file not found. nginx php 这个问题是你配置文件的问题: 查看就是了不要管 nginx 如何开启解析 PHP 的功能? # 成功安 ...

  2. 自然语言0_nltk中文使用和学习资料汇总

    http://blog.csdn.net/huyoo/article/details/12188573 官方数据 http://www.nltk.org/book/ Natural Language ...

  3. HTML教程

    HTML文档可以包含的内容 通过不同的标签,HTML文档可以包含不同的内容,比如文本,链接,图片,列表,表格,表单,框架等. 文本 HTML对文本的支持是最丰富的,你可以设置不同级别的标题,分段和换行 ...

  4. JavaScript排序算法——快速排序

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. Oracle数据库管理系统下对数据库操作常用命令

    desc表名;                                                                       /*查看表结构*/ alter table  ...

  6. Which is the best opencv or matlab for image processing?

    http://www.researchgate.net/post/Which_is_the_best_opencv_or_matlab_for_image_processing Annette Mor ...

  7. js blind使用

    $("#music_up").bind("click",showData()); $("#music_up").bind("cli ...

  8. js控制网页滚动条往下滚动

    function aa(i){ var tm = setInterval(function(){ var t = $(window).scrollTop(); , -) : Math.max((i-t ...

  9. 其他系统与ecshop的会员整合

    步骤一:整合两个的会员数据 用软件Navicat 的 "导入向导"功能,导入你的原数据类型(sql,mdb,db)我的是mdb类型.下一步选择你原有的会员字段“user”.再进行下 ...

  10. Linux下非root用户如何安装软件

    Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...