Softmax2D

class paddle.nn. Softmax2D ( name=None ) [源代码]

Softmax2D 是 Softmax 的变体,其针对 3D 或者 4D 的 Tensor 在空间维度上计算 Softmax。具体来说,输出的 Tensor 的每个空间维度 \((channls, h_i, w_j)\) 求和为 1。

Softmax 的详细介绍请参考 Softmax

参数

  • name (str,可选) - 具体用法请参见 Name ,一般无需设置,默认值为 None。

形状:

  • input: 任意形状的 Tensor。

  • output: 和 input 具有相同形状的 Tensor。

代码示例

import paddle

x = paddle.rand([1, 2, 3, 4])
# [[[[0.42496058 0.1172187  0.14664008 0.8151267 ]
#    [0.24430142 0.42052492 0.60372984 0.79307914]
#    [0.4539401  0.90458065 0.10235776 0.62009853]]

#   [[0.11731581 0.16053623 0.05667042 0.91876775]
#    [0.9413854  0.30770817 0.6788164  0.9543593 ]
#    [0.4145064  0.75909156 0.11598814 0.73599935]]]]
m = paddle.nn.Softmax2D()
out = m(x)
# [[[[0.5763103  0.48917228 0.5224772  0.4741129 ]
#    [0.3324591  0.5281743  0.48123717 0.45976716]
#    [0.5098571  0.5363083  0.49659243 0.4710572 ]]

#   [[0.42368975 0.51082766 0.47752273 0.5258871 ]
#    [0.66754097 0.47182566 0.5187628  0.5402329 ]
#    [0.49014282 0.46369177 0.50340754 0.5289428 ]]]]