CoolFace
Apppublic

fred-dev/comfy_ui_ali

sourceHugging Facemitupdated 1y agoView on Hugging Face
0likes
supported_models.cpython-312.pyc225 linesDownload Raw Back to __pycache__
1�

2���gт��F�ddlZddlmZddlmZddlmZddlmZddlZddlZddl	Zddl3ZddlZddlZddl
ZddlZddlZddlZddlZddlZddlZddlmZddlmZdd	lmZGd4�dej.�ZGd�d
ej.�ZGd�de�ZGd�de�ZGd�dej.�ZGd�dej.�ZGd�de�ZGd�de�ZGd�de�Z Gd�de�Z!Gd�dej.�Z"Gd �d!e"�Z#Gd"�d#e#�Z$Gd$�d%ej.�Z%Gd&�d'e�Z&Gd(�d)ej.�Z'Gd*�d+e'�Z(Gd,�d-e�Z)Gd.�d/e�Z*Gd0�d1ej.�Z+Gd2�d3ej.�Z,Gd4�d5ej.�Z-Gd6�d7ej.�Z.Gd8�d9e.�Z/Gd:�d;ej.�Z0Gd<�d=e0�Z1Gd>�d?ej.�Z2Gd@�dAe2�Z3GdB�dCe2�Z4GdD�dEej.�Z5GdF�dGej.�Z6GdH�dIej.�Z7GdJ�dKe7�Z8GdL�dMe7�Z9GdN�dOej.�Z:GdP�dQe:�Z;GdR�dSej.�Z<GdT�dUej.�Z=GdV�dWe=�Z>ge%�e)�e�e�e�e�e*�e�e�e�e �e!�e�e&�e'�e(�e#�e$�e+�e,�e-�e.�e/�e0�e1�e3�e2�e4�e5�e6�e9�e8�e7�e:�e;�e<�e=�e>�Z?e?e"gz
Z?y)X�N�)�5model_base)�utils)�sd1_clip)�	sdxl_clip)�supported_models_base)�latent_formats)�diffusers_convertc�X�eZdZdddddd�Zddd�ZejZd	Zd6�Z	d�Z7ifd�Zy)
�SD15��@FN��context_dim�model_channels�use_linear_in_transformer�adm_in_channels�use_temporal_attention��������	num_heads�num_head_channels��?c��t|j��}|D]L}|jd�s�|jd�r�'|jdd�}|j	|�||<�Nd|vr5|d}|j8tjk(r|j�|d<i}d|d<tj||d��}|S)Nzcond_stage_model.transformer.z(cond_stage_model.transformer.text_model.z?cond_stage_model.transformer.text_model.embeddings.position_ids�clip_l.�cond_stage_model.T��filter_keys)�list�keys�9startswith�replace�pop�dtype�torch�float32�roundr�state_dict_prefix_replace)�self�10state_dict�k�x�y�ids�replace_prefixs       �a/Users/fredrodrigues/Library/CloudStorage/Dropbox/Code/comfyui_hardware/comfy/supported_models.py�process_clip_state_dictzSD15.process_clip_state_dict+s�������"�#���A��|�|�;�<�Q�\�\�R|�E}��I�I�=�?i�j�� *���q� 1�11�1�
��12M�PZ�Z��^�_�C��y�y�E�M�M�)�`c�`i�`i�`k�13�\�]���.7��*�+��4�4�Z��]a�b�14���c�x�ddg}|D]}||vs�|j|��ddi}tj||�S)N�)clip_l.transformer.text_projection.weight�clip_l.logit_scalerr)r$rr))r*r+�pop_keys�pr0s     r1�"process_clip_state_dict_for_savingz'SD15.process_clip_state_dict_for_saving<sJ��?�AU�V���A��J�����q�!��$�%8�9���.�.�z�>�J�Jr3c�f�tjtjtj�S�N)r�15ClipTargetr�SD1Tokenizer�SD1ClipModel�r*r+s  r1�clip_targetzSD15.clip_targetEs!��$�/�/��0E�0E�x�G\�G\�]�]r3)�__name__�16__module__�__qualname__�unet_config�unet_extra_configr	r�
latent_format�memory_usage_factorr2r9r@�r3r1rrsQ����%*��"'��K�����17#�'�'�M����"K�&(�^r3rc�v�eZdZdddddd�Zddej18d	�ZejZ	d19Z20dd�Zd�Zd
�Z
ifd�Zy)�SD20�rTNFrr�@�rr�attn_precisionrc��|jddk(rYdj|�}|j|d�}|�4tj|d��dkDrt21jjSt22jjS)N�in_channels�z4{}output_blocks.11.1.transformer_blocks.0.norm1.biasF)�unbiasedg23ףp=24�?)	rD�format�getr&�stdr�	ModelType�V_PREDICTION�EPS)r*r+�prefixr,�outs     r1�25model_typezSD20.model_typeZsp�����M�*�a�/�F�M�M�f�U�A��.�.��D�)�C���5�9�9�S�5�#A�D�#H�!�+�+�8�8�8��#�#�'�'�'r3c�|�i}d|d<d|d<tj||d��}tj|dd�}|S)Nzclip_h.�conditioner.embedders.0.model.zcond_stage_model.model.Trzclip_h.transformer.)rr)�clip_text_transformers_convert�r*r+r0s   r1r2zSD20.process_clip_state_dictbsM����;D��7�8�4=��0�1��4�4�Z��]a�b�26��9�9�*�i�Qf�g�27��r3c�j�i}d|d<tj||�}tj|�}|S)Nzcond_stage_model.model�clip_h)rr)r28�convert_text_enc_state_dict_v20r_s   r1r9z'SD20.process_clip_state_dict_for_savingjs9����#;��x� ��4�4�Z��P�29�&�F�F�z�R�30��r3c��tjtjjj31tjjj�Sr;)rr<�comfy�
text_encoders�sd2_clip�SD2Tokenizer�SD2ClipModelr?s  r1r@zSD20.clip_targetqsH��$�/�/��0C�0C�0L�0L�0Y�0Y�[`�[n�[n�[w�[w�\E�\E�F�	Fr3��)rArBrCrDr&r'rEr	rrFrGr[r2r9r@rHr3r1rJrJHs\����%)��"'��K����-�-���#�'�'�M���(���&(�Fr3rJc�0�eZdZdddddd�ZdZdd	d32�dd�Zy
)�SD21UnclipLrKrTiFr�embedder.model.visual.���squaredcos_cap_v2��	timesteps�
beta_scheduler
��noise_schedule_config�timestep_dimN�rArBrCrD�clip_vision_prefix�noise_aug_configrHr3r1rlrlts5����%)��"'��K�2��?C�Vi�1j�|�A�r3rlc�0�eZdZdddddd�ZdZdd	d33�dd�Zy)
�SD21UnclipHrKrT�FrrmrnrorprsNrvrHr3r1rzrz�s9����%)��"'��K�2��?C�Vi�1j�}A�B�r3rzc�\�eZdZddddgd�dd�Zej34ZdZdd35�Zd�Z	d�Z36ifd
�Zy	)�SDXLRefineri�T�i37)rrrQrQrQrQrrF)rrrr�transformer_depthrrNc�0�tj||��S�N)�device)rr}�r*r+rYr�s    r1�	get_modelzSDXLRefiner.get_model�s���%�%�d�6�:�:r3c��i}i}d|d<tj||d��}tj|dd�}tj||�}|S)N�clip_g.r]Tr�clip_g.transformer.)rr)r^�state_dict_key_replace�r*r+�keys_to_replacer0s    r1r2z#SDXLRefiner.process_clip_state_dict�sY������;D��7�8��4�4�Z��]a�b�38��9�9�*�i�Qf�g�39��1�1�*�o�N�40��r3c��i}tj|d�}d|vr|jd�d|d<tj||�}|S)N�clip_gz5clip_g.transformer.text_model.embeddings.position_idszconditioner.embedders.0.model)r41rbr$rr))r*r+r0�state_dict_gs    r1r9z.SDXLRefiner.process_clip_state_dict_for_saving�sS����(�H�H��U]�^��B�l�R����T�U�#B��x� ��6�6�|�^�T���r3c�f�tjtjtj�Sr;)rr<r�
SDXLTokenizer�SDXLRefinerClipModelr?s  r1r@zSDXLRefiner.clip_target�s!��$�/�/�	�0G�0G��Ig�Ig�h�hr3�rjN)rArBrCrDr	�SDXLrFrGr�r2r9r@rHr3r1r}r}�sH���%)���5�"'�
�K�#�'�'�M���;���&(�ir3r}c�d�eZdZddgd�dddd�Zej42ZdZdd	�Zdd�Z	d�Z43d
�Zifd�Zy44)r�rT�rr�r��45r�r{�F�rrrrrrg�������?c�P�d|vrdd|vr`tj�|_d|jd<d|jd<d|jd<tj46jSd	|vrpt|d	j��|jd<d47|vr)t|d48j��|jd<tj49jSd|vr-d|vrd
|jd<tj50jStj51jS)N�edm_mean�edm_std��?�52sigma_data�T@�	sigma_max�����Mb`?�	sigma_minzedm_vpred.sigma_maxzedm_vpred.sigma_min�v_pred�ztsnrT�zsnr)r	�SDXL_Playground_2_5rF�sampling_settingsrrV�EDM�float�item�V_PREDICTION_EDMrWrX)r*r+rYs   r1r[zSDXL.model_type�s����#�	�Z�(?�!/�!C�!C�!E�D��36�D�"�"�<�0�26�D�"�"�;�/�27�D�"�"�;�/��'�'�+�+�+�
"�j�
0�27�53�CX�8Y�8^�8^�8`�2a�D�"�"�;�/�$�54�2�6;�J�G\�<]�<b�<b�<d�6e��&�&�{�3��'�'�8�8�8�
��
#��*�$�15��&�&�v�.��'�'�4�4�4��'�'�+�+�+r3Nc��tj||j||�|��}|j�r|j	�|S�N)r[r�)rr�r[�
inpaint_model�set_inpaint�r*r+rYr�rZs     r1r�zSDXL.get_model�s;���o�o�d�t���z�6�/R�[a�b�������O�O���55r3c��i}i}d|d<d|d<tj||d��}tj||�}tj|dd�}|S)Nzclip_l.transformer.text_modelz.conditioner.embedders.0.transformer.text_modelr�zconditioner.embedders.1.model.Trr�)rr)r�r^r�s    r1r2zSDXL.process_clip_state_dict�sd������Kj��G�H�;D��7�8��4�4�Z��]a�b�56��1�1�*�o�N�57��9�9�*�i�Qf�g�58��r3c�H�i}tj|d�}|D]}|jd�s�||||<�tjd�jd�|d<ddg}|D]}||vs�|j
|��d|d<d	|d<tj||�}|S)59Nr��clip_l�M)rrz5clip_l.transformer.text_model.embeddings.position_idsr5r6zconditioner.embedders.1.modelzconditioner.embedders.0)	r60rbr"r&�arange�expandr$rr))r*r+r0r�r,r7r8s       r1r9z'SDXL.process_clip_state_dict_for_saving�s�����(�H�H��U]�^���A��|�|�H�%�",�Q�-��Q���QV�P\�P\�]_�P`�Pg�Pg�ho�Pp��L�M�?�AU�V���A��L� �� � ��#��$C��x� �#<��x� ��6�6�|�^�T���r3c�f�tjtjtj�Sr;)rr<rr��
SDXLClipModelr?s  r1r@zSDXL.clip_target�s!��$�/�/�	�0G�0G��I`�I`�a�ar3rir�)
rArBrCrDr	r�rFrGr[r�r2r9r@rHr3r1r�r��sM���%)�1���"'�
�K�#�'�'�M���,�&�61��$&(�br3r�c�"�eZdZddgd�dddd�Zy)	�SSD1BrT)rrr�r�rQrQr{r�Fr�N�rArBrCrDrHr3r1r�r������%)�/���"'�
�Kr3r�c�"�eZdZddgd�dddd�Zy)	�Segmind_VegarT)rrrrr�r�r{r�Fr�Nr�rHr3r1r�r�r�r3r�c�"�eZdZddgd�dddd�Zy)	�62KOALA_700MrT)rr��r{r�Fr�Nr�rHr3r1r�r�����%)�&���"'�
�Kr3r�c�"�eZdZddgd�dddd�Zy)	�KOALA_1BrT)rr��r{r�Fr�Nr�rHr3r1r�r�r�r3r�c	�~�eZdZdddgd�ddddd�Zdd	ej63d64�ZdZejZ65dd
d�Zdd�Zifd�Z
y)�SVD_img2vidrrT�rrrrrrrrrKr
�rrPrrrrr�use_temporal_resblockrrLrMz/conditioner.embedders.0.open_clip.model.visual.g��@r��r�r�Nc�4�tj||��}|Sr�)rr�r�s     r1r�zSVD_img2vid.get_model;����$�$�T�&�9���66r3c��yr;rHr?s  r1r@zSVD_img2vid.clip_target?���r3r�)rArBrCrDr&r'rErwr	rrFr�r�r@rHr3r1r�r�#sf����%)�5���"&�!%�	�K����-�-���K��"�'�'�M�&+�%�@���&(�r3r�c	�4�eZdZdddgd�ddddd�ZdgZdd67�Zy	)�SV3D_urrTr�rK�r�z conditioner.embedders.1.encoder.Nc�4�tj||��}|Sr�)rr�r�s     r1r�zSV3D_u.get_modelP�������V�4���68r3r�)rArBrCrD�vae_key_prefixr�rHr3r1r�r�Bs0����%)�5���"&�!%�	�K�9�9�N�r3r�c	�.�eZdZdddgd�ddddd�Zd69d	�Zy)�SV3D_prrTr�rKr~r�Nc�4�tj||��}|Sr�)rr�r�s     r1r�zSV3D_p.get_modelar�r3r��rArBrCrDr�rHr3r1r�r�Ts&����%)�5���"&�!%�	�K�r3r�c�`�eZdZddddddd�Zddd�Zddd	�Zd70ZejZ	d
d�Z71ifd�Zy)�Stable_Zero123r
rFNr�rrrrrrPrr)�cc_projection.weight�cc_projection.biaszcond_stage_model.model.visual.c�D�tj|||d|d��}|S)Nr�r�)r��cc_projection_weight�cc_projection_bias)rr�r�s     r1r�zStable_Zero123.get_model}s:���'�'��V�R\�]s�Rt�JT�Ui�Jj�k���72r3c��yr;rHr?s  r1r@zStable_Zero123.clip_target�r�r3r�)rArBrCrDrE�
required_keysrwr	rrFr�r@rHr3r1r�r�es\����%*��"'��
�K�����!%�"��M�73:��"�'�'�M��&(�r3r�c�Z�eZdZddddddd�Zgd�d	d74dd�ZejZd
dd�Zdd�Z	y)�
SD_X4UpscalerrKr��TNF)rrrPrrr)TTTFrnrr)�disable_self_attentions�num_classesrr�-C��6?�{�G�z�?��linear_start�75linear_endc�4�tj||��}|Sr�)rr�r�s     r1r�zSD_X4Upscaler.get_model�s���&�&�t�F�;���76r3r�)77rArBrCrDrEr	�SD_X4rFr�r�rHr3r1r�r��sS�����%)��"'�
�K�$=����	��#�(�(�M�����78r3r�c��eZdZddiZiZejZejejgZddiZdgZ
dgZdZd�Zd	�Zd
d�Zifd�Zy79)�Stable_Cascade_C�stable_cascade_stage�c�shift�@�vae.z
text_encoder.zclip_l_vision.c�v��t|j��}dD]�}dj|��t�fd�|�}|D]r}|j	|�}|dt��dz}|jddz}td�D]-}	gd�}80dj||81|	|�}|||	z||	dzz||<�/�t��|S)	N)�weight�biasz82in_proj_{}c�&��|j��Sr;)�endswith)�a�suffixs �r1�<lambda>z:Stable_Cascade_C.process_unet_state_dict.<locals>.<lambda>�s���A�J�J�v�$6r3rr�)�to_q�to_k�to_vz{}.{}.{})r r!rS�filterr$�len�shape�range)
r*r+�key_listr.r!�k_from�weightsrY�83shape_fromr-r8�k_tor�s
            @r1�process_unet_state_dictz(Stable_Cascade_C.process_unet_state_dict�s�����84���)�*��#�A�!�(�(��+�F��6��A�D���$�.�.��0��� 3�3�v�;��?�!3�4��$�]�]�1�-��2�85��q��A�0�A�%�,�,�V�Q�q�T�1�=�D�'.�z�!�|�J��A��<N�'O�J�t�$�"�	�$��r3c���tj||jD�cic]}|d��c}d��}d|vr$|jd�j	dd�|d<|Scc}w)NrjTrzclip_g.text_projectionrrz)clip_g.transformer.text_projection.weight)rr)�text_encoder_key_prefixr$�	transpose�r*r+r,s   r1r2z(Stable_Cascade_C.process_clip_state_dict�ss���4�4�Z�QU�Qm�Qm�An�Qm�A�!�R�%�Qm�An�}A�B�86�#�z�1�FP�n�n�Um�Fn�Fx�Fx�yz�|}�F~�J�B�C����Bos�87A88Nc�4�tj||��}|Sr�)r�StableCascade_Cr�s     r1r�zStable_Cascade_C.get_model�����(�(��f�=���89r3c�f�tjtjtj�Sr;)rr<r�StableCascadeTokenizer�StableCascadeClipModelr?s  r1r@zStable_Cascade_C.clip_target�s"��$�/�/�	�0P�0P�R[�Rr�Rr�s�sr3r�)rArBrCrDrEr	�SC_PriorrFr&�bfloat16r'�supported_inference_dtypesr�r�r
