关闭

Caffe中文件参数设置(五):Blob,Layer,Net以及对应配置文件的编写

标签: caffe参数设置BLOBLAYERNET
58人阅读 评论(0) 收藏 举报
分类:

深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。Blob是caffe框架中一种标准的数组,一种统一的内存接口,它详细描述了信息是如何存储的,以及如何在层之间通讯的。

1、blob

Blobs封装了运行时的数据信息,提供了CPU和GPU的同步。从数学上来说, Blob就是一个N维数组。它是caffe中的数据操作基本单位,就像matlab中以矩阵为基本操作对象一样。只是矩阵是二维的,而Blob是N维的。N可以是2,3,4等等。对于图片数据来说,Blob可以表示为(N*C*H*W)这样一个4D数组。其中N表示图片的数量,C表示图片的通道数,H和W分别表示图片的高度和宽度。当然,除了图片数据,Blob也可以用于非图片数据。比如传统的多层感知机,就是比较简单的全连接网络,用2D的Blob,调用innerProduct层来计算就可以了。

在模型中设定的参数,也是用Blob来表示和运算。它的维度会根据参数的类型不同而不同。比如:在一个卷积层中,输入一张3通道图片,有96个卷积核,每个核大小为11*11,因此这个Blob是96*3*11*11. 而在一个全连接层中,假设输入1024通道图片,输出1000个数据,则Blob为1000*1024

2、layer

层是网络模型的组成要素和计算的基本单位。层的类型比较多,如Data,Convolution,Pooling,ReLU,Softmax-loss,Accuracy等,一个层的定义大至如下图:

从bottom进行数据的输入 ,计算后,通过top进行输出。图中的黄色多边形表示输入输出的数据,蓝色矩形表示层。

每一种类型的层都定义了三种关键的计算:setup,forward and backword

setup: 层的建立和初始化,以及在整个模型中的连接初始化。

forward: 从bottom得到输入数据,进行计算,并将计算结果送到top,进行输出。

backward: 从层的输出端top得到数据的梯度,计算当前层的梯度,并将计算结果送到bottom,向前传递。

3、Net

就像搭积木一样,一个net由多个layer组合而成。

现给出 一个简单的2层神经网络的模型定义( 加上loss 层就变成三层了),先给出这个网络的拓扑。
第一层:name为mnist, type为Data,没有输入(bottom),只有两个输出(top),一个为data,一个为label
第二层:name为ip,type为InnerProduct, 输入数据data, 输出数据ip
第三层:name为loss, type为SoftmaxWithLoss,有两个输入,一个为ip,一个为label,有一个输出loss,没有画出来。
对应的配置文件prototxt就可以这样写:
    name: "LogReg"  
    layer {  
      name: "mnist"  
      type: "Data"  
      top: "data"  
      top: "label"  
      data_param {  
        source: "input_leveldb"  
        batch_size: 64  
      }  
    }  
    layer {  
      name: "ip"  
      type: "InnerProduct"  
      bottom: "data"  
      top: "ip"  
      inner_product_param {  
        num_output: 2  
      }  
    }  
    layer {  
      name: "loss"  
      type: "SoftmaxWithLoss"  
      bottom: "ip"  
      bottom: "label"  
      top: "loss"  
    }  
第一行将这个模型取名为LogReg, 然后是三个layer的定义,参数都比较简单,只列出必须的参数。

以上转自:http://blog.csdn.net/langb2014/article/details/50457760

0
0
查看评论

Caffe框架的理解(一):从blob到layer到net

本文转载自caffe学习心得(一)Blobs,Layers,Nets: caffe模型解剖 ——beyond. Caffe用自己的建模方法将网络一层一层定义出来。网络由输入数据到损失层把整个模型自底向上的定义出来。数据和偏导数在网络中前向、后向流动。Caffe使用blob存储、交换、操纵这些信息。
  • u013832707
  • u013832707
  • 2017-02-21 19:45
  • 1012

(Caffe)基本类Blob,Layer,Net(一)

本文地址:http://blog.csdn.net/mounty_fsc/article/details/51037006 Caffe中,Blob,Layer,Net,Solver是最为核心的类,以下介绍这几个类,Solver将在下一节介绍。1 Blob1.1 简介Blob是: 对待处理数据带一层封...
  • mounty_fsc
  • mounty_fsc
  • 2016-04-07 14:26
  • 10770

Blob,Layer and Net以及对应配置文件的编写_caffe

Blob,Layer and Net以及对应配置文件的编写_caffe 转自:denny402  http://www.cnblogs.com/denny402/p/5073427.html 深度网络(net)是一个组合模型,它由许多相互连接的...
  • linyigreat
  • linyigreat
  • 2018-01-11 11:08
  • 24

Caffe中Layer和Net细解

Caffe中Layer和Net细解
  • wuqingshan2010
  • wuqingshan2010
  • 2017-05-02 16:31
  • 397

caffe——Blob,Layer,Net 及其对应配置文件的编写

caffe——Blob,Layer,Net 及其对应配置文件的编写 Dl是一个组合模型,它由许多层组合而成。caffe就是组建深度网络的一个工具,它按照一定测策略,一层一层搭建出自己的模型。它将所有信息数据定义为blobs,以便进行操作和通讯。Blob是caffe框架中一个标准数据类型。是一个统一...
  • gufeng_1992
  • gufeng_1992
  • 2017-05-30 17:46
  • 160

Caffe中的Layer是如何工作的?

关于Layers的一些概述 Layers是Caffe中最复杂、承担的工作量最大的一类组件。从数据的载入(Input layer), 卷积的计算(Conv layer),对feature map的下采样(pooling layer),网络非线性的引入(ReLU layer,Sigmoid layer)...
  • withwsf
  • withwsf
  • 2016-05-30 12:24
  • 1261

Caffe学习系列(6):Blob,Layer and Net以及对应配置文件的编写

深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。Blob是caffe框架中一种标准的数组,一种统一的内存接口,它详细描...
  • qq_26898461
  • qq_26898461
  • 2016-01-01 17:21
  • 1649

caffe accuracy层以及blob的梳理

基础概念blob的reshapereshape接收的是一个vector的参数,目的是要给这个blob分配相应的内存空间。这个vector参数,表示了不同的维度,一般就是N*C*H*W,如[0]表示N,[1]表示C,等。 直观的解析就是:有N张图,每张图有C个channel,每张图的大小是H*W,如...
  • brightming
  • brightming
  • 2016-12-31 22:21
  • 2966

caffe代码阅读5:Layer的实现细节-2016.3.17

解析Caffe中的Layer类的相关具体的实现。
  • xizero00
  • xizero00
  • 2016-03-17 15:57
  • 9027

caffe学习:Blob、Layer、Net的说明及其配置文件编写

深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成。Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型。它将所有的信息数据定义为blobs,从而进行便利的操作和通讯。
  • Hanging_Gardens
  • Hanging_Gardens
  • 2018-01-02 21:16
  • 67
    个人资料
    • 访问:1648次
    • 积分:259
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:11篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档