maxout

paddle.fluid.layers.maxout(x, groups, name=None)[源代码]

假设输入形状为(N, Ci, H, W),输出形状为(N, Co, H, W),则 \(Co=Ci/groups\) 运算公式如下:

\[\begin{split}y_{si+j} &= \max_k x_{gsi + sk + j} \\ g &= groups \\ s &= \frac{input.size}{num\_channels} \\ 0 \le &i < \frac{num\_channels}{groups} \\ 0 \le &j < s \\ 0 \le &k < groups\end{split}\]
请参阅论文:
参数:
  • x (Variable) - 维度为[N,C,H,W]的4-D Tensor,其中N为 batch size ,C为通道数,H和W为特征图的高和宽。数据类型为float32。maxout算子的输入张量。
  • groups (int32)- 指定将输入张量的channel通道维度进行分组的数目。输出的通道数量为通道数除以组数。
  • name (str,可选) – 具体用法请参见 Name ,一般无需设置,默认值为None。

返回:表示为输出的Tensor,数据类型为float32。输出维度也是NCHW。其中N为 batch size,C为通道数,H和W为特征的高和宽。

返回类型:Variable

代码示例

import paddle.fluid as fluid
input = fluid.data(
    name='data',
    shape=[None, 256, 32, 32],
    dtype='float32')
out = fluid.layers.maxout(input, groups=2)