bilinear

paddle.nn.functional. bilinear ( x1, x2, weight, bias=None, name=None ) [源代码]

该层对两个输入执行双线性张量积。 详细的计算和返回值维度请参见 Bilinear

参数

  • x1 (int):第一个输入的 Tensor,数据类型为:float32、float64。

  • x2 (int):第二个输入的 Tensor,数据类型为:float32、float64。

  • weight (Parameter):本层的可学习参数。形状是 [out_features, in1_features, in2_features]。

  • bias (Parameter,可选):本层的可学习偏置。形状是 [1, out_features]。默认值为 None,如果被设置成 None,则不会有 bias 加到 output 结果上。

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

返回

Tensor,一个形为 [batch_size, out_features] 的 2-D 张量。

代码示例

import paddle
import paddle.nn.functional as F

x1 = paddle.randn((5, 5)).astype(paddle.float32)
x2 = paddle.randn((5, 4)).astype(paddle.float32)
w = paddle.randn((1000, 5, 4)).astype(paddle.float32)
b = paddle.randn((1, 1000)).astype(paddle.float32)

result = F.bilinear(x1, x2, w, b)
print(result.shape)
# [5, 1000]