swiglu¶
- paddle.incubate.nn.functional. swiglu ( x, y=None, name=None ) [source]
-
This function performs SwiGLU activation to the input Tensor.
\[out = silu(x) * y when y is not None out = silu(xs[0]) * xs[1] when y is None, where xs = paddle.chunk(x, 2, axis=-1)\]- Parameters
-
x (Tensor) – The first input Tensor of SwiGLU.
y (Tensor, optional) – The second input Tensor of SwiGLU. Default: None.
name (str, optional) – For details, please refer to Name. Generally, no setting is required. Default: None.
- Returns
-
A Tensor with the same data type with x and y.
Examples
>>> import paddle >>> import paddle.incubate.nn.functional as F >>> x = paddle.to_tensor([1, 2], dtype='float32') >>> out1, out2 = F.swiglu(x), F.swiglu(x, x) >>> print(out1, out2) Tensor(shape=[1], dtype=float32, place=Place(cpu), stop_gradient=True, [1.46211720]) Tensor(shape=[2], dtype=float32, place=Place(cpu), stop_gradient=True, [0.73105860, 3.52318811])