diffsynth-engine 0.3.6.dev12__tar.gz → 0.3.6.dev13__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.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/PKG-INFO +1 -1
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/attention.py +53 -33
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine.egg-info/PKG-INFO +1 -1
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/.gitignore +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/.pre-commit-config.yaml +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/LICENSE +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/MANIFEST.in +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/README.md +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/assets/dingtalk.png +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/assets/showcase.jpeg +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/base_scheduler.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/flow_match/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/flow_match/flow_beta.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/flow_match/flow_ddim.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/flow_match/recifited_flow.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/beta.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/ddim.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/exponential.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/karras.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/linear.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/sgm_uniform.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/flow_match/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/flow_match/flow_match_euler.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/brownian_tree.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/ddpm.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/deis.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/dpmpp_2m.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/dpmpp_2m_sde.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/dpmpp_3m_sde.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/epsilon.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/euler.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/euler_ancestral.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/components/vae.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/flux/flux_dit.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/flux/flux_text_encoder.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/flux/flux_vae.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/sd/sd_text_encoder.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/sd/sd_unet.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/sd3/sd3_dit.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/sd3/sd3_text_encoder.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/sdxl/sdxl_text_encoder.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/sdxl/sdxl_unet.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/wan/dit/1.3b-t2v.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/wan/dit/14b-flf2v.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/wan/dit/14b-i2v.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/wan/dit/14b-t2v.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/merges.txt +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/special_tokens_map.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/tokenizer_config.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/vocab.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/special_tokens_map.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/spiece.model +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/tokenizer.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/tokenizer_config.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/merges.txt +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/special_tokens_map.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/tokenizer_config.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/vocab.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/merges.txt +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/special_tokens_map.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/tokenizer_config.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/vocab.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/special_tokens_map.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/spiece.model +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/tokenizer.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/tokenizer_config.json +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/configs/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/configs/controlnet.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/configs/pipeline.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/kernels/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/base.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/lora.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/relative_position_emb.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/timestep.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/transformer_helper.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/unet_helper.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_controlnet.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_dit.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_dit_fbcache.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_ipadapter.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_redux.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_text_encoder.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_vae.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/sd_controlnet.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/sd_text_encoder.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/sd_unet.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/sd_vae.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd3/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd3/sd3_dit.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd3/sd3_text_encoder.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd3/sd3_vae.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sdxl/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sdxl/sdxl_controlnet.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sdxl/sdxl_text_encoder.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sdxl/sdxl_unet.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sdxl/sdxl_vae.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/text_encoder/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/text_encoder/clip.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/text_encoder/siglip.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/text_encoder/t5.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/utils.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/vae/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/vae/vae.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/wan/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/wan/wan_dit.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/wan/wan_image_encoder.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/wan/wan_text_encoder.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/wan/wan_vae.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/base.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/flux_image.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/sd_image.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/sdxl_image.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/utils.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/wan_video.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/processor/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/processor/canny_processor.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/processor/depth_processor.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/base.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/clip.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/t5.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/wan.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tools/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tools/flux_inpainting_tool.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tools/flux_outpainting_tool.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tools/flux_reference_tool.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tools/flux_replace_tool.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/__init__.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/constants.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/download.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/env.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/flag.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/fp8_linear.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/gguf.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/image.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/loader.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/lock.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/logging.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/offload.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/onnx.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/parallel.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/platform.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/prompt.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/video.py +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine.egg-info/SOURCES.txt +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine.egg-info/dependency_links.txt +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine.egg-info/requires.txt +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine.egg-info/top_level.txt +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/docs/tutorial.md +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/docs/tutorial_zh.md +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/pyproject.toml +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/setup.cfg +0 -0
- {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/setup.py +0 -0
|
@@ -14,6 +14,8 @@ from diffsynth_engine.utils.flag import (
|
|
|
14
14
|
SPARGE_ATTN_AVAILABLE,
|
|
15
15
|
)
|
|
16
16
|
|
|
17
|
+
FA3_MAX_HEADDIM = 256
|
|
18
|
+
|
|
17
19
|
logger = logging.get_logger(__name__)
|
|
18
20
|
|
|
19
21
|
|
|
@@ -130,31 +132,40 @@ def attention(
|
|
|
130
132
|
"sage_attn",
|
|
131
133
|
"sparge_attn",
|
|
132
134
|
]
|
|
135
|
+
flash_attn3_compatible = q.shape[-1] <= FA3_MAX_HEADDIM
|
|
133
136
|
if attn_impl is None or attn_impl == "auto":
|
|
134
137
|
if FLASH_ATTN_3_AVAILABLE:
|
|
135
|
-
|
|
136
|
-
|
|
138
|
+
if flash_attn3_compatible:
|
|
139
|
+
return flash_attn3(q, k, v, softmax_scale=scale)
|
|
140
|
+
else:
|
|
141
|
+
logger.warning(
|
|
142
|
+
f"head_dim={q.shape[-1]}, but flash_attn_3 only supports head dimension at most {FA3_MAX_HEADDIM}, will use fallback attention implementation"
|
|
143
|
+
)
|
|
144
|
+
if XFORMERS_AVAILABLE:
|
|
137
145
|
return xformers_attn(q, k, v, attn_mask=attn_mask, scale=scale)
|
|
138
|
-
|
|
146
|
+
if SDPA_AVAILABLE:
|
|
139
147
|
return sdpa_attn(q, k, v, attn_mask=attn_mask, scale=scale)
|
|
140
|
-
|
|
148
|
+
if FLASH_ATTN_2_AVAILABLE:
|
|
141
149
|
return flash_attn2(q, k, v, softmax_scale=scale)
|
|
142
|
-
|
|
143
|
-
return eager_attn(q, k, v, attn_mask=attn_mask, scale=scale)
|
|
150
|
+
return eager_attn(q, k, v, attn_mask=attn_mask, scale=scale)
|
|
144
151
|
else:
|
|
145
152
|
if attn_impl == "eager":
|
|
146
153
|
return eager_attn(q, k, v, attn_mask=attn_mask, scale=scale)
|
|
147
|
-
|
|
154
|
+
if attn_impl == "flash_attn_3":
|
|
155
|
+
if not flash_attn3_compatible:
|
|
156
|
+
raise RuntimeError(
|
|
157
|
+
f"head_dim={q.shape[-1]}, but flash_attn_3 only supports head dimension at most {FA3_MAX_HEADDIM}"
|
|
158
|
+
)
|
|
148
159
|
return flash_attn3(q, k, v, softmax_scale=scale)
|
|
149
|
-
|
|
160
|
+
if attn_impl == "flash_attn_2":
|
|
150
161
|
return flash_attn2(q, k, v, softmax_scale=scale)
|
|
151
|
-
|
|
162
|
+
if attn_impl == "xformers":
|
|
152
163
|
return xformers_attn(q, k, v, attn_mask=attn_mask, scale=scale)
|
|
153
|
-
|
|
164
|
+
if attn_impl == "sdpa":
|
|
154
165
|
return sdpa_attn(q, k, v, attn_mask=attn_mask, scale=scale)
|
|
155
|
-
|
|
166
|
+
if attn_impl == "sage_attn":
|
|
156
167
|
return sage_attn(q, k, v, attn_mask=attn_mask, scale=scale)
|
|
157
|
-
|
|
168
|
+
if attn_impl == "sparge_attn":
|
|
158
169
|
return sparge_attn(
|
|
159
170
|
q,
|
|
160
171
|
k,
|
|
@@ -166,8 +177,7 @@ def attention(
|
|
|
166
177
|
cdfthreshd=kwargs.get("sparge_cdfthreshd", 0.98),
|
|
167
178
|
pvthreshd=kwargs.get("sparge_pvthreshd", 50),
|
|
168
179
|
)
|
|
169
|
-
|
|
170
|
-
raise ValueError(f"Invalid attention implementation: {attn_impl}")
|
|
180
|
+
raise ValueError(f"Invalid attention implementation: {attn_impl}")
|
|
171
181
|
|
|
172
182
|
|
|
173
183
|
class Attention(nn.Module):
|
|
@@ -240,32 +250,42 @@ def long_context_attention(
|
|
|
240
250
|
"sage_attn",
|
|
241
251
|
"sparge_attn",
|
|
242
252
|
]
|
|
253
|
+
flash_attn3_compatible = q.shape[-1] <= FA3_MAX_HEADDIM
|
|
243
254
|
if attn_impl is None or attn_impl == "auto":
|
|
244
255
|
if FLASH_ATTN_3_AVAILABLE:
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
256
|
+
if flash_attn3_compatible:
|
|
257
|
+
return LongContextAttention(attn_type=AttnType.FA3)(q, k, v, softmax_scale=scale)
|
|
258
|
+
else:
|
|
259
|
+
logger.warning(
|
|
260
|
+
f"head_dim={q.shape[-1]}, but flash_attn_3 only supports head dimension at most {FA3_MAX_HEADDIM}, will use fallback attention implementation"
|
|
261
|
+
)
|
|
262
|
+
if SDPA_AVAILABLE:
|
|
263
|
+
return LongContextAttention(attn_type=AttnType.TORCH)(q, k, v, softmax_scale=scale)
|
|
264
|
+
if FLASH_ATTN_2_AVAILABLE:
|
|
265
|
+
return LongContextAttention(attn_type=AttnType.FA)(q, k, v, softmax_scale=scale)
|
|
266
|
+
raise ValueError("No available long context attention implementation")
|
|
252
267
|
else:
|
|
253
268
|
if attn_impl == "flash_attn_3":
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
269
|
+
if flash_attn3_compatible:
|
|
270
|
+
return LongContextAttention(attn_type=AttnType.FA3)(q, k, v, softmax_scale=scale)
|
|
271
|
+
else:
|
|
272
|
+
raise RuntimeError(
|
|
273
|
+
f"head_dim={q.shape[-1]}, but flash_attn_3 only supports head dimension at most {FA3_MAX_HEADDIM}"
|
|
274
|
+
)
|
|
275
|
+
if attn_impl == "flash_attn_2":
|
|
276
|
+
return LongContextAttention(attn_type=AttnType.FA)(q, k, v, softmax_scale=scale)
|
|
277
|
+
if attn_impl == "sdpa":
|
|
278
|
+
return LongContextAttention(attn_type=AttnType.TORCH)(q, k, v, softmax_scale=scale)
|
|
279
|
+
if attn_impl == "sage_attn":
|
|
280
|
+
return LongContextAttention(attn_type=AttnType.SAGE_FP8)(q, k, v, softmax_scale=scale)
|
|
281
|
+
if attn_impl == "sparge_attn":
|
|
262
282
|
attn_processor = SparseAttentionMeansim()
|
|
263
283
|
# default args from spas_sage2_attn_meansim_cuda
|
|
264
284
|
attn_processor.smooth_k = torch.tensor(kwargs.get("sparge_smooth_k", True))
|
|
265
285
|
attn_processor.simthreshd1 = torch.tensor(kwargs.get("sparge_simthreshd1", 0.6))
|
|
266
286
|
attn_processor.cdfthreshd = torch.tensor(kwargs.get("sparge_cdfthreshd", 0.98))
|
|
267
287
|
attn_processor.pvthreshd = torch.tensor(kwargs.get("sparge_pvthreshd", 50))
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
288
|
+
return LongContextAttention(attn_type=AttnType.SPARSE_SAGE, attn_processor=attn_processor)(
|
|
289
|
+
q, k, v, softmax_scale=scale
|
|
290
|
+
)
|
|
291
|
+
raise ValueError(f"Invalid long context attention implementation: {attn_impl}")
|
|
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.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/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
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/configs/__init__.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/configs/controlnet.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/configs/pipeline.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/kernels/__init__.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/__init__.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/base.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/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
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/sd_unet.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/sd_vae.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd3/sd3_dit.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/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
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/vae/vae.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/wan/wan_dit.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/wan/wan_vae.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/__init__.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/base.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/sd_image.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/processor/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/base.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/clip.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/t5.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/wan.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tools/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/__init__.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/constants.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/download.py
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/flag.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/fp8_linear.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/gguf.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/image.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/loader.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/lock.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/logging.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/offload.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/onnx.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/parallel.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/platform.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/prompt.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/video.py
RENAMED
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/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
|