From fd971fb03fe617506ca41d103cc3517b19cd1eab Mon Sep 17 00:00:00 2001 From: Jason Date: Mon, 8 Apr 2019 21:21:54 +0800 Subject: [PATCH] Update Pooling.md --- caffe2fluid/doc/Pooling.md | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/caffe2fluid/doc/Pooling.md b/caffe2fluid/doc/Pooling.md index 773964b..87daf60 100644 --- a/caffe2fluid/doc/Pooling.md +++ b/caffe2fluid/doc/Pooling.md @@ -32,7 +32,7 @@ paddle.fluid.layers.pool2d( ``` ### 功能差异 -#### 计算输出高度和宽度的差异 +#### 输出大小 计算池化的输出高度和宽度有两种方式,分别为向上取整(ceil)和向下取整(floor),其计算方式如下列所示: **向上取整:** @@ -43,20 +43,26 @@ paddle.fluid.layers.pool2d( `H_out = (H_in-ksize[0]+2*padding[0]+strides[0]-1)/strides[0]+1` `W_out = (W_in-ksize[1]+2*padding[1]+strides[1]-1)/strides[1]+1` -Caffe:只能使用向上取整的方式来计算输入输出的大小。 -PaddlePaddle:可以使用`ceil_mode`参数来定义使用何种计算方式,当`ceil_mode=False`(默认值)时使用向下取整的方式来计算,反之为`True`时则使用向上取整的方式进行计算。 - - +Caffe:输出大小计算方式如下所示, +``` +H_out = (H_in-ksize[0]+2*padding[0])/strides[0]+1 +W_out = (W_in-ksize[1]+2*padding[1])/strides[1]+1 +``` -#### 池化方式的差异 -Caffe:提供了三种池化方式——最大池化、均值池化和随机池化(随机池化通过对像素点按照数值大小赋予概率,再按照概率进行亚采样)。 -PaddlePaddle:提供了两种池化方式——最大池化和均值池化。 - +PaddlePaddle:`ceil_mode`为`Ture`时,输出大小计算方式与Caffe一致;当`ceil_mode`为`False`时,输出大小计算方式如下所示, +``` +# ceil_model为False时,计算公式 +H_out = (H_in-ksize[0]+2*padding[0]+strides[0]-1)/strides[0]+1 +W_out = (W_in-ksize[1]+2*padding[1]+strides[1]-1)/strides[1]+1 +``` +#### 池化方式 +Caffe:通过`pool`参数设置,支持`MAX`, `AVE`和`STOCHASTIC`三种池化方式; +PaddlePaddle:通过`pool_type`参数设置,支持`max`和`avg`两种池化方式。 -#### 其他差异 -Caffe:无`exclusive`参数。 -PaddlePaddle:使用了一个`exclusive`参数,其代表在进行平均池化时是否忽略填充值。 +#### 其他 +Caffe:无`exclusive`参数; +PaddlePaddle:`exclusive`参数为`True`的情况下,`avg`平均池化过程中会忽略填充值。 ### 代码示例 -- GitLab