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 numpy
import paddle.nn.functional as F
x1 = numpy.random.random((5, 5)).astype('float32')
x2 = numpy.random.random((5, 4)).astype('float32')
w = numpy.random.random((1000, 5, 4)).astype('float32')
b = numpy.random.random((1, 1000)).astype('float32')
result = F.bilinear(paddle.to_tensor(x1), paddle.to_tensor(x2), paddle.to_tensor(w), paddle.to_tensor(b)) # result shape [5, 1000]