Convolution.md 1.9 KB
Newer Older
S
sunyanfang01 已提交
1 2 3 4 5
## Convolution


### [Convolution](http://caffe.berkeleyvision.org/tutorial/layers/convolution.html)
```
S
SunAhong1993 已提交
6
layer {
S
sunyanfang01 已提交
7 8 9 10
    name: "conv"
    type: "Convolution"
    bottom: "data"
    top: "conv"
S
SunAhong1993 已提交
11
    # 卷积核的局部学习率和权值衰减因子
S
SunAhong1993 已提交
12
    param {
S
sunyanfang01 已提交
13 14 15
	lr_mult: 1
	decay_mult: 1
    }
S
SunAhong1993 已提交
16
    # 偏置项的局部学习率和权值衰减因子
S
SunAhong1993 已提交
17
    param {
S
sunyanfang01 已提交
18 19 20
	lr_mult: 2
	decay_mult: 0
    }
S
SunAhong1993 已提交
21
    convolution_param {
S
SunAhong1993 已提交
22 23
	num_output: 20    # 必填项
	kernel_size: 5    # 必填项
S
sunyanfang01 已提交
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
	stride: 1
	pad: 0
	group: 1
	bias_term: True
	weight_filler {
	    type: "gaussian"
	    value: 0.01
	}
	bias_filler {
	    type: "constant"
	    value: 0
	}
    }
}
```


S
SunAhong1993 已提交
41
### [paddle.fluid.layers.conv2d](http://paddlepaddle.org/documentation/docs/zh/1.4/api_cn/layers_cn.html#permalink-45-conv2d)
S
sunyanfang01 已提交
42 43 44 45 46
```python
paddle.fluid.layers.conv2d(
    input,
    num_filters,
    output_size,
S
SunAhong1993 已提交
47 48 49 50 51 52 53 54 55
    stride=1,
    padding=0,
    dilation=1,
    groups=None,
    param_attr=None,
    bias_attr=None,
    use_cudnn=True,
    act=None,
    name=None
S
sunyanfang01 已提交
56 57 58 59
)
```  

### 功能差异
J
Jason 已提交
60
#### 参数初始化
J
Jason 已提交
61
Caffe:Layer定义中共有两个结构体`param`用于设置局部学习率和权值衰减因子,其中第一个用于设置卷积核,第二个则用于设置偏值项;卷积核和偏置项的初始化参数在`convolution_param`中进行设置;是否使用偏置项可以使用`bias_term`进行设置;  
J
Jason 已提交
62
PaddlePaddle:卷积核和偏置项的参数分别使用`param_attr``bias_attr`进行配置,配置参数如下所示,此外将`bias_attr`直接设为`False`表示不使用偏置项。
S
SunAhong1993 已提交
63
```python
J
Jason 已提交
64 65 66 67 68 69 70 71 72 73
paddle.fluid.ParamAttr(
    name=None, 
    initializer=None, 
    learning_rate=1.0, 
    regularizer=None, 
    trainable=True, 
    gradient_clip=None, 
    do_model_average=False
)
```
J
Jason 已提交
74 75 76
#### 空洞卷积
Caffe:无法使用空洞卷积;                  
PaddlePaddle:使用`dilation`参数来设置空洞卷积。