.. _cn_api_fluid_layers_maxout: maxout ------------------------------- .. py:function:: paddle.fluid.layers.maxout(x, groups, name=None, axis=1) :alias_main: paddle.nn.functional.maxout :alias: paddle.nn.functional.maxout,paddle.nn.functional.activation.maxout :old_api: paddle.fluid.layers.maxout 假设输入形状为(N, Ci, H, W),输出形状为(N, Co, H, W),则 :math:`Co=Ci/groups` 运算公式如下: .. math:: 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 请参阅论文: - Maxout Networks: http://www.jmlr.org/proceedings/papers/v28/goodfellow13.pdf - Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks: https://arxiv.org/pdf/1312.6082v4.pdf 参数: - **x** (Variable) - 4-D Tensor,maxout算子的输入张量,其数据类型为float32,数据格式为NCHW或NHWC,其中N为 batch size ,C为通道数,H和W为特征图的高和宽。 - **groups** (int) - 指定将输入张量的channel通道维度进行分组的数目。输出的通道数量为通道数除以组数。 - **name** (str,可选) – 具体用法请参见 :ref:`api_guide_Name` ,一般无需设置,默认值为None。 - **axis** (int) - 指定通道所在维度的索引。当数据格式为NCHW时,axis应该被设置为1,当数据格式为NHWC时,axis应该被设置为-1或者3。默认值:1。 返回:4-D Tensor,数据类型和格式与 `x` 一致。 返回类型:Variable 抛出异常: - ``ValueError`` - 如果 ``axis`` 既不是1,也不是-1或3。 **代码示例**: .. code-block:: python import paddle.fluid as fluid input = fluid.data( name='data', shape=[None, 256, 32, 32], dtype='float32') out = fluid.layers.maxout(input, groups=2)