§
    ÎÐjå%  ã                   ó‚   — d dl mZ ddlmZ d dlZd dlZd dlmZ d dlm	Z	 i Z
d„ Zd„ Zd	„ Zd
„ Zd„ Z G d„ d¦  «        ZdS )é    )Ú
merge_helpé   )Úkandinsky_helpN)Ú	OmegaConf)Úbuild_hf_urlc                 ó€  — t                                | ¦  «        }|�|S t          j                             ddd| ¦  «        }t          j                             |¦  «        sd t           | <   d S t          j        |¦  «        }d }t          |d¦  «        r"d|j	        v rt          |j	        j        ¦  «        }|t           | <   |S )NÚmodelsÚ
kandinsky5ÚconfigsÚmagcacheÚ
mag_ratios)Ú_MAGCACHE_RATIOS_CACHEÚgetÚosÚpathÚjoinÚisfiler   ÚloadÚhasattrr   Úlistr   )Úconfig_nameÚratiosÚconfig_pathÚconfs       úKC:\Users\johnn\OneDrive\Documents\AI\models\kandinsky5\kandinsky_handler.pyÚ_load_magcache_ratiosr      s³   € Ý#×'Ò'¨Ñ4Ô4€FØÐØˆÝ”'—,’,˜x¨°yÀ+ÑNÔN€KÝŒ7�>Š>˜+Ñ&Ô&ð Ø.2Õ˜{Ñ+ØˆtÝŒ>˜+Ñ&Ô&€DØ€FÝˆt�ZÑ Ô ð 0 \°T´]Ð%BÐ%BÝ�d”mÔ.Ñ/Ô/ˆØ*0Õ˜;Ñ'Ø€Mó    c                 ó`   ‡‡— | �|€dS | |z  Š|rdddœŠndddœŠt          ‰ˆˆfd„¬¦  «        S )Né   i   i   )r   é   i   c                 ó4   •— t          ‰‰|          z
  ¦  «        S ©N)Úabs)ÚresÚareaÚbucket_areass    €€r   ú<lambda>z#_select_k5_bucket.<locals>.<lambda>%   s   ø€ ­S°¸ÀSÔ8IÑ1IÑ-JÔ-J€ r   )Úkey)Úmin)ÚwidthÚheightÚis_videor%   r&   s      @@r   Ú_select_k5_bucketr-      s_   øø€ Ø€}˜˜ØˆsØ�6‰>€DØð ;Ø&¨kÐ:Ð:ˆˆà&¨kÐ:Ð:ˆÝˆ|Ð!JÐ!JÐ!JÐ!JÐ!JÐKÑKÔKÐKr   c                 óì   — | rd|                       ¦   «         v rdS |pi                      di ¦  «        }|                     di ¦  «                             di ¦  «        }|                     d¦  «        dk    S )NÚsparseTÚk5_config_overridesÚmodelÚ	attentionÚtypeÚnabla)Úlowerr   )Ú
