Caffe实例开发学习笔记。——网络配置文件 Layer参数详解——
2017-07-07 10:56
603 查看
(caffe/example/mnist/lenet_train_test.prototxt)
数据层
(caffe一般将数据做成数据库的形式,读取速度快,匹配cpu读取跟GPU运算)
Ø source项是存放LMDB数据的位置;Ø backend指出数据的后缀是LMDB,而不是jpg或者其它(还有一种HDF5);
Ø batch_size指SGD中一批数据的大小是64;(一般是2的N次方)
Ø 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
将原来的维度变成2或3
dim:-1 表示由系统自动计算维度。数据的总量不变,系统会根据blob数据的其它三维来自动计算当前维的维度值 。
假设原数据为:32*3*28*28, 表示32张3通道的28*28的彩色图片
shape {
dim: 0
dim: 0
dim: 14
dim: -1
}
输出数据为:32*3*14*56
相关文章推荐
- Caffe学习笔记1——网络配置文件参数
- caffe学习笔记:caffe网络模型文件(.prototxt)layer与layers区别
- haproxy学习笔记之配置文件参数详解
- caffe学习笔记6:Blob,layer and net以及对应配置文件的编写
- Redis学习笔记--Redis配置文件redis.conf参数配置详解
- 【caffe学习笔记】CNN网络配置文件
- haproxy学习笔记之配置文件参数详解
- DL学习笔记【5】caffe参数调节-solver文件
- struts2学习笔记--struts.xml配置文件详解
- 【学习笔记】redis配置文件redis.conf参数说明
- Redis 学习笔记2:redis.conf配置文件详解
- Redis 学习笔记2:redis.conf配置文件详解
- tomcat配置文件参数,一机多实例管理配置.详解
- spring 配置文件详解-个人学习笔记
- 精通simware之网络接口类型和硬件配置文件参数详解
- 深度学习caffe平台--train_val.prototxt文件中激活层(Activiation Layers)及参数及参数详解
- mybatis学习笔记(十二) 映射配置文件详解
- Samba配置文件常用参数详解(方便自己学习)
- 深度学习caffe平台--train_val.prototxt文件中数据层及参数详解
- Hibernate学习笔记--映射配置文件详解