Caffe实例开发学习笔记。——网络配置文件 Layer参数详解——

caffe/example/mnist/lenet_train_test.prototxt)

数据层

caffe一般将数据做成数据库的形式,读取速度快,匹配cpu读取跟GPU运算)

Ø source项是存放LMDB数据的位置;

Ø backend指出数据的后缀是LMDB,而不是jpg或者其它还有一种HDF5);

Ø batch_sizeSGD中一批数据的大小是64一般是2N次方

Ø scale的大小是0.00390625,其等于1/256,意思是将原始图像数据(大小范围为[0,255])归一化到[0,1)范围内。

Ø top: "data"

Ø top: "label"  #一般用bottom表示输入,top表示输出,多个top代表有多个输出

 计算层

(卷积):

param {

    lr_mult: 1  #lr_mult: 学习率的系数,最终的学习率是这个数乘以solver.prototxt配置文件中的base_lr。如果有两个lr_mult, 则第一个表示权值的学习率,第二个表示偏置项的学习率。一般偏置项的学习率是权值学习率的两倍。

  }

  param {

    lr_mult: 2

  }

 num_output: 20 #卷积核(filter)的个数

    kernel_size: 5 #卷积核的大小(5x5x上一层深度)

    stride: 1 #卷积核的步长,默认为1

pad: 0 #扩充边缘,默认为0,不扩充

 

(池化层):  pool: MAX #池化方法,默认为MAX。目前可用的方法有MAX, AVE

    kernel_size: 3 #池化的核大小

    stride: 2 #池化的步长,默认为1。一般我们设置为2,即不重叠。

  }

}

 

#pooling层的运算方法基本是和卷积层是一样的。

 

(激活函数):#ReLU是目前使用最多的激活函数,主要因为其收敛更快,并且能保持同样效果。标准的ReLU函数为max(x, 0),当x>0时,输出x; x<=0时,输出0

f(x)=max(x,0)

 

 

 

layer {

  name: "relu1"

  type: "ReLU"

  bottom: "pool1"

  top: "pool1"

}

(全连接层):#全连接层,输出的是一个简单向量  参数跟卷积层一样(相当于对特征的再提取。)

reshape层):#在不改变数据的情况下,改变输入的维度。

有一个可选的参数组shape, 用于指定blob数据的各维的值(blob是一个四维的数据:n*c*w*h)。

 

dim:0  表示维度不变,即输入和输出是相同的维度。

 

dim:2 dim:3 将原来的维度变成23

 

dim:-1 表示由系统自动计算维度。数据的总量不变,系统会根据blob数据的其它三维来自动计算当前维的维度值 。

 

假设原数据为:32*3*28*28, 表示323通道的28*28的彩色图片

shape {

dim: 0

dim: 0

dim: 14

dim: -1

}

输出数据为:32*3*14*56

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值