model_typeÚ	model_defÚ	overridesr2   s       r   Ú_is_k5_sparser9   (   sy   € Øð �h *×"2Ò"2Ñ"4Ô"4Ð4Ð4ØˆtØ�˜b×%Ò%Ð&;¸RÑ@Ô@€IØ—’˜g rÑ*Ô*×.Ò.¨{¸BÑ?Ô?€IØ�=Š=˜Ñ Ô  GÒ+Ð+r   c                 ó¶   — |dk    rdnd}|pd                      ¦   «         }| dk    rd|v rd|› d�S d	|› d�S | d
k    rd|› d�S | dk    rd|v rdS dS | dk    rdS d S )Nr    ÚhdÚsdÚ Ú
k5_pro_t2vÚ10sÚk5_pro_t2v_10s_sft_z.yamlÚk5_pro_t2v_5s_sft_Ú
k5_pro_i2vÚk5_pro_i2v_5s_sft_Úk5_lite_t2vzk5_lite_t2v_10s_sft_sd.yamlzk5_lite_t2v_5s_sft_sd.yamlÚk5_lite_i2vzk5_lite_i2v_5s_sft_sd.yaml©r5   )Úbase_model_typer6   ÚbucketÚ	is_sparseÚ
bucket_tags        r   Ú_select_k5_magcache_configrK   0   sµ   € Ø 4š˜��¨T€JØÐ" ×)Ò)Ñ+Ô+€JØ˜,Ò&Ð&Ø�JÐÐØ:¨Ð:Ð:Ð:Ð:Ø5 JÐ5Ð5Ð5Ð5Ø˜,Ò&Ð&Ø5 JÐ5Ð5Ð5Ð5Ø˜-Ò'Ð'Ø�JÐÐØ0Ð0Ø+Ð+Ø˜-Ò'Ð'Ø+Ð+Øˆ4r   c                 óf   — | sdS |                       ¦   «         }d|v rdS d|v rdS d|v rdS d|v rdS dS )NÚt2vÚi2vÚi2iÚt2irF   )rG   Úbases     r   Ú_infer_taskrR   B   s]   € Øð ØˆuØ× Ò Ñ"Ô"€DØ�€}€}ØˆuØ�€}€}ØˆuØ�€}€}ØˆuØ�€}€}ØˆuØˆ5r   c                   ó.  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
edd	„¦   «         Zedddd
dej        ej        d
d
ddfd„¦   «         Zed„ ¦   «         Zed„ ¦   «         ZdS )Úfamily_handlerc                  ó
   — g d¢S )N)rD   rE   r>   rB   © rV   r   r   Úquery_supported_typesz$family_handler.query_supported_typesR   s   € ð
ð 
ð 
ð 	
r   c                  ó
   — i i fS r"   rV   rV   r   r   Úquery_family_mapsz family_handler.query_family_maps[   s   € à�2ˆvˆr   c                  ó   — dS )Nr
   rV   rV   r   r   Úquery_model_familyz!family_handler.query_model_family_   s   € àˆ|r   c                  ó
   — ddiS )Nr
   )é2   zKandinsky 5rV   rV   r   r   Úquery_family_infosz!family_handler.query_family_infosc   s   € ð Ð-ð
ð 	
r   c                 ó   — | S r"   rV   )rG   s    r   Úget_lora_dirzfamily_handler.get_lora_diri   s   € àÐr   c                 ó6  — | dk    rd S |                      dddœ¦  «         |                     d¦  «        }d x}}t          |t          ¦  «        rcd|v r_|                     dd¦  «        \  }}	|                     ¦   «         r2|	                     ¦   «         rt          |¦  «        }t          |	¦  «        }t          ||d¬	¦  «        }
|                     d
¦  «        }t          ||¦  «        }t          |||
|¦  «        }|sd S t          |¦  «        }|r	||_        d S d S )NÚmagr   é   )Úmagcache_threshÚ
magcache_KÚ
resolutionÚxr   T)r,   r6   )Úupdater   Ú
isinstanceÚstrÚsplitÚisdigitÚintr-   r9   rK   r   Údef_mag_ratios)Ú
cache_typerG   r7   ÚinputsÚskip_steps_cacherf   r*   r+   Ú	width_strÚ
height_strrH   r6   rI   r   r   s                  r   Úset_cache_parametersz#family_handler.set_cache_parametersm   sM  € à˜ÒÐØˆFØ×ÒØ Øð!
ð !
ñ 	ô 	ð 	ð —Z’Z Ñ-Ô-ˆ
ØÐˆ�Ý�j¥#Ñ&Ô&ð 	)¨3°*Ð+<Ð+<Ø$.×$4Ò$4°S¸!Ñ$<Ô$<Ñ!ˆI�zØ× Ò Ñ"Ô"ð ) z×'9Ò'9Ñ';Ô';ð )Ý˜I™œ�Ý˜Z™œ�Ý" 5¨&¸4Ð@Ñ@Ô@ˆØ—Z’Z Ñ-Ô-ˆ
Ý! *¨iÑ8Ô8ˆ	Ý0°À*ÈfÐV_Ñ`Ô`ˆØð 	ØˆFÝ& {Ñ3Ô3ˆØð 	5Ø.4ÐÔ+Ð+Ð+ð	5ð 	5r   c           
      ó†  — t          | ¦  «        }|dv }|dv }| pd}d|dk    |dk    |ddd	d	|gd
