您的位置:首页 > Web前端

caffe之(二)pooling层

2016-03-04 00:54 302 查看
在caffe中,网络的结构由prototxt文件中给出,由一些列的Layer(层)组成,常用的层如:数据加载层、卷积操作层、pooling层、非线性变换层、内积运算层、归一化层、损失计算层等;本篇主要介绍pooling层

1.Pooling层总述

下面首先给出pooling层的结构设置的一个小例子(定义在.prototxt文件中)

layer{
name:"pool1"//该层的名称
type:"Pooling"//该层的类型
bottom:"norm1"//该层的输入数据blob
top:"pool1"//该层的输出数据blob

//该层的相关参数设置
pooling_param{
pool:MAX//pooling类型,默认值为MAX,也可以设置为AVE,STOCHASTIC
kernel_size:3//pooling核大小,为必设参数
stride:2//pooling核步长,默认值为1(即重叠),但通常设置为2;
}

}


注:在caffe的原始proto文件中,关于卷积层的参数PoolingParameter定义如下:

messagePoolingParameter{
enumPoolMethod{
MAX=0;
AVE=1;
STOCHASTIC=2;
}
optionalPoolMethodpool=1[default=MAX];//Thepoolingmethod
//Pad,kernelsize,andstrideareallgivenasasinglevalueforequal
//dimensionsinheightandwidthorasY,Xpairs.
optionaluint32pad=4[default=0];//Thepaddingsize(equalinY,X)
optionaluint32pad_h=9[default=0];//Thepaddingheight
optionaluint32pad_w=10[default=0];//Thepaddingwidth
optionaluint32kernel_size=2;//Thekernelsize(square)
optionaluint32kernel_h=5;//Thekernelheight
optionaluint32kernel_w=6;//Thekernelwidth
optionaluint32stride=3[default=1];//Thestride(equalinY,X)
optionaluint32stride_h=7;//Thestrideheight
optionaluint32stride_w=8;//Thestridewidth
enumEngine{
DEFAULT=0;
CAFFE=1;
CUDNN=2;
}
optionalEngineengine=11[default=DEFAULT];
//Ifglobal_poolingthenitwillpooloverthesizeofthebottombydoing
//kernel_h=bottom->heightandkernel_w=bottom->width
optionalboolglobal_pooling=12[default=false];
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: