package caffe;
前面几个比较基础不介绍了,关于caffe blob一些介绍,还有一些数据输入的参数介绍就不介绍了这里酒介绍一些常用到的和比较新的层的参数设置参数。如需转载,请注明转载自:http://blog.csdn.net/mxs30443/article/details/53694695
FillerParameter:
用于指定参数初始化方式,常用的方式有:constant,xavier,gaussian 等。另外考虑到stn实现的需要,caffe-ssd-v1.3以后的版本中我都加入了‘file’字段帮助从文件中读取初始化参数。
SpatialTransformerParameter
transform_type:变换类型,默认仿射变换
sampler_type:采样方式,默认:bilinear
to_compute_dU :是否需要计算d,默认true
STLossParameter
stnloss的参数,output_H,output_W输出的size
LSTMParameter
num_output,输出的size
clipping_threshold:对梯度的clipping,防止LSTM的梯度爆炸现象
batch_size:我一直采用的lstm是Junhyuk 实现的caffe(https://github.com/junhyukoh/caffe-lstm),假如输入是[N]×[H]×[M],(N:batchsize,H:序列长度,M:特征为度)。那么在此版的lstm则是需要输入为[N*H]×[M]。
CTCDecoderParameter
CTC参数blank_index表示加入的空白的标签的位置
CTCLossParameter
和CTCDecoderParameter类似
BatchNormParameter
use_global_stats:如果为真,则使用保存的均值和方差,否则采用滑动平均计算新的均值和方差。该参数缺省的时候,如果是测试阶段则等价为真,如果是训练阶段则等价为假。
moving_average_fraction :滑动平均的衰减系数,默认为0.999
eps:分母附加值,防止除以方差时出现除0操作,默认为1e-5(不同框架采用的默认值不一样),
caffe自带的BatchNorm层,与scale和在一起完成batchnorm,batchnorm层该层也是有参数的
NormalizeParameter & ScaleParameter
原版caffe自带的Normalize层。而Scale层是caffe中batchnorm与scale和在一起完成batchnorm
ConvolutionParameter
num_output:该卷积层的filter个数
kernel_size:卷积层的filter的大小(直接用该参数时,是filter的长宽相等,2D情况时,也可以设置为不能,此时,利用kernel_h和kernel_w两个参数设定)
stride:filter的步长,默认值为1
pad:是否对输入的image进行padding,默认值为0,即不填充(注意,进行padding可能会带来一些无用信息,输入image较小时,似乎不太合适)
DropoutParameter
dropout_ratio :dropout层的丢弃率,表示该层屏蔽多少比例的神经元,默认0.5
EltwiseParameter
EltwiseOp:进行何种操作,定义操作方式1.PROD:按元素乘积 ;2.SUM:按元素求和(默认);3.MAX:保存元素大者
coeff :参数,该参数只对SUM操作起作用。
stable_prod_grad:来选择是否渐进较慢的梯度计算方法,该方法只适用于PROD操作,对SUM操作无效。
InnerProductParameter
num_output:输出的size
transpose:指定是否权重矩阵转置。默认:false,一般没设过这个,都用的默认值
LogParameter
y=log_base(shift + scale * x)
base:默认值为-1,当base设置俄日e时,y = ln(shift + scale * x) = log_e(shift + scale * x)
scale:见上述公式
shift:见上述公式
LRNParameter
norm_region: 选择对相邻通道间归一化还是通道内空间区域归一化,默认ACROSS_CHANNELS,即通道间归一化;
local_size:两种表示(1)通道间归一化时表示求和的通道数;(2)通道内归一化时表示求和区间的边长;默认值为5;
alpha:缩放因子,默认值为1;
beta:指数项,默认值为0.75;
PoolingParameter
PoolMethod:pooling的方式,默认最大池化
pad:padding的size
kernel_size:pooling的核的大小
stride:pooling的步长
ReshapeParameter
shape:使用方式为reshape_param { shape { dim: 2 dim: 2 dim: 0 dim: -1} },表示将第一维读reshape为2,第二维reshape为2,第三维保持不变,第四维根据第一、二、三维推算出来。
TripletLossParameter
margin:计算loss室采用的边距
TripletHamLossParameter
我自己加的一个loss层
margin:计算loss室采用的边距
ham_thres:根据阈值将输入压缩为hash码,默认值0.5