œ	}d}t          d|d¦  «        t          d|d¦  «        g|d<   ||d<   |r|                     ddddœ¦  «         n|                     ddddœ¦  «         |dv rd|d<   nd|d<   t          |t	          | i |¥|¥¦  «        ¦  «        S )N)rM   rN   ©rP   rO   r
   ÚhunyuanrN   rM   r   FT)	Útiny_vae_architectureÚ	i2v_classÚ	t2v_classÚimage_outputsÚguidance_max_phasesÚsliding_windowÚ
flow_shiftÚ	mag_cacheÚprofiles_dirúQwen2.5-VL-7B-InstructúDeepBeepMeep/Qwen_imagez'Qwen2.5-VL-7B-Instruct_bf16.safetensorsz3Qwen2.5-VL-7B-Instruct_quanto_bf16_int8.safetensorsÚtext_encoder_URLsÚtext_encoder_folderé   é   é   )ÚfpsÚframes_minimumÚframes_steps©rN   rO   ÚSÚimage_prompt_types_allowedr=   )rR   r   rh   r   r   )rG   r7   Útaskr,   Úis_imager€   Úextra_model_defr„   s           r   Úquery_model_defzfamily_handler.query_model_def†   sV  € å˜?Ñ+Ô+ˆØ˜>Ð)ˆØ˜>Ð)ˆà&Ð6¨,ˆà%.Ø šØ šØ%Ø#$Ø#ØØØ)˜Nð

ð 

