diffsynth-engine 0.6.1.dev24__tar.gz → 0.6.1.dev25__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/PKG-INFO +1 -1
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/__init__.py +6 -2
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/configs/__init__.py +10 -6
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/configs/pipeline.py +0 -18
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/basic/video_sparse_attention.py +4 -1
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/base.py +30 -2
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/flux_image.py +2 -2
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/qwen_image.py +4 -2
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/wan_s2v.py +1 -1
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/wan_video.py +8 -4
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/parallel.py +6 -7
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine.egg-info/PKG-INFO +1 -1
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/.gitattributes +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/.gitignore +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/.pre-commit-config.yaml +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/LICENSE +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/MANIFEST.in +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/README.md +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/assets/dingtalk.png +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/assets/showcase.jpeg +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/assets/tongyi.svg +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/base_scheduler.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/flow_match/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/flow_match/flow_beta.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/flow_match/flow_ddim.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/flow_match/recifited_flow.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/beta.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/ddim.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/exponential.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/karras.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/linear.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/sgm_uniform.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/flow_match/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/flow_match/flow_match_euler.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/stable_diffusion/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/stable_diffusion/brownian_tree.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/stable_diffusion/ddpm.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/stable_diffusion/deis.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/stable_diffusion/dpmpp_2m.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/stable_diffusion/dpmpp_2m_sde.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/stable_diffusion/dpmpp_3m_sde.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/stable_diffusion/epsilon.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/stable_diffusion/euler.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/sampler/stable_diffusion/euler_ancestral.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/components/vae.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/flux/flux_dit.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/flux/flux_text_encoder.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/flux/flux_vae.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/qwen_image/qwen2_5_vl_config.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/qwen_image/qwen2_5_vl_vision_config.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/qwen_image/qwen_image_vae.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/qwen_image/qwen_image_vae_keymap.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/sd/sd_text_encoder.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/sd/sd_unet.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/sd3/sd3_dit.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/sd3/sd3_text_encoder.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/sdxl/sdxl_text_encoder.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/sdxl/sdxl_unet.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/wan/dit/wan2.1_flf2v_14b.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/wan/dit/wan2.1_i2v_14b.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/wan/dit/wan2.1_t2v_1.3b.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/wan/dit/wan2.1_t2v_14b.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/wan/dit/wan2.2_i2v_a14b.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/wan/dit/wan2.2_s2v_14b.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/wan/dit/wan2.2_t2v_a14b.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/wan/dit/wan2.2_ti2v_5b.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/wan/dit/wan_dit_keymap.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/wan/vae/wan2.1_vae.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/wan/vae/wan2.2_vae.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/models/wan/vae/wan_vae_keymap.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/merges.txt +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/special_tokens_map.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/tokenizer_config.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/vocab.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/special_tokens_map.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/spiece.model +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/tokenizer.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/tokenizer_config.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/qwen_image/qwen2_vl_image_processor.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/qwen_image/tokenizer/added_tokens.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/qwen_image/tokenizer/merges.txt +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/qwen_image/tokenizer/special_tokens_map.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/qwen_image/tokenizer/tokenizer.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/qwen_image/tokenizer/tokenizer_config.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/qwen_image/tokenizer/vocab.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/merges.txt +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/special_tokens_map.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/tokenizer_config.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/vocab.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/merges.txt +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/special_tokens_map.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/tokenizer_config.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/vocab.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/special_tokens_map.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/spiece.model +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/tokenizer.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/tokenizer_config.json +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/configs/controlnet.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/kernels/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/base.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/basic/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/basic/attention.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/basic/lora.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/basic/relative_position_emb.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/basic/timestep.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/basic/transformer_helper.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/basic/unet_helper.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/flux/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/flux/flux_controlnet.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/flux/flux_dit.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/flux/flux_dit_fbcache.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/flux/flux_ipadapter.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/flux/flux_redux.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/flux/flux_text_encoder.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/flux/flux_vae.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/hunyuan3d/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/hunyuan3d/dino_image_encoder.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/hunyuan3d/hunyuan3d_dit.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/hunyuan3d/hunyuan3d_vae.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/hunyuan3d/moe.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/hunyuan3d/surface_extractor.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/hunyuan3d/volume_decoder.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/qwen_image/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/qwen_image/qwen2_5_vl.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/qwen_image/qwen_image_dit.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/qwen_image/qwen_image_dit_fbcache.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/qwen_image/qwen_image_vae.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd/sd_controlnet.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd/sd_text_encoder.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd/sd_unet.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd/sd_vae.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd3/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd3/sd3_dit.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd3/sd3_text_encoder.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd3/sd3_vae.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sdxl/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sdxl/sdxl_controlnet.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sdxl/sdxl_text_encoder.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sdxl/sdxl_unet.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sdxl/sdxl_vae.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/text_encoder/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/text_encoder/clip.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/text_encoder/siglip.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/text_encoder/t5.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/vae/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/vae/vae.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/wan/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/wan/wan_audio_encoder.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/wan/wan_dit.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/wan/wan_image_encoder.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/wan/wan_s2v_dit.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/wan/wan_text_encoder.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/wan/wan_vae.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/hunyuan3d_shape.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/sd_image.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/sdxl_image.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/utils.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/processor/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/processor/canny_processor.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/processor/depth_processor.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/base.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/clip.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/qwen2.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/qwen2_vl_image_processor.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/qwen2_vl_processor.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/t5.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/wan.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tools/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tools/flux_inpainting_tool.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tools/flux_outpainting_tool.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tools/flux_reference_tool.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tools/flux_replace_tool.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/cache.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/constants.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/download.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/env.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/flag.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/fp8_linear.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/gguf.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/image.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/loader.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/lock.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/logging.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/memory/__init__.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/memory/linear_regression.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/memory/memory_predcit_model.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/offload.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/onnx.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/platform.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/prompt.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/video.py +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine.egg-info/SOURCES.txt +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine.egg-info/dependency_links.txt +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine.egg-info/requires.txt +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine.egg-info/top_level.txt +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/docs/tutorial.md +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/docs/tutorial_zh.md +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/pyproject.toml +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/setup.cfg +0 -0
- {diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/setup.py +0 -0
|
@@ -12,11 +12,13 @@ from .configs import (
|
|
|
12
12
|
WanStateDicts,
|
|
13
13
|
QwenImageStateDicts,
|
|
14
14
|
AttnImpl,
|
|
15
|
+
SpargeAttentionParams,
|
|
16
|
+
VideoSparseAttentionParams,
|
|
17
|
+
LoraConfig,
|
|
15
18
|
ControlNetParams,
|
|
16
19
|
ControlType,
|
|
17
20
|
QwenImageControlNetParams,
|
|
18
21
|
QwenImageControlType,
|
|
19
|
-
LoraConfig,
|
|
20
22
|
)
|
|
21
23
|
from .pipelines import (
|
|
22
24
|
SDImagePipeline,
|
|
@@ -59,6 +61,9 @@ __all__ = [
|
|
|
59
61
|
"WanStateDicts",
|
|
60
62
|
"QwenImageStateDicts",
|
|
61
63
|
"AttnImpl",
|
|
64
|
+
"SpargeAttentionParams",
|
|
65
|
+
"VideoSparseAttentionParams",
|
|
66
|
+
"LoraConfig",
|
|
62
67
|
"ControlNetParams",
|
|
63
68
|
"ControlType",
|
|
64
69
|
"QwenImageControlNetParams",
|
|
@@ -79,7 +84,6 @@ __all__ = [
|
|
|
79
84
|
"FluxIPAdapterRefTool",
|
|
80
85
|
"FluxReplaceByControlTool",
|
|
81
86
|
"FluxReduxRefTool",
|
|
82
|
-
"LoraConfig",
|
|
83
87
|
"fetch_model",
|
|
84
88
|
"fetch_modelscope_model",
|
|
85
89
|
"register_fetch_modelscope_model",
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/configs/__init__.py
RENAMED
|
@@ -17,14 +17,16 @@ from .pipeline import (
|
|
|
17
17
|
WanStateDicts,
|
|
18
18
|
WanS2VStateDicts,
|
|
19
19
|
QwenImageStateDicts,
|
|
20
|
-
LoraConfig,
|
|
21
20
|
AttnImpl,
|
|
21
|
+
SpargeAttentionParams,
|
|
22
|
+
VideoSparseAttentionParams,
|
|
23
|
+
LoraConfig,
|
|
22
24
|
)
|
|
23
25
|
from .controlnet import (
|
|
24
26
|
ControlType,
|
|
25
27
|
ControlNetParams,
|
|
26
|
-
QwenImageControlNetParams,
|
|
27
28
|
QwenImageControlType,
|
|
29
|
+
QwenImageControlNetParams,
|
|
28
30
|
)
|
|
29
31
|
|
|
30
32
|
__all__ = [
|
|
@@ -46,10 +48,12 @@ __all__ = [
|
|
|
46
48
|
"WanStateDicts",
|
|
47
49
|
"WanS2VStateDicts",
|
|
48
50
|
"QwenImageStateDicts",
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
+
"AttnImpl",
|
|
52
|
+
"SpargeAttentionParams",
|
|
53
|
+
"VideoSparseAttentionParams",
|
|
54
|
+
"LoraConfig",
|
|
51
55
|
"ControlType",
|
|
52
56
|
"ControlNetParams",
|
|
53
|
-
"
|
|
54
|
-
"
|
|
57
|
+
"QwenImageControlType",
|
|
58
|
+
"QwenImageControlNetParams",
|
|
55
59
|
]
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/configs/pipeline.py
RENAMED
|
@@ -5,7 +5,6 @@ from dataclasses import dataclass, field
|
|
|
5
5
|
from typing import List, Dict, Tuple, Optional
|
|
6
6
|
|
|
7
7
|
from diffsynth_engine.configs.controlnet import ControlType
|
|
8
|
-
from diffsynth_engine.models.basic.video_sparse_attention import get_vsa_kwargs
|
|
9
8
|
|
|
10
9
|
|
|
11
10
|
@dataclass
|
|
@@ -52,23 +51,6 @@ class AttentionConfig:
|
|
|
52
51
|
dit_attn_impl: AttnImpl = AttnImpl.AUTO
|
|
53
52
|
attn_params: Optional[SpargeAttentionParams | VideoSparseAttentionParams] = None
|
|
54
53
|
|
|
55
|
-
def get_attn_kwargs(self, latents: torch.Tensor, device: str) -> Dict:
|
|
56
|
-
attn_kwargs = {"attn_impl": self.dit_attn_impl.value}
|
|
57
|
-
if isinstance(self.attn_params, SpargeAttentionParams):
|
|
58
|
-
assert self.dit_attn_impl == AttnImpl.SPARGE
|
|
59
|
-
attn_kwargs.update(
|
|
60
|
-
{
|
|
61
|
-
"smooth_k": self.attn_params.smooth_k,
|
|
62
|
-
"simthreshd1": self.attn_params.simthreshd1,
|
|
63
|
-
"cdfthreshd": self.attn_params.cdfthreshd,
|
|
64
|
-
"pvthreshd": self.attn_params.pvthreshd,
|
|
65
|
-
}
|
|
66
|
-
)
|
|
67
|
-
elif isinstance(self.attn_params, VideoSparseAttentionParams):
|
|
68
|
-
assert self.dit_attn_impl == AttnImpl.VSA
|
|
69
|
-
attn_kwargs.update(get_vsa_kwargs(latents.shape[2:], (1, 2, 2), self.attn_params.sparsity, device=device))
|
|
70
|
-
return attn_kwargs
|
|
71
|
-
|
|
72
54
|
|
|
73
55
|
@dataclass
|
|
74
56
|
class OptimizationConfig:
|
|
@@ -2,9 +2,12 @@ import torch
|
|
|
2
2
|
import math
|
|
3
3
|
import functools
|
|
4
4
|
|
|
5
|
-
from
|
|
5
|
+
from diffsynth_engine.utils.flag import VIDEO_SPARSE_ATTN_AVAILABLE
|
|
6
6
|
from diffsynth_engine.utils.parallel import get_sp_ulysses_group, get_sp_ring_world_size
|
|
7
7
|
|
|
8
|
+
if VIDEO_SPARSE_ATTN_AVAILABLE:
|
|
9
|
+
from vsa import video_sparse_attn as vsa_core
|
|
10
|
+
|
|
8
11
|
VSA_TILE_SIZE = (4, 4, 4)
|
|
9
12
|
|
|
10
13
|
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/base.py
RENAMED
|
@@ -5,7 +5,15 @@ from einops import rearrange
|
|
|
5
5
|
from typing import Dict, List, Tuple, Union, Optional
|
|
6
6
|
from PIL import Image
|
|
7
7
|
|
|
8
|
-
from diffsynth_engine.configs import
|
|
8
|
+
from diffsynth_engine.configs import (
|
|
9
|
+
BaseConfig,
|
|
10
|
+
BaseStateDicts,
|
|
11
|
+
LoraConfig,
|
|
12
|
+
AttnImpl,
|
|
13
|
+
SpargeAttentionParams,
|
|
14
|
+
VideoSparseAttentionParams,
|
|
15
|
+
)
|
|
16
|
+
from diffsynth_engine.models.basic.video_sparse_attention import get_vsa_kwargs
|
|
9
17
|
from diffsynth_engine.utils.offload import enable_sequential_cpu_offload, offload_model_to_dict, restore_model_from_dict
|
|
10
18
|
from diffsynth_engine.utils.fp8_linear import enable_fp8_autocast
|
|
11
19
|
from diffsynth_engine.utils.gguf import load_gguf_checkpoint
|
|
@@ -33,6 +41,7 @@ class BasePipeline:
|
|
|
33
41
|
dtype=torch.float16,
|
|
34
42
|
):
|
|
35
43
|
super().__init__()
|
|
44
|
+
self.config = None
|
|
36
45
|
self.vae_tiled = vae_tiled
|
|
37
46
|
self.vae_tile_size = vae_tile_size
|
|
38
47
|
self.vae_tile_stride = vae_tile_stride
|
|
@@ -48,7 +57,7 @@ class BasePipeline:
|
|
|
48
57
|
raise NotImplementedError()
|
|
49
58
|
|
|
50
59
|
@classmethod
|
|
51
|
-
def from_state_dict(cls, state_dicts: BaseStateDicts,
|
|
60
|
+
def from_state_dict(cls, state_dicts: BaseStateDicts, config: BaseConfig) -> "BasePipeline":
|
|
52
61
|
raise NotImplementedError()
|
|
53
62
|
|
|
54
63
|
def update_weights(self, state_dicts: BaseStateDicts) -> None:
|
|
@@ -260,6 +269,25 @@ class BasePipeline:
|
|
|
260
269
|
)
|
|
261
270
|
return init_latents, latents, sigmas, timesteps
|
|
262
271
|
|
|
272
|
+
def get_attn_kwargs(self, latents: torch.Tensor) -> Dict:
|
|
273
|
+
attn_kwargs = {"attn_impl": self.config.dit_attn_impl.value}
|
|
274
|
+
if isinstance(self.config.attn_params, SpargeAttentionParams):
|
|
275
|
+
assert self.config.dit_attn_impl == AttnImpl.SPARGE
|
|
276
|
+
attn_kwargs.update(
|
|
277
|
+
{
|
|
278
|
+
"smooth_k": self.config.attn_params.smooth_k,
|
|
279
|
+
"simthreshd1": self.config.attn_params.simthreshd1,
|
|
280
|
+
"cdfthreshd": self.config.attn_params.cdfthreshd,
|
|
281
|
+
"pvthreshd": self.config.attn_params.pvthreshd,
|
|
282
|
+
}
|
|
283
|
+
)
|
|
284
|
+
elif isinstance(self.config.attn_params, VideoSparseAttentionParams):
|
|
285
|
+
assert self.config.dit_attn_impl == AttnImpl.VSA
|
|
286
|
+
attn_kwargs.update(
|
|
287
|
+
get_vsa_kwargs(latents.shape[2:], (1, 2, 2), self.config.attn_params.sparsity, device=self.device)
|
|
288
|
+
)
|
|
289
|
+
return attn_kwargs
|
|
290
|
+
|
|
263
291
|
def eval(self):
|
|
264
292
|
for model_name in self.model_names:
|
|
265
293
|
model = getattr(self, model_name)
|
|
@@ -751,7 +751,7 @@ class FluxImagePipeline(BasePipeline):
|
|
|
751
751
|
latents = latents.to(self.dtype)
|
|
752
752
|
self.load_models_to_device(["dit"])
|
|
753
753
|
|
|
754
|
-
attn_kwargs = self.
|
|
754
|
+
attn_kwargs = self.get_attn_kwargs(latents)
|
|
755
755
|
noise_pred = self.dit(
|
|
756
756
|
hidden_states=latents,
|
|
757
757
|
timestep=timestep,
|
|
@@ -886,7 +886,7 @@ class FluxImagePipeline(BasePipeline):
|
|
|
886
886
|
empty_cache()
|
|
887
887
|
param.model.to(self.device)
|
|
888
888
|
|
|
889
|
-
attn_kwargs = self.
|
|
889
|
+
attn_kwargs = self.get_attn_kwargs(latents)
|
|
890
890
|
double_block_output, single_block_output = param.model(
|
|
891
891
|
hidden_states=latents,
|
|
892
892
|
control_condition=control_condition,
|
|
@@ -208,7 +208,9 @@ class QwenImagePipeline(BasePipeline):
|
|
|
208
208
|
)
|
|
209
209
|
if config.load_encoder:
|
|
210
210
|
logger.info(f"loading state dict from {config.encoder_path} ...")
|
|
211
|
-
encoder_state_dict = cls.load_model_checkpoint(
|
|
211
|
+
encoder_state_dict = cls.load_model_checkpoint(
|
|
212
|
+
config.encoder_path, device="cpu", dtype=config.encoder_dtype
|
|
213
|
+
)
|
|
212
214
|
|
|
213
215
|
state_dicts = QwenImageStateDicts(
|
|
214
216
|
model=model_state_dict,
|
|
@@ -547,7 +549,7 @@ class QwenImagePipeline(BasePipeline):
|
|
|
547
549
|
entity_masks: Optional[List[torch.Tensor]] = None,
|
|
548
550
|
):
|
|
549
551
|
self.load_models_to_device(["dit"])
|
|
550
|
-
attn_kwargs = self.
|
|
552
|
+
attn_kwargs = self.get_attn_kwargs(latents)
|
|
551
553
|
noise_pred = self.dit(
|
|
552
554
|
image=latents,
|
|
553
555
|
edit=image_latents,
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/wan_s2v.py
RENAMED
|
@@ -394,7 +394,7 @@ class WanSpeech2VideoPipeline(WanVideoPipeline):
|
|
|
394
394
|
void_audio_input: torch.Tensor | None = None,
|
|
395
395
|
):
|
|
396
396
|
latents = latents.to(dtype=self.config.model_dtype, device=self.device)
|
|
397
|
-
attn_kwargs = self.
|
|
397
|
+
attn_kwargs = self.get_attn_kwargs(latents)
|
|
398
398
|
|
|
399
399
|
noise_pred = model(
|
|
400
400
|
x=latents,
|
|
@@ -144,7 +144,7 @@ class WanVideoPipeline(BasePipeline):
|
|
|
144
144
|
lora_list: List[Tuple[str, float]],
|
|
145
145
|
fused: bool = True,
|
|
146
146
|
save_original_weight: bool = False,
|
|
147
|
-
lora_converter: Optional[WanLoRAConverter] = None
|
|
147
|
+
lora_converter: Optional[WanLoRAConverter] = None,
|
|
148
148
|
):
|
|
149
149
|
assert self.config.tp_degree is None or self.config.tp_degree == 1, (
|
|
150
150
|
"load LoRA is not allowed when tensor parallel is enabled; "
|
|
@@ -156,11 +156,15 @@ class WanVideoPipeline(BasePipeline):
|
|
|
156
156
|
)
|
|
157
157
|
super().load_loras(lora_list, fused, save_original_weight, lora_converter)
|
|
158
158
|
|
|
159
|
-
def load_loras_low_noise(
|
|
159
|
+
def load_loras_low_noise(
|
|
160
|
+
self, lora_list: List[Tuple[str, float]], fused: bool = True, save_original_weight: bool = False
|
|
161
|
+
):
|
|
160
162
|
assert self.dit2 is not None, "low noise LoRA can only be applied to Wan2.2"
|
|
161
163
|
self.load_loras(lora_list, fused, save_original_weight, self.low_noise_lora_converter)
|
|
162
164
|
|
|
163
|
-
def load_loras_high_noise(
|
|
165
|
+
def load_loras_high_noise(
|
|
166
|
+
self, lora_list: List[Tuple[str, float]], fused: bool = True, save_original_weight: bool = False
|
|
167
|
+
):
|
|
164
168
|
assert self.dit2 is not None, "high noise LoRA can only be applied to Wan2.2"
|
|
165
169
|
self.load_loras(lora_list, fused, save_original_weight)
|
|
166
170
|
|
|
@@ -323,7 +327,7 @@ class WanVideoPipeline(BasePipeline):
|
|
|
323
327
|
|
|
324
328
|
def predict_noise(self, model, latents, image_clip_feature, image_y, timestep, context):
|
|
325
329
|
latents = latents.to(dtype=self.config.model_dtype, device=self.device)
|
|
326
|
-
attn_kwargs = self.
|
|
330
|
+
attn_kwargs = self.get_attn_kwargs(latents)
|
|
327
331
|
|
|
328
332
|
noise_pred = model(
|
|
329
333
|
x=latents,
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/parallel.py
RENAMED
|
@@ -19,8 +19,6 @@ from typing import Dict, List, Set, Type, Union, Optional
|
|
|
19
19
|
from queue import Empty
|
|
20
20
|
|
|
21
21
|
import diffsynth_engine.models.basic.attention as attention_ops
|
|
22
|
-
from diffsynth_engine.models import PreTrainedModel
|
|
23
|
-
from diffsynth_engine.pipelines import BasePipeline
|
|
24
22
|
from diffsynth_engine.utils.platform import empty_cache
|
|
25
23
|
from diffsynth_engine.utils import logging
|
|
26
24
|
|
|
@@ -300,14 +298,15 @@ def _worker_loop(
|
|
|
300
298
|
world_size=world_size,
|
|
301
299
|
)
|
|
302
300
|
|
|
303
|
-
def wrap_for_parallel(module
|
|
304
|
-
if
|
|
305
|
-
for model_name in module
|
|
306
|
-
|
|
301
|
+
def wrap_for_parallel(module):
|
|
302
|
+
if hasattr(module, "model_names"):
|
|
303
|
+
for model_name in getattr(module, "model_names"):
|
|
304
|
+
submodule = getattr(module, model_name)
|
|
305
|
+
if getattr(submodule, "_supports_parallelization", False):
|
|
307
306
|
setattr(module, model_name, wrap_for_parallel(submodule))
|
|
308
307
|
return module
|
|
309
308
|
|
|
310
|
-
if not module
|
|
309
|
+
if not getattr(module, "_supports_parallelization", False):
|
|
311
310
|
return module
|
|
312
311
|
|
|
313
312
|
if tp_degree > 1:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/algorithm/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/configs/controlnet.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/kernels/__init__.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/__init__.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/basic/lora.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd/sd_unet.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd/sd_vae.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd3/sd3_dit.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/sd3/sd3_vae.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/vae/vae.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/wan/wan_dit.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/models/wan/wan_vae.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/sd_image.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/pipelines/utils.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/processor/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/base.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/clip.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/qwen2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/t5.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tokenizers/wan.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/__init__.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/cache.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/constants.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/download.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/flag.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/fp8_linear.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/gguf.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/image.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/loader.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/lock.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/logging.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/offload.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/onnx.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/platform.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/prompt.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine/utils/video.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.6.1.dev24 → diffsynth_engine-0.6.1.dev25}/diffsynth_engine.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|