Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
FluidDoc
提交
b91da362
F
FluidDoc
项目概览
PaddlePaddle
/
FluidDoc
通知
7
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
23
列表
看板
标记
里程碑
合并请求
111
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
FluidDoc
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
23
Issue
23
列表
看板
标记
里程碑
合并请求
111
合并请求
111
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
b91da362
编写于
10月 25, 2018
作者:
J
JiabinYang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refine add pool api guide
上级
ed38001e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
105 addition
and
0 deletion
+105
-0
doc/fluid/api_guides/low_level/layers/pooling.rst
doc/fluid/api_guides/low_level/layers/pooling.rst
+105
-0
未找到文件。
doc/fluid/api_guides/low_level/layers/pooling.rst
0 → 100644
浏览文件 @
b91da362
#####
池化
#####
减小输出大小和降低ddddd过拟合。降低过拟合是减小输出大小的结果,它同样也减少了后续层中的参数的数量。
池化通常只需要将前一层的特征图作为输入,在paddlepaddle中我们同样接受这样的通过设定池化的大小,方式,步长,是否是全局池化,是否使用cudnn,是否使用ceil函数计算输出来选择池化的方式。
paddlepaddle中有针对定长图像特征的二维(pool2d)、三维卷积(pool3d),ROI池化(roi_pool),以及针对序列的序列池化(sequence_pool)同时也有池化计算的逆向过程,下面先介绍Fluid里的2D/3D池化,以及roi池化,再来介绍序列池化
--------------
1. ``pool2d``/``pool3d``
------------------------
- ``input`` :
池化操作接收任何符合layout是:\ ``N(batch size)* C(channel size) * H(height) * W(width)``\ 格式的\ ``Tensor``\ 类型作为输入
- ``pool_size`` :
``pool_size``\ 用来确定池化\ ``filer``\ 的大小,即将多大范围内的数据池化为一个
- ``num_channels`` :
``pool_size``\ 用来确定输入的\ ``channel``\ 数量,如果未设置参数或设置为\ ``None``\ ,其实际值将自动设置为输入的\ ``channel``\ 数量
- ``pooling_type`` :
接收\ ``avg``\ 和\ ``max``\ 2种类型之一作为pooling的方式,默认值为\ ``max``\ ,其中\ ``max``\ 意为最大池化,即计算池化\ ``filter``\ 区域内的数据的最大值作为输出,而\ ``avg``\ 意为平均池化,即计算池化\ ``filter``\ 区域内的数据的平均值作为输出
- ``pool_stride`` :
``pool_stride``\ 意为池化的\ ``filter``\ 在输入特征图上移动的步长
- ``pool_padding`` :
``pool_padding``\ 用来确定池化中\ ``padding``\ 的大小,\ ``padding``\ 的使用是为了对于特征图边缘的特征进行池化,选择不同的\ ``pool_padding``\ 大小确定了在特征图边缘增加多大区域的补零从而决定边缘特征被池化的程度。
- ``global_pooling`` :
``global_pooling``\ 意为确定是否使用全局池化,全局池化是指使用和特征图大小相同的\ ``filter``\ 来进行池化,同样这个过程也可以使用平均池化或者最大池化来做为池化的方式,全局池化通常会用来替换全链接层以大量介绍参数防止过拟合
- ``use_cudnn`` :
``use_cudnn``\ 选项可以来选择是否使用cudnn来优化计算池化结果
- ``ceil_mode`` :
``ceil_mode``\ 是否使用ceil函数计算输出高度和宽度。\ ``ceil mode``\ 意为天花板模式,是指会把特征图中不足\ ``filter size``\ 的边给保留下来,单独另算,或者也可以理解为在原来的数据上补充了值为-NAN的边。而floor模式则是直接把不足\ ``filter size``\ 的边给舍弃了。
- api汇总:
- :ref:`api_fluid_layers_sequence_conv`
2. ``roi_pool``
------------------
``roi_pool``\ 是一个在\ ``Fast R-CNN``\ 中使用,用来从最后一个feature
map中提取ROI的特征图。
- ``rois`` :
接收\ ``LoDTensor``\ 类型来表示需要池化的 Regions of Interest,关于ROI的解释请参考\ `论文 <https://arxiv.org/abs/1506.01497>`__
- ``pooled_height`` 和 ``pooled_width``:
这里可以接受非正方的池化窗口大小
- ``spatial_scale``
``spatial_scale``\ 用作设定缩放ROI和原图缩放的比例,注意,这里的设定需要用户自行计算ROI和原图的实际缩放比例。
3. ``sequence_pool``
--------------------
``sequence_pool``\ 是一个用作对于不等长序列进行池化的接口,它将每一个实例的全部time-step的特征进行池化,他同样支持
``average``, ``sum``, ``sqrt`` 和
``max``\ 4种类型之一作为pooling的方式。 其中
- ``average``
是对于每一个time-step内的数据求和后分别取平均值做为池化的结果
- ``sum`` 则是对每一个time-step内的数据分别求和作为池化的结果
- ``sqrt``
则是对每一个time-step内的数据分别求和再分别取平方根作为池化的结果
- ``max`` 则是对每一个time-step内的数据分别求去最大值作为池化的结果
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录