rwrr2r�r@rHr3r1r�r��su�����K���"�+�+�M�"'�.�.�%�-�-�!@��	�����X�N�.�/��)��
���&(�tr3r�c��eZdZddiZiZejZejejejgZddiZ
dZdd�Zy)�Stable_Cascade_Br��br�rNc�4�tj||��}|Sr�)r�StableCascade_Br�s     r1r�zStable_Cascade_B.get_model�rr3r�)rArBrCrDrEr	�SC_BrFr&�float16rr'rr�rwr�rHr3r1rr�sV�����K���"�'�'�M�"'�-�-�������!O��	������r3rc�&�eZdZddddddd�Zdd�Zy)	�SD15_instructpix2pixr
rFNrr�c�0�tj||��Sr�)rr!r�s    r1r�zSD15_instructpix2pix.get_model�s���.�.�t�F�C�Cr3r�r�rHr3r1r!r!�s!����%*��"'��
�K�Dr3r!c�,�eZdZddgd�ddddd�Zdd90�Zy	)�SDXL_instructpix2pixrTr�r{r�Fr)rrrrrrrPNc�R�tj||j||�|��Sr�)rr$r[r�s    r1r�zSDXL_instructpix2pix.get_model�s%���.�.�t����PZ�\b�@c�lr�s�sr3r�r�rHr3r1r$r$�s$���%)�1���"'���K�tr3r$c�V�eZdZddd�ZddiZiZejZdZ	dgZ91d92d�Zifd	�Zy)�SD3�N)rP�pos_embed_scaling_factorr�g@�333333�?�text_encoders.c�4�tj||��}|Sr�)rr'r�s     r1r�z
SD3.get_models���n�n�T�&�1���93r3c94���d}d}d}|jd}dj|�|vrd}dj|�|vrd}tjjj|dj|��}d|vrd}t
jtjjjtjjjd	|||d�|���S)95NFrz7{}clip_l.transformer.text_model.final_layer_norm.weightTz7{}clip_g.transformer.text_model.final_layer_norm.weight�{}t5xxl.transformer.�dtype_t5)r�r��t5rH)	r
rSrdre�sd3_clip�
t5_xxl_detectrr<�SD3Tokenizer)r*r+r�r�r0�pref�	t5_detects       r1r@zSD3.clip_targets������
���+�+�A�.��D�K�K�D�Q�U_�_��F�D�K�K�D�Q�U_�_��F��'�'�0�0�>�>�z�Ka�Kh�Kh�im�Kn�o�	���"��B�$�/�/��0C�0C�0L�0L�0Y�0Y�[`�[n�[n�[w�[w�\A�\A�\s�IO�X^�ce�\s�ir�\s�t�	tr3r�)
rArBrCrDr�rEr	r'rFrGr
r�r@rHr3r1r'r'�sP���$(��K�	������"�&�&�M���/�0���&(�
tr3r'c�d�eZdZddiZddd�ZiZejZdgZ	dgZ96d
d	�Zd97�Zd�Z
ifd�Zy)�StableAudio�audio_modelzdit1.0g@@���Q��?r�r+zpretransform.model.Nc��tj|ddid��}tj|ddid��}tj||||��S)Nz'conditioner.conditioners.seconds_start.rjTrz'conditioner.conditioners.seconds_total.)�seconds_start_embedder_weights�seconds_total_embedder_weightsr�)rr)r�StableAudio1)r*r+rYr��seconds_start_sd�seconds_total_sds      r1r�zStableAudio.get_model.sr�� �:�:�:�Hq�su�Gv�EI�J�� �:�:�:�Hq�su�Gv�EI�J���&�&�t�L\�~N�W]�^�	^r3c���t|j��D]G}|jd�s#|jd�s|jd�s�7|j|��I|S)Nz.cross_attend_norm.betaz
.ff_norm.betaz.pre_norm.beta)r r!r�r$rs   r1rz#StableAudio.process_unet_state_dict3sS���j�o�o�'�(�A��z�z�3�4��98�99�?�8S�WX�Wa�Wa�br�Ws����q�!�)��r3c�6�ddi}tj||�S�Nrjzmodel.model.�rr)r_s   r1�"process_unet_state_dict_for_savingz.StableAudio.process_unet_state_dict_for_saving9����n�-���.�.�z�>�J�Jr3c��tjtjjj100tjjj�Sr;)rr<rdre�sa_t5�
SAT5Tokenizer�	SAT5Modelr?s  r1r@zStableAudio.clip_target=s:��$�/�/��0C�0C�0I�0I�0W�0W�Y^�Yl�Yl�Yr�Yr�Y|�Y|�}�}r3r�)rArBrCrDr�rEr	r=rFr
r�r�rrDr@rHr3r1r7r7!sY���x��K�',�$�?����"�/�/�M�/�0��+�,�N�^�101�K�&(�~r3r7c�X�eZdZddiZddd�ZiZejZdgZ	dgZ102dd	�Zifd103�Zy)�AuraFlow�cond_seq_dimr{rg�G�z��?��104multiplierr�r�r+Nc�4�tj||��}|Sr�)rrKr�s     r1r�zAuraFlow.get_modelPs���!�!�$�v�6���105r3c��tjtjjj106tjjj�Sr;)rr<rdre�aura_t5�AuraT5Tokenizer�AuraT5Modelr?s  r1r@zAuraFlow.clip_targetTsH��$�/�/��0C�0C�0K�0K�0[�0[�]b�]p�]p�]x�]x�^E�^E�F�	Fr3r�)
rArBrCrDr�rEr	r�rFr�r
r�r@rHr3r1rKrK@sQ�����K�107����108��"�'�'�M��X�N�/�0���&(�Fr3rKc�`�eZdZddiZddddd�ZiZejZdZ	d	gZ109d110gZdd�Zifd
�Z
y)�PixArtAlpha�image_model�pixart_alpha�sqrt_linearr�r�rn)rrr�r�rqr�r�r+Nc�P�tj||��}|j�Sr�)r�PixArt�evalr�s     r1r�zPixArtAlpha.get_modelks ������V�4���x�x�z�r3c��tjtjjj111tjjj�Sr;)rr<rdre�	pixart_t5�PixArtTokenizer�PixArtT5XXLr?s  r1r@zPixArtAlpha.clip_targetosH��$�/�/��0C�0C�0M�0M�0]�0]�_d�_r�_r�_|�_|�`I�`I�J�	Jr3r�)rArBrCrDr�rEr	rrFrGr�r
r�r@rHr3r1rUrUWs]���~��K�112(� ���	����"�'�'�M����X�N�/�0���&(�Jr3rUc�,�eZdZddiZej113Zy)�PixArtSigmarV�pixart_sigmaN)rArBrCrDr	r�rFrHr3r1rarars���~��K�#�'�'�Mr3rac�t�eZdZddiZdej114iZddd�ZejZ115dZdgZd	gZ
d
d�Zifd�Zy116)�117HunyuanDiTrV�hyditrN�_�Q�K?g;�O��n�?r�g�������?r�r+Nc�4�tj||��}|Sr�)rrdr�s     r1r�zHunyuanDiT.get_model�����#�#�D��8���118r3c��tjtjjj119tjjj�Sr;)rr<rdrere�HyditTokenizer�120HyditModelr?s  r1r@zHunyuanDiT.clip_target�s:��$�/�/��0C�0C�0I�0I�0X�0X�Z_�Zm�Zm�Zs�Zs�Z~�Z~��r3r�)rArBrCrDr&r'rEr�r	r�rFrGr�r
r�r@rHr3r1rdrdxsd���w��K�121	�%�-�-���122 ����123#�'�'�M����X�N�/�0���&(�@r3rdc�"�eZdZddiZiZddd�Zy)�HunyuanDiT1rV�hydit1rfr9r�N)rArBrCrDrEr�rHr3r1rmrm�s&���x��K���!���r3rmc��eZdZddd�ZiZiZejZdZ	e124je125je126jgZdgZdgZd127d�Zifd	�Zy)�Flux�fluxT�rV�guidance_embedgffffff@r�r+Nc�4�tj||��}|Sr�)rrpr�s     r1r�zFlux.get_model�����o�o�d�6�2���128r3c�P�|jd}tjjj	|dj|��}t
jtjjjtjjjdi|���S�Nrr.rH)r
rdrer1r2rSrr<rq�
FluxTokenizer�	flux_clip�r*r+r4r5s    r1r@zFlux.clip_target�s����+�+�A�.���'�'�0�0�>�>�z�Ka�Kh�Kh�im�Kn�o�	�$�/�/��0C�0C�0H�0H�0V�0V�X]�Xk�Xk�Xp�Xp�Xz�Xz�YH�~G�YH�I�	Ir3r�)rArBrCrDr�rEr	rprFrGr&rrr'rr�r
r�r@rHr3r1rprp�si�����K�129����"�'�'�M���"'�.�.�%�-�-����!O���X�N�/�0���&(�Ir3rpc�H�eZdZdddd�Zej130ejgZy)�FluxInpaintrqT�`)rVrsrPN)rArBrCrDr&rr'rrHr3r1r|r|�s'������K�#(�.�.�%�-�-�!@�r3r|c�(�eZdZddd�Zddd�Zdd�Zy)	�FluxSchnellrqFrrrrMNc�f�tj|tjj|��}|Sr�)rrprV�FLOWr�s     r1r�zFluxSchnell.get_model�s&���o�o�d�z�/C�/C�/H�/H�QW�X���131r3r�)rArBrCrDr�r�rHr3r1rr�s$�����K�����132r3rc��eZdZddiZddd�ZiZejZdZ	e133je134jgZ
dgZdgZdd135�Zifd�Zy	)
�136GenmoMochirV�
mochi_previewr�@rMr�r�r+Nc�4�tj||��}|Sr�)rr�r�s     r1r�zGenmoMochi.get_model�rhr3c�P�|jd}tjjj	|dj|��}t
jtjjjtjjjdi|���Srw)r
rdrer1r2rSrr<�genmo�MochiT5Tokenizer�mochi_terzs    r1r@zGenmoMochi.clip_target�s����+�+�A�.���'�'�0�0�>�>�z�Ka�Kh�Kh�im�Kn�o�	�$�/�/��0C�0C�0I�0I�0Z�0Z�\a�\o�\o�\u�\u�\~�\~�]L�BK�]L�M�	Mr3r�)rArBrCrDr�rEr	�MochirFrGr&rr'rr�r
r�r@rHr3r1r�r��sj�����K�137����138��"�(�(�M���"'�.�.�%�-�-�!@���X�N�/�0���&(�Mr3r�c��eZdZddiZddiZiZejZdZ	e139je140jgZ
dgZdgZdd	�Zifd141�Zy)�LTXVrV�ltxvr�g�(\���@g@r�r+Nc�4�tj||��}|Sr�)rr�r�s     r1r�zLTXV.get_modelrur3c�P�|jd}tjjj	|dj|��}t
jtjjjtjjjdi|���Srw)r
rdrer1r2rSrr<�lt�LTXVT5Tokenizer�ltxv_terzs    r1r@zLTXV.clip_targets����+�+�A�.���'�'�0�0�>�>�z�Ka�Kh�Kh�im�Kn�o�	�$�/�/��0C�0C�0F�0F�0V�0V�X]�Xk�Xk�Xn�Xn�Xv�Xv�YD�zC�YD�E�	Er3r�)rArBrCrDr�rEr	r�rFrGr&rr'rr�r
r�r@rHr3r1r�r��si���v��K�142	������"�'�'�M���"'�.�.�%�-�-�!@���X�N�/�0���&(�Er3r�c��eZdZddiZddiZiZejZdZ	e143je144jgZ
dgZdgZd
d	�Zd145�Zd�Zifd�Zy)�HunyuanVideorV�
hunyuan_videor�g@g�������?r�r+Nc�4�tj||��}|Sr�)rr�r�s     r1r�zHunyuanVideo.get_model s���%�%�d�6�:���146r3c��i}t|j��D�]}|}|jdd�jdd�}|jdd�jdd�}|jd	d147�jdd�}|jd
d�jdd�}|jdd�jdd�}|jdd�jdd�}|jdd�}|jdd�}|jdd�jdd �}||||<��"|S)!Nztxt_in.t_embedder.mlp.0.ztxt_in.t_embedder.in_layer.ztxt_in.t_embedder.mlp.2.ztxt_in.t_embedder.out_layer.ztxt_in.c_embedder.linear_1.ztxt_in.c_embedder.in_layer.ztxt_in.c_embedder.linear_2.ztxt_in.c_embedder.out_layer.z_mod.linear.z	_mod.lin.z148_attn_qkv.z149_attn.qkv.zmlp.fc1.zmlp.0.zmlp.fc2.zmlp.2.z_attn_q_norm.weightz_attn.norm.query_norm.scalez_attn_k_norm.weightz_attn.norm.key_norm.scalez.q_norm.weightz.norm.query_norm.scalez.k_norm.weightz.norm.key_norm.scalez_attn_proj.z_attn.proj.z.modulation.linear.z.modulation.lin.z150_in.mlp.2.z_in.out_layer.z151_in.mlp.0.z
_in.in_layer.)r r!r#)r*r+�out_sdr,�key_outs     r1rz$HunyuanVideo.process_unet_state_dict$s[�����j�o�o�'�(�A��G��o�o�&@�B_�`�h�h�jD�Fd�e�G��o�o�&C�Eb�c�k�k�mJ�Lj�k�G��o�o�n�k�B�J�J�<�Ye�f�G��o�o�j�(�;�C�C�J�PX�Y�G��o�o�&;�=Z�[�c�c�dy�|W�X�G��o�o�&6�8P�Q�Y�Y�Zj�mC�D�G��o�o�m�]�C�G��o�o�&;�=O�P�G��o�o�l�4D�E�M�M�l�\k�l�G�(��m�F�7�O�)��
r3c�6�ddi}tj||�SrBrCr_s   r1rDz/HunyuanVideo.process_unet_state_dict_for_saving4rEr3c�P�|jd}tjjj	|dj|��}t
jtjjjtjjjdi|���S)Nrz{}llama.transformer.rH)152r
rdrer��llama_detectrSrr<�HunyuanVideoTokenizer�hunyuan_video_clip�r*r+r4�hunyuan_detects    r1r@zHunyuanVideo.clip_target8s����+�+�A�.���,�,�:�:�G�G�153�Tj�Tq�Tq�rv�Tw�x��$�/�/��0C�0C�0Q�0Q�0g�0g�in�i|�i|�jK�jK�j^�j^�jp�ao�jp�q�	qr3r�)rArBrCrDr�rEr	r�rFrGr&rr'rr�r
r�rrDr@rHr3r1r�r�
st�����K�154	������"�/�/�M���"'�.�.�%�-�-�!@���X�N�/�0���� K�&(�qr3r�c��eZdZddd�Zdd�Zy)�HunyuanVideoI2Vr��!�rVrPNc�4�tj||��}|Sr�)rr�r�s     r1r�zHunyuanVideoI2V.get_modelCrr3r�r�rHr3r1r�r�=���&���K�155r3r�c��eZdZddd�Zdd�Zy)�HunyuanVideoSkyreelsI2Vr�� r�Nc�4�tj||��}|Sr�)rr�r�s     r1r�z!HunyuanVideoSkyreelsI2V.get_modelMs���0�0��f�E���156r3r�r�rHr3r1r�r�Gr�r3r�c��eZdZddd�Zdddd�ZiZejZdZ	e157je158je159jgZd	gZd160gZdd�Zifd
�Zy)�	CosmosT2V�cosmosr(r�r�r�r�)r�r�r�g�������?r�r+Nc�4�tj||��}|Sr��r�CosmosVideor�s     r1r�zCosmosT2V.get_modelgr�r3c�P�|jd}tjjj	|dj|��}t
jtjjjtjjjdi|���Srw)r
rdrer1r2rSrr<r��CosmosT5Tokenizer�terzs    r1r@zCosmosT2V.clip_targetks����+�+�A�.���'�'�0�0�>�>�z�Ka�Kh�Kh�im�Kn�o�	�$�/�/��0C�0C�0J�0J�0\�0\�^c�^q�^q�^x�^x�^{�^{�_I�H�_I�J�	Jr3r�)rArBrCrDr�rEr	�Cosmos1CV8x8x8rFrGr&rrr'rr�r
r�r@rHr3r1r�r�Qst�����K��������"�1�1�M���"'�.�.�%�-�-����!O���X�N�/�0���&(�Jr3r�c��eZdZddd�Zdd�Zy)�	CosmosI2Vr��r�Nc�6�tj|d|��}|S�NT)�image_to_videor�r�r�s     r1r�zCosmosI2V.get_modelvs���$�$�T�$�v�N���161r3r�r�rHr3r1r�r�ps�����K�162r3r�c��eZdZddiZddd�ZdZiZejZ	e163je164jgZ
dgZdgZdd165�Zifd�Zy	)
�Lumina2rV�lumina2rr�rMr*r�r+Nc�4�tj||��}|Sr�)rr�r�s     r1r�zLumina2.get_model�s��� � ��f�5���166r3c�P�|jd}tjjj	|dj|��}t
jtjjjtjjjdi|���S)Nrz{}gemma2_2b.transformer.rH)r
rdrer�r�rSrr<r��LuminaTokenizerr�r�s    r1r@zLumina2.clip_target�s����+�+�A�.���,�,�:�:�G�G�167�Tn�Tu�Tu�vz�T{�|��$�/�/��0C�0C�0K�0K�0[�0[�]b�]p�]p�]x�]x�]{�]{�^N�M�^N�O�	Or3r�)rArBrCrDr�rGrEr	rprFr&rr'rr�r
r�r@rHr3r1r�r�zsj���y��K�168����169����"�'�'�M�"'�.�.�%�-�-�!@���X�N�/�0���&(�Or3r�c���eZdZddd�ZddiZiZejZdZ	e170je171je172jgZdgZdgZ�fd	�Zdd173�Zifd�Z�xZS)
�	WAN21_T2V�wan2.1�t2v�rVr[r�g @rr�r+c�l��t�|�|�|jjdd�dz|_y)N�dimi�)�super�__init__rDrTrG)r*rD�	__class__s  �r1r�zWAN21_T2V.__init__�s0���
����%�#'�#3�#3�#7�#7��t�#D�t�#K�� r3c�4�tj||��}|Sr��r�WAN21r�s     r1r�zWAN21_T2V.get_model�s�����t�F�3���174r3c�P�|jd}tjjj	|dj|��}t
jtjjjtjjjdi|���S)Nrz{}umt5xxl.transformer.rH)r
rdrer1r2rSrr<�wan�WanT5Tokenizerr�rzs    r1r@zWAN21_T2V.clip_target�s����+�+�A�.���'�'�0�0�>�>�z�Kc�Kj�Kj�ko�Kp�q�	�$�/�/��0C�0C�0G�0G�0V�0V�X]�Xk�Xk�Xo�Xo�Xr�Xr�X�u~�X�A�	Ar3r�)rArBrCrDr�rEr	�Wan21rFrGr&rrr'rr�r
r�r�r@�
__classcell__)r�s@r1r�r��sw������K�	������"�(�(�M���"'�-�-�������!O���X�N�/�0��L��&(�Ar3r�c��eZdZddd�Zdd�Zy)�	WAN21_I2Vr��i2vr�Nc�6�tj|d|��}|Sr�r�r�s     r1r�zWAN21_I2V.get_model�s�����t�D��H���175r3r�r�rHr3r1r�r��s�����K�176r3r�)@r&rjrrrr�comfy.text_encoders.sd2_cliprd�comfy.text_encoders.sd3_clip�comfy.text_encoders.sa_t5�comfy.text_encoders.aura_t5�comfy.text_encoders.pixart_t5�comfy.text_encoders.hydit�comfy.text_encoders.flux�comfy.text_encoders.genmo�comfy.text_encoders.lt�!comfy.text_encoders.hunyuan_video�comfy.text_encoders.cosmos�comfy.text_encoders.lumina2�comfy.text_encoders.wanrr	r177�BASErrJrlrzr}r�r�r�r�r�r�r�r�r�r�r�rr!r$r'r7rKrUrardrmrpr|rr�r�r�r�r�r�r�r�r�r��modelsrHr3r1�<module>r�s��������#�#� �"�$� �� ��(�!�"��#���,^� �%�%�,^�\*F� �%�%�*F�X178A�$�179A�180B�$�181B�$i�'�,�,�$i�LFb� �%�%�Fb�P�D���4������t���'�,�,��>�[��$�V��"�*�/�/��>�D��8,t�,�1�1�,t�\�'��(D�4�D�t�4�t�"t�182�183$�184$�"t�H~�'�,�,�~�>F�$�)�)�F�.J�'�,�,�J�6(�+�(�@�&�+�+�@�8185�*�186�I� �%�%�I�8A�$�A�
�$�
�M�&�+�+�M�:E� �%�%�E�8.q�(�-�-�.q�`�l���l��J�%�*�*�J�>�	��O�#�(�(�O�:A�%�*�*�A�B�	��187[�.�188[�.�189[��190[�d�191[�K�192[��193[�Vj�194[�lw�195[�y}�196[�@E�197[�GQ�198[�S[�199[�]i�200[�kx�201[�zJ�202[�L\�203[�^d�204[�fl�205[�nq�206[�s~�207[�@H�208[�JU�209[�Wb�210[�dn�211[�p{�212[�}H�213[�JN�214[�P[�215[�]g�216[�im�217[�oF�218[�HW�219[�Ye�220[�gp�221[�r{�222[�}D�223[�FO�224[�QZ�225[���;�-��r3