
    ϑi	                        S SK Jr  S SKJr  S SKJr  S SKJr  SSKJ	r	  \(       a  S SKJ
r
  \" SS	S
SS9 S       SS jj5       rg)    )annotations)TYPE_CHECKING)_C_ops)
deprecated   )in_dynamic_or_pir_mode)Tensorz3.3.0zpaddle.nn.functional.swiglu   zopaddle.incubate.nn.functional.swiglu will be removed in future. Please use paddle.nn.functional.swiglu instead.)since	update_tolevelreasonNc                N    [        5       (       a  [        R                  " X5      $ g)a  
This function performs SwiGLU activation to the input Tensor.

.. math::

    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)

Args:
    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 :ref:`api_guide_Name`. Generally, no setting is required. Default: None.

Returns:
    A Tensor with the same data type with x and y.

Examples:
    .. code-block:: python

        >>> 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])
N)r   r   swiglu)xynames      d/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/incubate/nn/functional/swiglu.pyr   r      s"    J }}Q""      )NN)r   r	   r   zTensor | Noner   z
str | Nonereturnr	   )
__future__r   typingr   paddler   paddle.utilsr   	frameworkr   r	   r    r   r   <module>r      sg    #    # 0 
+
|	 <@ # # #.8 # # #r   