
    wi                     Z    d dl Z d dlmZmZmZ  G d de          Z G d de          ZdS )    N)PreTrainedModelXLMRobertaConfigXLMRobertaModelc                   $     e Zd ZdZd fd	Z xZS )MCLIPConfigzM-CLIP      c                 V    || _         || _         t                      j        di | d S )N )transformerDimensionsnumDimssuper__init__)selftransformerDimSizeimageDimSizekwargs	__class__s       z/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/diffusers/pipelines/kandinsky/text_encoder.pyr   zMCLIPConfig.__init__   s5    %7"#""6"""""    )r   r	   )__name__
__module____qualname__
model_typer   __classcell__r   s   @r   r   r      sB        J# # # # # # # # # #r   r   c                   (     e Zd ZeZ fdZd Z xZS )MultilingualCLIPc                      t                      j        |g|R i | t          |          | _        t          j                            |j        |j                  | _	        d S )N)in_featuresout_features)
r   r   r   transformertorchnnLinearr   r   LinearTransformation)r   configargsr   r   s       r   r   zMultilingualCLIP.__init__   sg    1$111&111*622$)HOO46> %4 %
 %
!!!r   c                    |                      ||          d         }||                    d          z                      d          |                    d          d d d f         z  }|                     |          |fS )N)	input_idsattention_maskr         )dim)r"   	unsqueezesumr&   )r   r*   r+   embsembs2s        r   forwardzMultilingualCLIP.forward   s    )NSSTUV0033388Q8??.BTBTYZBTB[B[\]\]\]_c\cBdd((//55r   )r   r   r   r   config_classr   r3   r   r   s   @r   r   r      sL        L
 
 
 
 
6 6 6 6 6 6 6r   r   )r#   transformersr   r   r   r   r   r   r   r   <module>r6      s     K K K K K K K K K K# # # # #" # # #6 6 6 6 6 6 6 6 6 6r   