
    bi                         d dl mZ d dlmZ d dlZd dlmZ ddlmZm	Z	 ddl
mZ ddlmZ e G d d	e             Z G d
 dee      Zy)    )	dataclass)OptionalN   )ConfigMixinregister_to_config)
ModelMixin)
BaseOutputc                   6    e Zd ZU dZeej                     ed<   y)ReduxImageEncoderOutputNimage_embeds)__name__
__module____qualname__r   r   torchTensor__annotations__     a/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/diffusers/pipelines/flux/modeling_flux.pyr   r      s    +/L(5<<(/r   r   c                   `     e Zd Ze	 	 ddededdf fd       Zdej                  defdZ	 xZ
S )	ReduxImageEncoder	redux_dimtxt_in_featuresreturnNc                     t         |           t        j                  ||dz        | _        t        j                  |dz  |      | _        y )Nr   )super__init__nnLinearredux_up
redux_down)selfr   r   	__class__s      r   r   zReduxImageEncoder.__init__!   s>     			)_q-@A))Oa$7Ir   xc                     | j                  t        j                  j                  | j	                  |                  }t        |      S )N)r   )r!   r   
functionalsilur    r   )r"   r$   projected_xs      r   forwardzReduxImageEncoder.forward,   s3    oobmm&8&8q9I&JK&K@@r   )i  i   )r   r   r   r   intr   r   r   r   r)   __classcell__)r#   s   @r   r   r       sY     #JJ J 
	J JA A*A Ar   r   )dataclassesr   typingr   r   torch.nnr   configuration_utilsr   r   models.modeling_utilsr   utilsr	   r   r   r   r   r   <module>r2      sG     "    B /  0j 0 0A
K Ar   