Maxout

paddle.nn. Maxout ( groups, axis=1, name=None ) [源代码]

Maxout激活层.

假设输入形状为(N, Ci, H, W),输出形状为(N, Co, H, W),则

Maxout - 图1

运算公式如下:

Maxout - 图2

参数:

  • groups (int) - 指定将输入张量的channel通道维度进行分组的数目。输出的通道数量为通道数除以组数。

  • axis (int, 可选) - 指定通道所在维度的索引。当数据格式为NCHW时,axis应该被设置为1,当数据格式为NHWC时,axis应该被设置为-1或者3。默认值为1。

  • name (str, 可选) - 操作的名称(可选,默认值为None)。更多信息请参见 Name

形状:

  • input: 形状为

    Maxout - 图3

    Maxout - 图4

    的4-D Tensor,N是批尺寸,C是通道数,H是特征高度,W是特征宽度。

  • output: 输出形状为 [N,Co,H,W][N,Co,H,W] 或 [N,H,W,Co][N,H,W,Co] 的4-D Tensor,其中 Co=C/groupsCo=C/groups

代码示例

  1. import paddle
  2. x = paddle.rand([1, 2, 3, 4])
  3. # [[[[0.5002636 0.22272532 0.17402348 0.2874594 ]
  4. # [0.95313174 0.6228939 0.7129065 0.7087491 ]
  5. # [0.02879342 0.88725346 0.61093384 0.38833922]]
  6. # [[0.5231306 0.03807496 0.91661984 0.15602879]
  7. # [0.666127 0.616567 0.30741522 0.24044901]
  8. # [0.7142536 0.7351477 0.31588817 0.23782359]]]]
  9. m = paddle.nn.Maxout(groups=2)
  10. out = m(x)
  11. # [[[[0.5231306 0.22272532 0.91661984 0.2874594 ]
  12. # [0.95313174 0.6228939 0.7129065 0.7087491 ]
  13. # [0.7142536 0.88725346 0.61093384 0.38833922]]]]