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.
Files changed (164) hide show
  1. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/PKG-INFO +1 -1
  2. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/attention.py +53 -33
  3. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine.egg-info/PKG-INFO +1 -1
  4. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/.gitignore +0 -0
  5. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/.pre-commit-config.yaml +0 -0
  6. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/LICENSE +0 -0
  7. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/MANIFEST.in +0 -0
  8. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/README.md +0 -0
  9. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/assets/dingtalk.png +0 -0
  10. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/assets/showcase.jpeg +0 -0
  11. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/__init__.py +0 -0
  12. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/__init__.py +0 -0
  13. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/__init__.py +0 -0
  14. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/base_scheduler.py +0 -0
  15. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/flow_match/__init__.py +0 -0
  16. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/flow_match/flow_beta.py +0 -0
  17. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/flow_match/flow_ddim.py +0 -0
  18. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/flow_match/recifited_flow.py +0 -0
  19. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/__init__.py +0 -0
  20. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/beta.py +0 -0
  21. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/ddim.py +0 -0
  22. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/exponential.py +0 -0
  23. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/karras.py +0 -0
  24. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/linear.py +0 -0
  25. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/noise_scheduler/stable_diffusion/sgm_uniform.py +0 -0
  26. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/__init__.py +0 -0
  27. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/flow_match/__init__.py +0 -0
  28. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/flow_match/flow_match_euler.py +0 -0
  29. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/__init__.py +0 -0
  30. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/brownian_tree.py +0 -0
  31. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/ddpm.py +0 -0
  32. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/deis.py +0 -0
  33. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/dpmpp_2m.py +0 -0
  34. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/dpmpp_2m_sde.py +0 -0
  35. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/dpmpp_3m_sde.py +0 -0
  36. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/epsilon.py +0 -0
  37. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/euler.py +0 -0
  38. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/algorithm/sampler/stable_diffusion/euler_ancestral.py +0 -0
  39. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/components/vae.json +0 -0
  40. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/flux/flux_dit.json +0 -0
  41. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/flux/flux_text_encoder.json +0 -0
  42. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/flux/flux_vae.json +0 -0
  43. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/sd/sd_text_encoder.json +0 -0
  44. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/sd/sd_unet.json +0 -0
  45. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/sd3/sd3_dit.json +0 -0
  46. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/sd3/sd3_text_encoder.json +0 -0
  47. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/sdxl/sdxl_text_encoder.json +0 -0
  48. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/sdxl/sdxl_unet.json +0 -0
  49. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/wan/dit/1.3b-t2v.json +0 -0
  50. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/wan/dit/14b-flf2v.json +0 -0
  51. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/wan/dit/14b-i2v.json +0 -0
  52. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/models/wan/dit/14b-t2v.json +0 -0
  53. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/merges.txt +0 -0
  54. {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
  55. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/tokenizer_config.json +0 -0
  56. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_1/vocab.json +0 -0
  57. {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
  58. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/spiece.model +0 -0
  59. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/tokenizer.json +0 -0
  60. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/flux/tokenizer_2/tokenizer_config.json +0 -0
  61. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/merges.txt +0 -0
  62. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/special_tokens_map.json +0 -0
  63. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/tokenizer_config.json +0 -0
  64. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer/vocab.json +0 -0
  65. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/merges.txt +0 -0
  66. {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
  67. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/tokenizer_config.json +0 -0
  68. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/sdxl/tokenizer_2/vocab.json +0 -0
  69. {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
  70. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/spiece.model +0 -0
  71. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/tokenizer.json +0 -0
  72. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/conf/tokenizers/wan/umt5-xxl/tokenizer_config.json +0 -0
  73. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/configs/__init__.py +0 -0
  74. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/configs/controlnet.py +0 -0
  75. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/configs/pipeline.py +0 -0
  76. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/kernels/__init__.py +0 -0
  77. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/__init__.py +0 -0
  78. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/base.py +0 -0
  79. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/__init__.py +0 -0
  80. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/lora.py +0 -0
  81. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/relative_position_emb.py +0 -0
  82. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/timestep.py +0 -0
  83. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/transformer_helper.py +0 -0
  84. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/basic/unet_helper.py +0 -0
  85. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/__init__.py +0 -0
  86. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_controlnet.py +0 -0
  87. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_dit.py +0 -0
  88. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_dit_fbcache.py +0 -0
  89. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_ipadapter.py +0 -0
  90. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_redux.py +0 -0
  91. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_text_encoder.py +0 -0
  92. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/flux/flux_vae.py +0 -0
  93. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/__init__.py +0 -0
  94. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/sd_controlnet.py +0 -0
  95. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/sd_text_encoder.py +0 -0
  96. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/sd_unet.py +0 -0
  97. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd/sd_vae.py +0 -0
  98. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd3/__init__.py +0 -0
  99. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd3/sd3_dit.py +0 -0
  100. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd3/sd3_text_encoder.py +0 -0
  101. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sd3/sd3_vae.py +0 -0
  102. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sdxl/__init__.py +0 -0
  103. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sdxl/sdxl_controlnet.py +0 -0
  104. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sdxl/sdxl_text_encoder.py +0 -0
  105. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sdxl/sdxl_unet.py +0 -0
  106. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/sdxl/sdxl_vae.py +0 -0
  107. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/text_encoder/__init__.py +0 -0
  108. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/text_encoder/clip.py +0 -0
  109. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/text_encoder/siglip.py +0 -0
  110. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/text_encoder/t5.py +0 -0
  111. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/utils.py +0 -0
  112. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/vae/__init__.py +0 -0
  113. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/vae/vae.py +0 -0
  114. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/wan/__init__.py +0 -0
  115. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/wan/wan_dit.py +0 -0
  116. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/wan/wan_image_encoder.py +0 -0
  117. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/wan/wan_text_encoder.py +0 -0
  118. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/models/wan/wan_vae.py +0 -0
  119. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/__init__.py +0 -0
  120. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/base.py +0 -0
  121. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/flux_image.py +0 -0
  122. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/sd_image.py +0 -0
  123. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/sdxl_image.py +0 -0
  124. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/utils.py +0 -0
  125. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/pipelines/wan_video.py +0 -0
  126. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/processor/__init__.py +0 -0
  127. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/processor/canny_processor.py +0 -0
  128. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/processor/depth_processor.py +0 -0
  129. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/__init__.py +0 -0
  130. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/base.py +0 -0
  131. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/clip.py +0 -0
  132. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/t5.py +0 -0
  133. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tokenizers/wan.py +0 -0
  134. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tools/__init__.py +0 -0
  135. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tools/flux_inpainting_tool.py +0 -0
  136. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tools/flux_outpainting_tool.py +0 -0
  137. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tools/flux_reference_tool.py +0 -0
  138. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/tools/flux_replace_tool.py +0 -0
  139. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/__init__.py +0 -0
  140. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/constants.py +0 -0
  141. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/download.py +0 -0
  142. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/env.py +0 -0
  143. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/flag.py +0 -0
  144. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/fp8_linear.py +0 -0
  145. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/gguf.py +0 -0
  146. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/image.py +0 -0
  147. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/loader.py +0 -0
  148. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/lock.py +0 -0
  149. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/logging.py +0 -0
  150. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/offload.py +0 -0
  151. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/onnx.py +0 -0
  152. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/parallel.py +0 -0
  153. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/platform.py +0 -0
  154. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/prompt.py +0 -0
  155. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine/utils/video.py +0 -0
  156. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine.egg-info/SOURCES.txt +0 -0
  157. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine.egg-info/dependency_links.txt +0 -0
  158. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine.egg-info/requires.txt +0 -0
  159. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/diffsynth_engine.egg-info/top_level.txt +0 -0
  160. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/docs/tutorial.md +0 -0
  161. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/docs/tutorial_zh.md +0 -0
  162. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/pyproject.toml +0 -0
  163. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/setup.cfg +0 -0
  164. {diffsynth_engine-0.3.6.dev12 → diffsynth_engine-0.3.6.dev13}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffsynth_engine
3
- Version: 0.3.6.dev12
3
+ Version: 0.3.6.dev13
4
4
  Author: MuseAI x ModelScope
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Classifier: Operating System :: OS Independent
@@ -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
- return flash_attn3(q, k, v, softmax_scale=scale)
136
- elif XFORMERS_AVAILABLE:
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
- elif SDPA_AVAILABLE:
146
+ if SDPA_AVAILABLE:
139
147
  return sdpa_attn(q, k, v, attn_mask=attn_mask, scale=scale)
140
- elif FLASH_ATTN_2_AVAILABLE:
148
+ if FLASH_ATTN_2_AVAILABLE:
141
149
  return flash_attn2(q, k, v, softmax_scale=scale)
142
- else:
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
- elif attn_impl == "flash_attn_3":
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
- elif attn_impl == "flash_attn_2":
160
+ if attn_impl == "flash_attn_2":
150
161
  return flash_attn2(q, k, v, softmax_scale=scale)
151
- elif attn_impl == "xformers":
162
+ if attn_impl == "xformers":
152
163
  return xformers_attn(q, k, v, attn_mask=attn_mask, scale=scale)
153
- elif attn_impl == "sdpa":
164
+ if attn_impl == "sdpa":
154
165
  return sdpa_attn(q, k, v, attn_mask=attn_mask, scale=scale)
155
- elif attn_impl == "sage_attn":
166
+ if attn_impl == "sage_attn":
156
167
  return sage_attn(q, k, v, attn_mask=attn_mask, scale=scale)
157
- elif attn_impl == "sparge_attn":
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
- else:
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
- attn_func = LongContextAttention(attn_type=AttnType.FA3)
246
- elif SDPA_AVAILABLE:
247
- attn_func = LongContextAttention(attn_type=AttnType.TORCH)
248
- elif FLASH_ATTN_2_AVAILABLE:
249
- attn_func = LongContextAttention(attn_type=AttnType.FA)
250
- else:
251
- raise ValueError("No available long context attention implementation")
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
- attn_func = LongContextAttention(attn_type=AttnType.FA3)
255
- elif attn_impl == "flash_attn_2":
256
- attn_func = LongContextAttention(attn_type=AttnType.FA)
257
- elif attn_impl == "sdpa":
258
- attn_func = LongContextAttention(attn_type=AttnType.TORCH)
259
- elif attn_impl == "sage_attn":
260
- attn_func = LongContextAttention(attn_type=AttnType.SAGE_FP8)
261
- elif attn_impl == "sparge_attn":
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
- attn_func = LongContextAttention(attn_type=AttnType.SPARSE_SAGE, attn_processor=attn_processor)
269
- else:
270
- raise ValueError(f"Invalid long context attention implementation: {attn_impl}")
271
- return attn_func(q, k, v, softmax_scale=scale)
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}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffsynth_engine
3
- Version: 0.3.6.dev12
3
+ Version: 0.3.6.dev13
4
4
  Author: MuseAI x ModelScope
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Classifier: Operating System :: OS Independent