
    ϑ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 jjrg)    )annotations)TYPE_CHECKING)_C_ops)in_dynamic_or_pir_mode)LayerHelper)TensorNc                X   [        5       (       aU  U R                  c  UR                  c  UR                  b  [        R                  " XU5      $ [        R                  " XU5      $ [        S0 [        5       D6nUR                  U R                  S9nU UUS.nUR                  SUSU0S9  U$ )z
Args:
    x: Input tensor [seq, dim]
    combine_weights: Combination weights [s, k]
    scatter_index: Scatter indices [k, s] dtype=int32

Returns:
    Output Combined output [s, dim]
moe_combine)dtype)xcombine_weightsscatter_indexy)typeinputsoutputs)r
   )
r   process_meshr   moe_combine_autor
   r   locals"create_variable_for_type_inferencer   	append_op)r   r   r   namehelperr   r   s          i/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/incubate/nn/functional/moe_combine.pyr
   r
      s     NN",,4**2 **1}MM!!!mDD3&(3F111@A*&F
 -aIH    )N)
r   r   r   r   r   r   r   z
str | Nonereturnr   )
__future__r   typingr   paddler   paddle.base.frameworkr   paddle.base.layer_helperr   r   r
    r   r   <module>r#      sV    #    9 0 	      	 
  r   