o
    پiH                     @   st   d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 e
eZdedefdd	ZG d
d deeZeZdS )    )VaeImageProcessor)LoRAPipelineReq)ComposedPipelineBase)
ServerArgs)init_loggerbatchserver_argsc                 C   s   | j }| jd }d\}}d\}}|dkr || | }dt|fS || | }	|| | }
|	|
 d }|	d|  }|| | }dt|fS )N   )gT	?gŒ_?)g w:/&?gDw:?i  mug     g@g      i@)num_inference_stepsraw_latent_shapefloat)r   r	   	num_stepsimage_seq_lena1b1a2b2r   m_200m_10ab r   b/home/ubuntu/.local/lib/python3.10/site-packages/sglang/multimodal_gen/runtime/pipelines/flux_2.pycompute_empirical_mu   s   
r   c                   @   s&   e Zd Zd Zg dZdefddZdS )Flux2Pipeline)text_encoder	tokenizervaetransformer	schedulerr	   c                 C   s4   t |jjjjd d}| jd|dd|itgd d S )N   )vae_scale_factorTtextvae_image_processor)include_input_validationr%   prompt_encodingimage_vae_stage_kwargsprepare_extra_timestep_kwargs)r   pipeline_config
vae_configarch_configr#   add_standard_ti2i_stagesr   )selfr	   r%   r   r   r   create_pipeline_stages/   s   

z$Flux2Pipeline.create_pipeline_stagesN)__name__
__module____qualname__pipeline_name_required_config_modulesr   r/   r   r   r   r   r   $   s    r   N)diffusers.image_processorr   ,sglang.multimodal_gen.runtime.pipelines_corer   r   Csglang.multimodal_gen.runtime.pipelines_core.composed_pipeline_baser   )sglang.multimodal_gen.runtime.server_argsr   1sglang.multimodal_gen.runtime.utils.logging_utilsr   r0   loggerr   r   
EntryClassr   r   r   r   <module>   s   