caffe Layers及参数

1、Convolution层:

层类型:Convolution
参数:
lr_mult: 学习率系数,最终的学习率 = lr_mult *base_lr,如果存在两个则第二个为偏置项的学习率,偏置项学习率为权值学习率的2倍
num_output: 卷积核的个数
kernel_size:卷积核大小
stride:卷积核步长
pad:边缘填充
weight_filler:权值初始化。默认为:“constant”:0,可以使用xavier算法进行初始化,也可设置为“gaussian”
bias_filler:偏置项初始化,设置为“constant”:0
bias_term:是否开启偏置项,默认为true
decay_mult:权值衰减
group: 分组,默认为1组。如果大于1,我们限制卷积的连接操作在一个子集内。如果我们根据图像的通道来分组,那么第i个输出分组只能与第i个输入分组进行连接。
dilation: 扩张卷积参数,制定该大小以后则会在进行卷积计算时,添加相应的空洞

输入数据维度为W*W
Filter大小 F×F
步长 S
padding的像素数 P
可以得出
N = (W − F + 2P )/S+1
输出大小为 N×N

2、Pooling层
层类型:Pooling
参数:
kernel_size:必选参数,在一定池化的卷积核大小
pool:池化方法,默认为MAX,还有AVE或STOCHASTIC(按照概率取,数据越大被取到概率越大)
pad:边缘填充,默认为0
stride:池化的步长 一般为2,不重叠池化
在反向传播时,我们首先会把δl的所有子矩阵矩阵大小还原成池化之前的大小,然后如果是MAX,则把δl的所有子矩阵的各个池化局域的值放在之前做前向传播算法得到最大值的位置。如果是Average,则把δl的所有子矩阵的各个池化局域的值取平均后放在还原后的子矩阵位置。这个过程一般叫做upsample。

3、softmax-loss\softmax层

softmax-loss层和softmax层计算大致是相同的。
softmax是一个分类器,计算的是类别的概率(Likelihood)
假设我们有一个数组,V,Vi表示V中的第i个元素,那么这个元素的Softmax值就是


capture.png

也就是说,是该元素的指数,与所有元素指数和的比值
分类可以计算每个分类的概率 分类通道 N(分类数)H(图像高度)W(图像宽度),可以得出分类数的概率
softmax-loss layer:输出loss值
在神经网络的计算当中,我们经常需要计算按照神经网络的正向传播计算的分数S1,和按照正确标注计算的分数S2,之间的差距,计算Loss,才能应用反向传播。Loss定义为交叉熵

Loss.png

取log里面的值就是这组数据正确分类的Softmax值,它占的比重越大,这个样本的Loss也就越小

layer
{
    name:"loss"
    type:"SofmaxWithLoss"
    bottom:"ip1"
    bottom:"label"
    top:"loss"
}
layer
{
    name:"maxSoft"
    type:"Softmax"
    bottom:"cls3_fc"
    top:"prob"
}

4、Inner Product层

层类型:InnnerProduct
全连接层与卷积层一样 ,卷积核与数据大小一致 因此生成的数据为1*1的数据,不用指定 卷积核大小

layer
{
    name:"quanlianjie"
    type:"InnerProduct"
    bottom:"pool1"
    top:"ip1"
    param
    {
        lr_mult:1
    }
    param
    {
        lr_mult:1
    }
    inner_product_param
    {
        num_output:500
        weight_filler
        {
            type:"xavier"
         }
        bias_filler:
        {
            type:"constant"
        }
    }
}

5、Accuracy层

层类型:Accuracy
输出分类(预测)准确度,只有test阶段才有因此需要加入include参数

layer
{
    name:"acc"
    type:"Accuracy"
    bottom:"ip2"
    top:"accuracy"
    include
    {
        phase:TEST
    }
}

6、reshape层

层类型:Accuracy
在不改变数据的情况下,改变输入的维度

