maxout¶
- paddle.fluid.layers.nn. maxout ( x, groups, name=None, axis=1 ) [source]
- 
         MaxOut Operator. Assumed the input shape is (N, Ci, H, W). The output shape is (N, Co, H, W). Then $Co = Ci / groups$ and the operator formula is as follows: :math:` y_{si+j} = max_{k} x_{gsi + sk + j} ` :math:` g = groups ` :math:` s = \frac{input.size}{num\_channels} ` :math:` 0 \le i < \frac{num\_channels}{groups} ` :math:` 0 \le j < s ` :math:` 0 \le k < groups ` Please refer to Paper: - 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 - Parameters
- 
           - x (Variable) – A 4-D Tensor with data type of float32 or float64. The data format is NCHW or NHWC. Where N is batch size, C is the number of channels, H and W is the height and width of feature. 
- groups (int) – Specifies how many groups the input tensor will be split into at the channel dimension. And the number of output channel is the number of channels divided by groups. 
- axis (int, optional) – Specifies the index of channel dimension where maxout will be performed. It should be 1 when data format is NCHW, -1 or 3 when data format is NHWC. Default: 1. 
- name (str, optional) – For detailed information, please refer to Name. Usually name is no need to set and None by default. 
 
- Returns
- 
           A 4-D Tensor with same data type and data format with input Tensor. 
- Return type
- 
           Variable 
- Raises
- 
           - ValueError – If axis is not 1, -1 or 3. 
- ValueError – If the number of input channels can not be divisible by groups. 
 
 Examples import paddle.fluid as fluid import paddle paddle.enable_static() input = fluid.data( name='data', shape=[None, 256, 32, 32], dtype='float32') out = fluid.layers.maxout(input, groups=2) 
