caffe学习笔记(1):数据层定义

本文介绍了Caffe中的数据层,包括数据预处理、数据来源(如LevelDB、LMDB、内存、HDF5、图片)及其参数设置。数据层作为模型的入口,负责从各种来源获取并处理数据,例如通过设定Transformations进行归一化,通过source、batch_size等参数调整处理方式。
摘要由CSDN通过智能技术生成

要运行caffe,需要mode(train_val.prototxt)和solver(solver.prototxt)组成。
model由多个layer构成,每一layer有许多参数,所有的参数都定义在caffe.proto这个文件中。

层有很多种类型,比如Data,Convolution,Pooling,ReLU等,层之间的数据流动是以Blobs的方式进行,blob代表filter之后的参数。

数据层是每个模型的最底层,是模型的入口,提供数据从Blobs转换成别的格式进行保存输出。

首先,数据的预处理(如减去均值, 放大缩小, 裁剪和镜像等)。

数据来源可以来自高效的数据库(如LevelDB和LMDB),也可以直接来自于内存。如果不是很注重效率的话,数据也可来自磁盘的hdf5文件和图片格式文件。

所有的数据层的都具有的公用参数:

layer {
  name: "data" # 自定义
  type: "Data" # 数据类型,可选择
  # top或bottom: bottom用于输入数据,top用于输出数据。多个top或多个bottom,表示有多个blobs数
  # 据的输入和输出。
  top: "data" # # 训练数据
  top: "label" # 标签,即ground truth
  include {
    phase: TRAIN # 可选,TRAIN, TEST。该layer是属于训练阶段还是属于测试阶段,需要用include
                 # 来指定。如果没有include参数,则表示该层既在训练模型中,又在测试模型中。
  }
  transform_param {
    mean_file: "examples/cifar10/mean.binaryproto"
  }
  data_param {
    source: "examples/cifar10/cifar10_train_lmdb"
    batch_size: 100
    backend: L
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值