zoukankan      html  css  js  c++  java
  • caffe学习系列(2):训练和测试自己的图片

    参考: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: 100    //测试批次,与batch_size结合来看
    test_interval: 500 //每训练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 //每训练20次显示一次
    max_iter: 1000 //最大迭代次数
    snapshot: 1000 //每迭代将训练的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左右。。。 

              

  • 相关阅读:
    MVC应用程序与单选列表
    jQuery UI的datepicker()与变更格式
    MVC应用程序,动态创建单选列表(RadioButtonList)
    MVC应用程序中,怎样控制与复制相同的功能
    为PartialView传递一个参数
    Nginx高并发性能优化
    Nginx上传和超时时间限制 (php上传限制)
    Nginx反向代理Tomcat访问时浏览器加载失败,出现 ERR_CONTENT_LENGTH_MISMATCH 问题
    Nginx域名访问的白名单配置
    日常运维中的一键安装或启停脚本
  • 原文地址:https://www.cnblogs.com/573177885qq/p/5804863.html
Copyright © 2011-2022 走看看