Data: Ins and Outs

Caffe中使用Blob存储、传递、处理数据。Data layers读写任意格式的数据都是以Blob作为媒介的。对于输入数据的一些基本预操作,如mean-subtraction(减去均值)、feature-scaling(特征归一化)都是在data layer中进行的。允许自定义新的data layer以提供新的输入形式(input types)。

下面这个data layer的定义,读取MNIST数据:

layer {name: "mnist"type: "Data"# 第一个输出是数据本身top: "data"# 第二个输出是标签top: "label"# Data layer具体配置data_param {# 数据库路径source: "examples/mnist/mnist_train_lmdb"# 数据库类型:LEVELDB或LMDB (LMDB支持并行读取)backend: LMDB# 批量读取,提高效率batch_size: 64}# 数据预处理transform_param {# 特征归一化系数,将范围为[0, 255]的MNIST数据归一化为[0, 1]scale: 0.00390625}
}
  • Tops and Bottoms:一个data layer从top blobs输出数据,但是没有bottom blobs因为data layer没有输入。

  • Data and Label:一个data layer至少要有一个输出,可以称之为data。当然也可以有第二个输出,称为label。这样命名只是习惯而已,对于分类模型也更为方便。

  • Transformations:在data layer的定义中,数据预处理通过transform_param参数来定义。

layer {name: "data"type: "Data"[...]transform_param {scale: 0.1mean_file_size: mean.binaryproto# 用于对images进行水平镜像处理或者随机裁剪处理mirror: 1  # 1 = on, 0 = off# 裁剪大小为`crop_size` x `crop_size`# - 训练时为随机裁剪# 测试时从中央开始裁剪crop_size: 227}
}
  • Prefetching:后台预读取、预处理

  • Multiple Inputs:Net可以有任意多、任意类型的输入,可以定义任意多的data layer,但是要有唯一的name和top。多输入是useful的,例如可以一个data layer读取data ,另一个data
    layer读取label。这样的话,data和label可以是任意的4D数组。其他的多输入应用可以是multi-modal(多态模式)、sequence
    models(序列模式)。这样的话,就需要自己实现数据预处理或者构造一个自定义data layer。


Formats

在 layer catalogue中可以查看data layer的具体细节。


Deployment Input

对于“动态计算部署”(on-the-fly computation deployment),Net定义了input属性(input fields),用于直接在线赋值,或者交互计算。

Caffe学习:Data相关推荐

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

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

  2. Caffe学习系列(17):模型各层特征和过滤器可视化

    转载自: Caffe学习系列(17):模型各层特征和过滤器可视化 - denny402 - 博客园 http://www.cnblogs.com/denny402/p/5105911.html cif ...

  3. Caffe学习系列(16):各层权值参数可视化

    原文有更新: Caffe学习系列(16):各层权值参数可视化 - denny402 - 博客园 http://www.cnblogs.com/denny402/p/5103425.html 通过前面的 ...

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

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

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

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

  6. caffe学习(六):使用python调用训练好的模型来分类(Ubuntu)

    在caffe的学习过程中,我发现我需要一个模板的程序来方便我测试训练的模型.我在上一篇博客中(caffe学习(五):cifar-10数据集训练及测试(Ubuntu) ),最后测试训练好的模型时是修改c ...

  7. Caffe学习笔记4图像特征进行可视化

    Caffe学习笔记4图像特征进行可视化 本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hit201 ...

  8. Caffe学习笔记3——制作并训练自己的数据集

    Caffe学习笔记3 本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和h ...

  9. Caffe学习笔记2

    Caffe学习笔记2-用一个预训练模型提取特征 本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hi ...

  10. Caffe 学习笔记1

    Caffe 学习笔记1 本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和 ...

最新文章

  1. 收藏 | 图像识别的可视化解释神经网络
  2. 机器人也需要拥有属于自己的性格
  3. egg mysql 连表查询_Egg中使用Sequelize框架关联查询Mysql数据库
  4. 3、 PPT合并形状
  5. Scikit_Learn介绍及演练
  6. JZ32变形~剑指 Offer 32 - II. 从上到下打印二叉树 II
  7. java入门第五步之数据库项目实战
  8. 允许使用抽象类类型 isearchboxinfo 的对象_Java面向对象之final、abstract抽象、和变量生命周期...
  9. 数据分析案例:超市数据分析
  10. mysql 模糊查询 查询条件为多个
  11. 全新型App开放框架—Clouda
  12. 微软自动调参工具—NNI安装与快速上手,AutoML必备工具
  13. windows10删除自带输入法
  14. mfc 中如果存在sleep延时后按钮无法响应解决方案
  15. 网页回拨(客服)的弊端
  16. form表单的提交!!!
  17. 用pytorch官网命令 安装pytorch1.10.1+CUDA11.1报错
  18. 弘辽科技:B站携手阿里入股如涵 UP主里要诞生下一个李佳琦?
  19. win10xp化折腾指南
  20. 婚宴座位图html5,结婚酒席座位安排

热门文章

  1. 凸集、锥、凸锥、正常锥的辨析
  2. express 设置header解决跨域问题
  3. Linux on-the-fly kernel patching without LKM
  4. mybatis list条件判断
  5. SSL-ZYC 2416 条形图
  6. 启动orcal服务和监听的命令的一种方式
  7. HTTP中的POST、GET区别
  8. 房产纠纷官司费用是多少
  9. jQuery整理您的笔记----jQuery开始
  10. [转]NHibernate:many-to-one/one-to-many/many-to-many关系映射