layer
{
    name:"reshape"
    type:"Reshape"
    bottom:"input"
    top:"output"
    reshape_param
    {
        shape
        {
            dim:0    //保持原来的维度不变
            dim:2    // 将原来的维度变为2维
            dim:3    // 将原来的维度变为3维
            dim:-1  // 系统自动计算维度
          }
        }
    }

7、Dropout层

层类型:Dropout
防止过拟合的trick,可以随机让网络某些隐藏个层节点的权重不工作

layer
{
    name:"drop"
    type:"Dropout"
    bottom:"fc7-conv"
    top:"fc7-conv"
    dropout+param
    {
        dropout_ratio:0.5
    }
}

8、Eltwise层

Eltwise层的操作有三个:product(点乘), sum(相加减) 和 max(取大值),其中sum是默认操作: 实现element_wise的A+B,即A和B的对应元素相加。

layer
{
    name:"eltwise_layer"
    type:"Eltwise"
    bottom:"A"    
    bottom:"B"
    top:"DIFF"
    eltwise_param
    {
        operation:SUM
        # 若要实现A-B则可以直接指定参数:
        coeff:1
        coeff:-1
    }
}

9、Crop层

主要作用进行裁剪,使用第二个bottom的尺寸裁剪第一个bottom
A(20,50,512,512) B(20,10,256,256)
从第二个轴开始进行裁剪
C = A[:,25:25+B.shape[1], 128+B.shape[2],128+B.shape[3]]

layer
{
    name:"crop_layer"
    type:"Crop"
    bottom:"A"    
    bottom:"B"
    top:"C"
    crop_param
    {
        axis:1
        offset:25        
        offset:128      
        offset:128
    }
}

10、InterP层

对图像进行插值运算

layer
{
    name:"input"
    type:"Interp"
    bottom:"output"
    interp_param
    {
        # 方式一:
        shrink_factor:4  #缩小因子 height_out =  ( heght_in_eff - 1)/shrink_factor +1
        zoom_factor:3   #放大因子height_out + (height_out -1) * (zoom_factor - 1)
        pad_beg:0         # 前/上部填充内容 height_in_eff = height_in + pad_beg+ pad_end      
        pad_end:0        # 下/后部填充内容    

        #########################
        # 方式二:
        height: 65       #指定插值后的图形高度
        width: 65         #指定插值后的图形宽度
    }
}

11、Concat层

把多个bottom拼接为1个output
对于两个bottom N1C1W1H1和bottom N2C2W2H2
可以对N和C进行拼接 W和H一定要一样 concat_dim

layer
{
    name:"Concat_layer"
    type:"Concat"
    bottom:"A"    
    bottom:"B"
    top:"C"
    concat_param
    {
        concat_dim:0   #为0是合并N 为1时合并C
     }
}

12、数据层图像输入层ImageData

source为 图片路径+‘ ’+ label标签

layer {
  name: "demo"
  type: "ImageData"
  top: "data"
  top: "label"
  include {
    phase: TRAIN
  }
  transform_param {
    scale: 0.00390625
    mean_value: 128
  }
  image_data_param {
    source: "/Data/WEP/learn-caffe/CUB_200_2011/image_label.txt"
    root_folder: "/Data/WEP/learn-caffe/CUB_200_2011/images/"
    new_height: 128
    new_width: 128
    is_color: false
    batch_size: 256
    shuffle: true
  }
}

13、激活层

能够增加模型的非线性性,以拟合复杂的函数
ReLU与其说是一个在做一个逼近,不如说是在做一个分段

14、BN层

BN就是在神经网络的训练过程中对每层的输入数据加一个标准化处理。


BN.png

在caffe网络中 最后一步γ*s2 +β由scale层实现,因此在caffe中scale层一般跟在BatchNorm层后

layer {
    bottom: "res2a_branch2b"
    top: "res2a_branch2b"
    name: "bn2a_branch2b"
    type: "BatchNorm"
    batch_norm_param {
        use_global_stats: false
    }
}

12、maxout层

同时连接多个激活函数,选择激活值最大的函数为输出,因此参数会比一个激活函数多k个,因此参数会成倍增加,该层可以看做是对激活层的学习

未完待续...

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容