Caffe中文件参数设置(九-2):训练和测试自己的数据集-windows10版本

标签: caffe 小项目 自己的数据集 测试 layer
114人阅读 评论(0) 收藏 举报
分类:

一、从网上自己下载数据集

1.1我下载了两类图片,分别为“鸟”:30张;“猫”:30张(注意:随意下载即可)


 二、数据集处理

2.1批量重命名

方法:将文件全部选中,然后右键点击重命名,修改如图所示:


2.2批量转换图片大小(先预定设置成28*28)

使用一般的看图软件就可以转换。(我这里使用2345看图王)

注意:在样本转换为LEVEDB文件之前,需要把图片弄到同一大小,否则会出错。

2.3准备训练和测试数据文件夹

(1)“鸟”和“猫”每一种选择25张图片作为训练集合,剩余5张作为测试集合

(2)所以最后train文件夹中由50张图片,test文件夹中由10张图片

2.4制作标签文件(txt

手动制作如下:(在后面标明是哪一类,我这里使用0表示鸟,1表示猫)



三、编写脚本文件

(1)对测试数据集进行转换:先用txt文件编写,然后将后缀改为.bat然后双击运行就可以了

脚本文件内容如下:

SET GLOG_logtostderr=1
D:\caffe-master\Build\x64\Debug\convert_imageset.exe --backend=leveldb C:\Users\Administrator\Desktop\data\test\ C:\Users\Administrator\Desktop\data\test.txt C:\Users\Administrator\Desktop\data\mtestldb 
pause

(2)对训练集进行转换

脚本文件内容如下:

SET GLOG_logtostderr=1
D:\caffe-master\Build\x64\Debug\convert_imageset.exe --backend=leveldb C:\Users\Administrator\Desktop\data\train\ C:\Users\Administrator\Desktop\data\train.txt C:\Users\Administrator\Desktop\data\mtrainldb 
pause

(3)均值计算

脚本内容如下:

D:\caffe-master\Build\x64\Debug\compute_image_mean.exe C:\Users\Administrator\Desktop\data\mtrainldb mean.binaryproto --backend=leveldb
pause

(4)train-test文件夹中拷贝cifar10中的这俩文件然后进行修改

(5)运行脚本创建

Caffe.bat

脚本内容如下:

SET GLOG_logtostderr=1
D:\caffe-master\Build\x64\Debug\caffe.exe train --solver C:\Users\Administrator\Desktop\data\train-test\cifar10_quick_solver.prototxt

按图修改即可,然后双击caffe.bat就会自动运行了

注意:要记得修改lenet_solver.protptxtlenet_train_test.prototxt中的东西

 

四、经过以上步骤后,你的数据集文件夹中应包含如下文件:


五、

(1)这个batch_size表示一次读取的图片数量

(2)需要修改的地方1

name: "CIFAR10_quick"
layer {
  name: "cifar"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
  transform_param {        //【第1块修改的地方】下面是均值文件所在的路径,改为你自己的均值文件所在的路径
    mean_file: "data/mine/train_mean.binaryproto"
  }
  data_param {            //【第2块修改的地方】下面改为训练样本生成的数据库所在的目录[注意:是训练样本数据库]
    source: "data/mine/mtrainldb"
    batch_size: 50    //【第3块修改的地方】由于我们的训练样本不多,所以我们一次读入50张图片就好
    backend: LEVELDB
  }
}
layer {
  name: "cifar"
  type: "Data"
  top: "data"
  top: "label"
  include {
    phase: TEST
  }
  transform_param {    //【第4块修改的地方】下面是均值文件所在的路径,改为你自己的均值文件所在的路径
    mean_file: "data/mine/train_mean.binaryproto"
  }
  data_param {      //【第5块修改的地方】下面改为测试样本生成的数据库所在的目录[注意:是测试样本数据库]
    source: "data/mine/mtestldb"
    batch_size: 50//【第6块修改的地方】由于我们的测试样本只有150张,所以我们一次读入50张图片就好
    backend: LEVELDB
  }
}
layer {
  name: "conv1"
  type: "Convolution"
  bottom: "data"
  top: "conv1"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }

   中间的省略......
layer {
  name: "ip2"
  type: "InnerProduct"
  bottom: "ip1"
  top: "ip2"
  param {
    lr_mult: 1
  }
  param {
    lr_mult: 2
  }
  inner_product_param {
    num_output: 3         //【第7块修改的地方】我们现在是3分类问题,所以将第二个全连接层改为3
    weight_filler {
      type: "gaussian"
      std: 0.1
    }
    bias_filler {
      type: "constant"
    }
  }
}
layer {
  name: "accuracy"
  type: "Accuracy"
  bottom: "ip2"
  bottom: "label"
  top: "accuracy"
  include {
    phase: TEST
  }
}
layer {
  name: "loss"
  type: "SoftmaxWithLoss"
  bottom: "ip2"
  bottom: "label"
  top: "loss"
}


(3)需要修改的地方2

//【1】改为你自己的网络模型配置文件的目录
net: "data/mine/train-val/cifar10_quick_train_test.prototxt"
//【2】预测阶段迭代次数,设为3,因为batch_size设为50,这样就可以覆盖150张测试集图片
test_iter: 3
//【3】每迭代50次, 进行一次测试
test_interval: 50
//【4】权值学习率,其实就是在反向传播阶段,权值每次的调整量的程度
base_lr: 0.001
momentum: 0.9
weight_decay: 0.004
//【5】在整个过程中,我们使用固定的学习率,也可尝试使用可变学习率
lr_policy: "fixed"
//【6】因为想观察每一次训练的变化,所以设置迭代一次显示一次内容
display: 1
//【7】将最大迭代次数设为4000
max_iter: 4000
//【8】每迭代1000次输出一次结果
snapshot: 1000
//【9】输出格式
snapshot_format: HDF5
//【10】输出文件的前缀
snapshot_prefix: "data/mine/cifar10_quick"
//【11】用的是CPU
solver_mode: CPU
注意:在修改路径的时候,路径中不能含有中文,同时路径格式要正确,转义字符要用“/”或者“\\”,不可以使用“\”
(4)


这个错误是刚刚修改的solver层设置出现了问题,回去继续修改就可以了。

至于如何修改,我现在刚刚接触,还在学习中,如果哪位朋友有好的资料可以分享以下,谢谢大家了。

查看评论

windows10下利用caffe model训练自己的数据

注:本篇为了完整性,现先写简单概念,下一篇详细总结caffe网络模型各层参数。一、背景知识1.caffe源码结构与核心概念:附计算所刘昕老师的图:可以看到caffe源码文件夹主要内容与功能: 核心概...
  • yiyisunshine
  • yiyisunshine
  • 2017-03-06 15:24:56
  • 1915

Caffe:Win10下测试自己制作的数据集

配置环境参照我的上一篇博文,整个测试过程是在网上爬出来并亲自实践总结,中间遇到的各种问题已详细po出,供大家交流学习。 =================================...
  • DoveJay
  • DoveJay
  • 2017-04-15 11:50:01
  • 1001

Caffe训练和测试自己的数据集

学习caffe后跑了自带的例子是不是感觉很不过瘾,学习caffe的目的不是简单做几个练习,而是要用到自己的实际项目或者科研中,所以本文介绍如何从自己的原始图片到lmdb数据,再到训练和测试模型的整个流...
  • gaohuazhao
  • gaohuazhao
  • 2017-04-07 17:02:06
  • 2327

Ubuntu上配置SSD-caffe+运行demo+训练测试自己的数据集

注意:首先要配置好环境,包括Ubuntu16.04+cuda8.0+cuDNN5.1+caffe+anaconda2+opencv3,并保证caffe编译通过。可参考我之前的博客进行安装编译。一、安装...
  • jiangyanting2011
  • jiangyanting2011
  • 2017-12-22 14:48:37
  • 335

caffe学习(五):cifar-10数据集训练及测试(Ubuntu)

简介CIFAR-10数据集包括由10个类别的事物,每个事物各有6000张彩色图像,每张图片的大小是32*32。 整个数据集被分成了5个训练集和1个测试集,各有10000张图片,即50000张图片用于...
  • hongbin_xu
  • hongbin_xu
  • 2017-07-30 22:52:28
  • 1471

Windows caffe vs2013训练自己的数据

windows caffe请参考 http://blog.csdn.net/hanpengpeng329826/article/details/52230553     1.数据格式转换 Ca...
  • hanpengpeng329826
  • hanpengpeng329826
  • 2016-09-25 10:29:49
  • 1881

windows 下的caffe- 生成自己的数据集,并训练测试

以binery分类为例; 1、train datas的1class和0class分别存放到不同文件夹下,validation datas也同样; 2、在各数据集文件夹下输入:dir /b/d >tra...
  • my88site
  • my88site
  • 2016-12-28 14:52:47
  • 695

caffe中训练自己的数据集的步骤

caffe中训练自己的数据集的步骤
  • wfei101
  • wfei101
  • 2017-07-15 07:55:45
  • 1792

caffe下fcn数据集的制作

看过我上篇博客的人,想必已经跑通了作者的fcn数据集,现在就就是制作自己的数据集并进行训练。其实不难,首先我们分析一下作者的数据集voc。根据他的数据集,模仿一个即可。 首先我们看作者训练时需要的两个...
  • supe_king
  • supe_king
  • 2017-02-18 10:47:42
  • 4575

FCN训练自己的数据集及测试

1 默认caffe已配置好,直接下载FCN网络模型 https://github.com/shelhamer/fcn.berkeleyvision.org 将模型文件放到caffe-master路...
  • z13653662052
  • z13653662052
  • 2017-04-29 15:10:20
  • 8451
    个人资料
    持之以恒
    等级:
    访问量: 3249
    积分: 337
    排名: 23万+
    文章存档
    最新评论