ˆð 7ÐåÐ2Ð4GÐIrÑsÔsÝÐ2Ð4GÐI~ÑÔð0
ˆÐ+Ñ,ð 2EˆÐ-Ñ.àð 	Ø×"Ò"àØ&'Ø$%ðð ñô ð ð ð ×"Ò"àØ&'Ø$%ðð ñô ð ð �>Ð!Ð!Ø<?ˆOÐ8Ñ9Ð9à<>ˆOÐ8Ñ9å˜/­>¸/ÐKkÈoÐKkÐajÐKkÑ+lÔ+lÑmÔmÐmr   Nc                 ó:   — dddgddgg d¢gdœdd	dgg d
¢ddggdœgS )Nr‚   r=   r�   zqwen_vae.safetensorszqwen_vae_config.json)ú
merges.txtútokenizer_config.jsonzconfig.jsonú
vocab.jsonzvideo_preprocessor_config.jsonúpreprocessor_config.jsonzchat_template.json)ÚrepoIdÚsourceFolderListÚfileListzDeepBeepMeep/HunyuanVideoÚclip_vit_large_patch14)ztext_config.jsonr“   zmodel.safetensorsr–   zspecial_tokens_map.jsonztokenizer.jsonr”   r•   z"hunyuan_video_VAE_fp32.safetensorszhunyuan_video_VAE_config.jsonrV   )ÚcomputeListrG   r7   s      r   Úquery_model_filesz family_handler.query_model_files·   sy   € ð 4Ø%'Ð)AÐ$Bà+Ð-CÐDðð ð ððð ð" 6Ø%=¸rÐ$Bð	ð 	ð 	ð =Ø7ðððð ð#%
ð %	
r   Fc                 ó6  — ddl m}  |d| |||||||||	¬¦  «        }|j        |j        j        j        |j        j        j        |j        dœ}|                     ¦   «         D ]6}t          |t          j        j        ¦  «        r|                     d¦  «         Œ7||fS )Nr   )Úmodel_factoryÚckpts)Úcheckpoint_dirÚmodel_filenamer6   r7   rG   Útext_encoder_filenameÚquantizeTransformerÚdtypeÚ	VAE_dtypeÚmixed_precision_transformerÚsave_quantized)ÚtransformerÚtext_encoderÚtext_encoder_2ÚvaeÚcpu)Úkandinsky_mainrž   r¨   Útext_embedderÚembedderr1   Úclip_embedderr«   Úvaluesri   ÚtorchÚnnÚModuleÚto)r¡   r6   rG   r7   r£   Útext_encoder_quantizationr¤   r¥   r¦   r§   Úsubmodel_no_listr¢   Úkwargsrž   Ú	kandinskyÚpipeÚmodules                    r   Ú
load_modelzfamily_handler.load_modelà   sÊ   € ð  	2Ð1Ð1Ð1Ð1Ð1à!�MØ"Ø)Ø!ØØ+Ø"7Ø 3ØØØ(CØ)ð
ñ 
ô 
ˆ	ð %Ô0Ø%Ô3Ô<ÔBØ'Ô5ÔCÔIØ”=ð	
ð 
ˆð —k’k‘m”mð 	!ð 	!ˆFÝ˜&¥%¤(¤/Ñ2Ô2ð !Ø—	’	˜%Ñ Ô Ð øØ˜$ˆÐr   c                 óR   — t          | ¦  «        }|dv rd|d<   |dv rd|d<   d|d<   d S )	Nrv   r   Ú
image_moder‹   rŒ   Úimage_prompt_typeé   Úskip_steps_start_step_perc)rR   )rG   r7   Úui_defaultsrŽ   s       r   Úupdate_default_settingsz&family_handler.update_default_settings  sK   € å˜?Ñ+Ô+ˆØ�>Ð!Ð!Ø()ˆK˜Ñ%Ø�>Ð!Ð!Ø/2ˆKÐ+Ñ,à46ˆÐ0Ñ1Ð1Ð1r   c                 ó$   — ddl m}  |d¦  «        S )Nr   )Úget_rgb_factorsrw   )Úshared.RGB_factorsrÅ   )rG   rÅ   s     r   rÅ   zfamily_handler.get_rgb_factors  s$   € à6Ð6Ð6Ð6Ð6Ð6àˆ˜yÑ)Ô)Ð)r   r"   )Ú__name__Ú
__module__Ú__qualname__ÚstaticmethodrW   rY   r[   r^   r`   rt   r‘   rœ   r²   Úbfloat16Úfloat32r¼   rÃ   rÅ   rV   r   r   rT   rT   Q   sr  € € € € € Øð
ð 
ñ „\ð
ð ðð ñ „\ðð ðð ñ „\ðð ð
ð 
ñ „\ð
ð
 ðð ñ „\ðð ð5ð 5ñ „\ð5ð0 ð.nð .nñ „\ð.nð` ð&
ð &
ð &
ñ „\ð&
ðP ð ØØØ!Ø"&ØŒnØ”-Ø$)ØØØ"ð(ð (ð (ñ „\ð(ðT ð7ð 7ñ „\ð7ð ð*ð *ñ „\ð*ð *ð *r   rT   )Úmodels.help_sharedr   Úinfosr   r   r²   Ú	omegaconfr   Úshared.utils.hfr   r   r   r-   r9   rK   rR   rT   rV   r   r   ú<module>rÑ      sñ   ðà )Ð )Ð )Ð )Ð )Ð )Ø !Ð !Ð !Ð !Ð !Ð !Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (ð Ð ðð ð ð Lð Lð Lð,ð ,ð ,ðð ð ð$ð ð ðH*ð H*ð H*ð H*ð H*ñ H*ô H*ð H*ð H*ð H*r   