diffusers 0.29.0__tar.gz → 0.29.2__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 (426) hide show
  1. {diffusers-0.29.0/src/diffusers.egg-info → diffusers-0.29.2}/PKG-INFO +76 -2
  2. {diffusers-0.29.0 → diffusers-0.29.2}/setup.py +1 -1
  3. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/__init__.py +7 -1
  4. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/lora.py +3 -4
  5. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/lora_conversion_utils.py +145 -110
  6. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/single_file.py +12 -0
  7. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/single_file_model.py +10 -8
  8. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/single_file_utils.py +33 -23
  9. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/__init__.py +2 -0
  10. diffusers-0.29.2/src/diffusers/models/controlnet_sd3.py +418 -0
  11. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/modeling_utils.py +10 -3
  12. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/transformer_2d.py +4 -2
  13. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/transformer_sd3.py +17 -8
  14. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/__init__.py +9 -0
  15. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/auto_pipeline.py +8 -0
  16. diffusers-0.29.2/src/diffusers/pipelines/controlnet_sd3/__init__.py +53 -0
  17. diffusers-0.29.2/src/diffusers/pipelines/controlnet_sd3/pipeline_stable_diffusion_3_controlnet.py +1062 -0
  18. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +23 -5
  19. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +23 -5
  20. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_pt_objects.py +30 -0
  21. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_torch_and_transformers_objects.py +15 -0
  22. {diffusers-0.29.0 → diffusers-0.29.2/src/diffusers.egg-info}/PKG-INFO +76 -2
  23. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers.egg-info/SOURCES.txt +3 -0
  24. {diffusers-0.29.0 → diffusers-0.29.2}/LICENSE +0 -0
  25. {diffusers-0.29.0 → diffusers-0.29.2}/MANIFEST.in +0 -0
  26. {diffusers-0.29.0 → diffusers-0.29.2}/README.md +0 -0
  27. {diffusers-0.29.0 → diffusers-0.29.2}/pyproject.toml +0 -0
  28. {diffusers-0.29.0 → diffusers-0.29.2}/setup.cfg +0 -0
  29. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/callbacks.py +0 -0
  30. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/commands/__init__.py +0 -0
  31. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/commands/diffusers_cli.py +0 -0
  32. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/commands/env.py +0 -0
  33. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/commands/fp16_safetensors.py +0 -0
  34. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/configuration_utils.py +0 -0
  35. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/dependency_versions_check.py +0 -0
  36. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/dependency_versions_table.py +0 -0
  37. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/experimental/__init__.py +0 -0
  38. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/experimental/rl/__init__.py +0 -0
  39. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/experimental/rl/value_guided_sampling.py +0 -0
  40. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/image_processor.py +0 -0
  41. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/__init__.py +0 -0
  42. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/autoencoder.py +0 -0
  43. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/controlnet.py +0 -0
  44. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/ip_adapter.py +0 -0
  45. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/peft.py +0 -0
  46. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/textual_inversion.py +0 -0
  47. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/unet.py +0 -0
  48. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/unet_loader_utils.py +0 -0
  49. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/utils.py +0 -0
  50. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/activations.py +0 -0
  51. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/adapter.py +0 -0
  52. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/attention.py +0 -0
  53. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/attention_flax.py +0 -0
  54. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/attention_processor.py +0 -0
  55. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/__init__.py +0 -0
  56. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/autoencoder_asym_kl.py +0 -0
  57. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/autoencoder_kl.py +0 -0
  58. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/autoencoder_kl_temporal_decoder.py +0 -0
  59. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/autoencoder_tiny.py +0 -0
  60. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/consistency_decoder_vae.py +0 -0
  61. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/vae.py +0 -0
  62. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/vq_model.py +0 -0
  63. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/controlnet.py +0 -0
  64. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/controlnet_flax.py +0 -0
  65. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/controlnet_xs.py +0 -0
  66. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/downsampling.py +0 -0
  67. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/embeddings.py +0 -0
  68. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/embeddings_flax.py +0 -0
  69. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/lora.py +0 -0
  70. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/model_loading_utils.py +0 -0
  71. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/modeling_flax_pytorch_utils.py +0 -0
  72. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/modeling_flax_utils.py +0 -0
  73. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/modeling_outputs.py +0 -0
  74. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/modeling_pytorch_flax_utils.py +0 -0
  75. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/normalization.py +0 -0
  76. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/resnet.py +0 -0
  77. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/resnet_flax.py +0 -0
  78. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/__init__.py +0 -0
  79. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/dit_transformer_2d.py +0 -0
  80. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/dual_transformer_2d.py +0 -0
  81. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/hunyuan_transformer_2d.py +0 -0
  82. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/pixart_transformer_2d.py +0 -0
  83. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/prior_transformer.py +0 -0
  84. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/t5_film_transformer.py +0 -0
  85. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/transformer_temporal.py +0 -0
  86. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/__init__.py +0 -0
  87. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_1d.py +0 -0
  88. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_1d_blocks.py +0 -0
  89. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_2d.py +0 -0
  90. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_2d_blocks.py +0 -0
  91. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_2d_blocks_flax.py +0 -0
  92. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_2d_condition.py +0 -0
  93. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_2d_condition_flax.py +0 -0
  94. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_3d_blocks.py +0 -0
  95. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_3d_condition.py +0 -0
  96. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_i2vgen_xl.py +0 -0
  97. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_kandinsky3.py +0 -0
  98. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_motion_model.py +0 -0
  99. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_spatio_temporal_condition.py +0 -0
  100. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_stable_cascade.py +0 -0
  101. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/uvit_2d.py +0 -0
  102. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/upsampling.py +0 -0
  103. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/vae_flax.py +0 -0
  104. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/vq_model.py +0 -0
  105. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/optimization.py +0 -0
  106. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/amused/__init__.py +0 -0
  107. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/amused/pipeline_amused.py +0 -0
  108. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/amused/pipeline_amused_img2img.py +0 -0
  109. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/amused/pipeline_amused_inpaint.py +0 -0
  110. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/animatediff/__init__.py +0 -0
  111. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/animatediff/pipeline_animatediff.py +0 -0
  112. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/animatediff/pipeline_animatediff_sdxl.py +0 -0
  113. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/animatediff/pipeline_animatediff_video2video.py +0 -0
  114. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/animatediff/pipeline_output.py +0 -0
  115. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/audioldm/__init__.py +0 -0
  116. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/audioldm/pipeline_audioldm.py +0 -0
  117. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/audioldm2/__init__.py +0 -0
  118. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/audioldm2/modeling_audioldm2.py +0 -0
  119. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/audioldm2/pipeline_audioldm2.py +0 -0
  120. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/blip_diffusion/__init__.py +0 -0
  121. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/blip_diffusion/blip_image_processing.py +0 -0
  122. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/blip_diffusion/modeling_blip2.py +0 -0
  123. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/blip_diffusion/modeling_ctx_clip.py +0 -0
  124. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/blip_diffusion/pipeline_blip_diffusion.py +0 -0
  125. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/consistency_models/__init__.py +0 -0
  126. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/consistency_models/pipeline_consistency_models.py +0 -0
  127. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/__init__.py +0 -0
  128. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/multicontrolnet.py +0 -0
  129. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet.py +0 -0
  130. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_blip_diffusion.py +0 -0
  131. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +0 -0
  132. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_inpaint.py +0 -0
  133. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_inpaint_sd_xl.py +0 -0
  134. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +0 -0
  135. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +0 -0
  136. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_flax_controlnet.py +0 -0
  137. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet_xs/__init__.py +0 -0
  138. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs.py +0 -0
  139. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs_sd_xl.py +0 -0
  140. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/dance_diffusion/__init__.py +0 -0
  141. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/dance_diffusion/pipeline_dance_diffusion.py +0 -0
  142. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ddim/__init__.py +0 -0
  143. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ddim/pipeline_ddim.py +0 -0
  144. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ddpm/__init__.py +0 -0
  145. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ddpm/pipeline_ddpm.py +0 -0
  146. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/__init__.py +0 -0
  147. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if.py +0 -0
  148. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img.py +0 -0
  149. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img_superresolution.py +0 -0
  150. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting.py +0 -0
  151. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting_superresolution.py +0 -0
  152. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_superresolution.py +0 -0
  153. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_output.py +0 -0
  154. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/safety_checker.py +0 -0
  155. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/timesteps.py +0 -0
  156. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/watermark.py +0 -0
  157. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/__init__.py +0 -0
  158. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/alt_diffusion/__init__.py +0 -0
  159. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/alt_diffusion/modeling_roberta_series.py +0 -0
  160. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/alt_diffusion/pipeline_alt_diffusion.py +0 -0
  161. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/alt_diffusion/pipeline_alt_diffusion_img2img.py +0 -0
  162. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/alt_diffusion/pipeline_output.py +0 -0
  163. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/audio_diffusion/__init__.py +0 -0
  164. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/audio_diffusion/mel.py +0 -0
  165. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/audio_diffusion/pipeline_audio_diffusion.py +0 -0
  166. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/latent_diffusion_uncond/__init__.py +0 -0
  167. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/latent_diffusion_uncond/pipeline_latent_diffusion_uncond.py +0 -0
  168. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/pndm/__init__.py +0 -0
  169. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/pndm/pipeline_pndm.py +0 -0
  170. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/repaint/__init__.py +0 -0
  171. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/repaint/pipeline_repaint.py +0 -0
  172. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/score_sde_ve/__init__.py +0 -0
  173. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/score_sde_ve/pipeline_score_sde_ve.py +0 -0
  174. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/__init__.py +0 -0
  175. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/continuous_encoder.py +0 -0
  176. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/midi_utils.py +0 -0
  177. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/notes_encoder.py +0 -0
  178. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/pipeline_spectrogram_diffusion.py +0 -0
  179. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/__init__.py +0 -0
  180. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_cycle_diffusion.py +0 -0
  181. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_onnx_stable_diffusion_inpaint_legacy.py +0 -0
  182. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_inpaint_legacy.py +0 -0
  183. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_model_editing.py +0 -0
  184. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_paradigms.py +0 -0
  185. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_pix2pix_zero.py +0 -0
  186. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stochastic_karras_ve/__init__.py +0 -0
  187. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stochastic_karras_ve/pipeline_stochastic_karras_ve.py +0 -0
  188. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/versatile_diffusion/__init__.py +0 -0
  189. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/versatile_diffusion/modeling_text_unet.py +0 -0
  190. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion.py +0 -0
  191. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_dual_guided.py +0 -0
  192. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_image_variation.py +0 -0
  193. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_text_to_image.py +0 -0
  194. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/vq_diffusion/__init__.py +0 -0
  195. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/vq_diffusion/pipeline_vq_diffusion.py +0 -0
  196. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/dit/__init__.py +0 -0
  197. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/dit/pipeline_dit.py +0 -0
  198. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/free_init_utils.py +0 -0
  199. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/hunyuandit/__init__.py +0 -0
  200. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/hunyuandit/pipeline_hunyuandit.py +0 -0
  201. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/i2vgen_xl/__init__.py +0 -0
  202. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/i2vgen_xl/pipeline_i2vgen_xl.py +0 -0
  203. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/__init__.py +0 -0
  204. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky.py +0 -0
  205. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_combined.py +0 -0
  206. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_img2img.py +0 -0
  207. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_inpaint.py +0 -0
  208. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_prior.py +0 -0
  209. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/text_encoder.py +0 -0
  210. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
  211. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +0 -0
  212. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +0 -0
  213. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet.py +0 -0
  214. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet_img2img.py +0 -0
  215. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +0 -0
  216. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpainting.py +0 -0
  217. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +0 -0
  218. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior_emb2emb.py +0 -0
  219. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky3/__init__.py +0 -0
  220. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky3/convert_kandinsky3_unet.py +0 -0
  221. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky3/pipeline_kandinsky3.py +0 -0
  222. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky3/pipeline_kandinsky3_img2img.py +0 -0
  223. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/latent_consistency_models/__init__.py +0 -0
  224. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_img2img.py +0 -0
  225. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_text2img.py +0 -0
  226. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/latent_diffusion/__init__.py +0 -0
  227. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py +0 -0
  228. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion_superresolution.py +0 -0
  229. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ledits_pp/__init__.py +0 -0
  230. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ledits_pp/pipeline_leditspp_stable_diffusion.py +0 -0
  231. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ledits_pp/pipeline_leditspp_stable_diffusion_xl.py +0 -0
  232. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ledits_pp/pipeline_output.py +0 -0
  233. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/marigold/__init__.py +0 -0
  234. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/marigold/marigold_image_processing.py +0 -0
  235. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/marigold/pipeline_marigold_depth.py +0 -0
  236. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/marigold/pipeline_marigold_normals.py +0 -0
  237. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/musicldm/__init__.py +0 -0
  238. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/musicldm/pipeline_musicldm.py +0 -0
  239. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/onnx_utils.py +0 -0
  240. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/paint_by_example/__init__.py +0 -0
  241. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/paint_by_example/image_encoder.py +0 -0
  242. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/paint_by_example/pipeline_paint_by_example.py +0 -0
  243. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pia/__init__.py +0 -0
  244. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pia/pipeline_pia.py +0 -0
  245. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pipeline_flax_utils.py +0 -0
  246. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pipeline_loading_utils.py +0 -0
  247. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pipeline_utils.py +0 -0
  248. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pixart_alpha/__init__.py +0 -0
  249. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pixart_alpha/pipeline_pixart_alpha.py +0 -0
  250. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pixart_alpha/pipeline_pixart_sigma.py +0 -0
  251. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/semantic_stable_diffusion/__init__.py +0 -0
  252. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/semantic_stable_diffusion/pipeline_output.py +0 -0
  253. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/semantic_stable_diffusion/pipeline_semantic_stable_diffusion.py +0 -0
  254. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/shap_e/__init__.py +0 -0
  255. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/shap_e/camera.py +0 -0
  256. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/shap_e/pipeline_shap_e.py +0 -0
  257. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/shap_e/pipeline_shap_e_img2img.py +0 -0
  258. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/shap_e/renderer.py +0 -0
  259. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_cascade/__init__.py +0 -0
  260. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade.py +0 -0
  261. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_combined.py +0 -0
  262. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_prior.py +0 -0
  263. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
  264. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/clip_image_project_model.py +0 -0
  265. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/convert_from_ckpt.py +0 -0
  266. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion.py +0 -0
  267. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_img2img.py +0 -0
  268. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_inpaint.py +0 -0
  269. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion.py +0 -0
  270. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_img2img.py +0 -0
  271. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_inpaint.py +0 -0
  272. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_upscale.py +0 -0
  273. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_output.py +0 -0
  274. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +0 -0
  275. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_depth2img.py +0 -0
  276. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_image_variation.py +0 -0
  277. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +0 -0
  278. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +0 -0
  279. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_instruct_pix2pix.py +0 -0
  280. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_latent_upscale.py +0 -0
  281. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_upscale.py +0 -0
  282. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py +0 -0
  283. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip_img2img.py +0 -0
  284. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/safety_checker.py +0 -0
  285. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/safety_checker_flax.py +0 -0
  286. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/stable_unclip_image_normalizer.py +0 -0
  287. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_3/__init__.py +0 -0
  288. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_3/pipeline_output.py +0 -0
  289. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_attend_and_excite/__init__.py +0 -0
  290. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_attend_and_excite/pipeline_stable_diffusion_attend_and_excite.py +0 -0
  291. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_diffedit/__init__.py +0 -0
  292. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_diffedit/pipeline_stable_diffusion_diffedit.py +0 -0
  293. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_gligen/__init__.py +0 -0
  294. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen.py +0 -0
  295. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen_text_image.py +0 -0
  296. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_k_diffusion/__init__.py +0 -0
  297. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_k_diffusion.py +0 -0
  298. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_xl_k_diffusion.py +0 -0
  299. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_ldm3d/__init__.py +0 -0
  300. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_ldm3d/pipeline_stable_diffusion_ldm3d.py +0 -0
  301. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_panorama/__init__.py +0 -0
  302. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_panorama/pipeline_stable_diffusion_panorama.py +0 -0
  303. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_safe/__init__.py +0 -0
  304. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_safe/pipeline_output.py +0 -0
  305. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_safe/pipeline_stable_diffusion_safe.py +0 -0
  306. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_safe/safety_checker.py +0 -0
  307. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_sag/__init__.py +0 -0
  308. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_sag/pipeline_stable_diffusion_sag.py +0 -0
  309. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
  310. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_flax_stable_diffusion_xl.py +0 -0
  311. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_output.py +0 -0
  312. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +0 -0
  313. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +0 -0
  314. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +0 -0
  315. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_instruct_pix2pix.py +0 -0
  316. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/watermark.py +0 -0
  317. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_video_diffusion/__init__.py +0 -0
  318. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_video_diffusion/pipeline_stable_video_diffusion.py +0 -0
  319. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/t2i_adapter/__init__.py +0 -0
  320. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_adapter.py +0 -0
  321. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_xl_adapter.py +0 -0
  322. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/text_to_video_synthesis/__init__.py +0 -0
  323. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_output.py +0 -0
  324. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth.py +0 -0
  325. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth_img2img.py +0 -0
  326. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero.py +0 -0
  327. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero_sdxl.py +0 -0
  328. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unclip/__init__.py +0 -0
  329. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unclip/pipeline_unclip.py +0 -0
  330. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unclip/pipeline_unclip_image_variation.py +0 -0
  331. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unclip/text_proj.py +0 -0
  332. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unidiffuser/__init__.py +0 -0
  333. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unidiffuser/modeling_text_decoder.py +0 -0
  334. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unidiffuser/modeling_uvit.py +0 -0
  335. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unidiffuser/pipeline_unidiffuser.py +0 -0
  336. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/__init__.py +0 -0
  337. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/modeling_paella_vq_model.py +0 -0
  338. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/modeling_wuerstchen_common.py +0 -0
  339. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/modeling_wuerstchen_diffnext.py +0 -0
  340. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/modeling_wuerstchen_prior.py +0 -0
  341. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/pipeline_wuerstchen.py +0 -0
  342. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/pipeline_wuerstchen_combined.py +0 -0
  343. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/pipeline_wuerstchen_prior.py +0 -0
  344. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/py.typed +0 -0
  345. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/__init__.py +0 -0
  346. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/deprecated/__init__.py +0 -0
  347. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/deprecated/scheduling_karras_ve.py +0 -0
  348. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/deprecated/scheduling_sde_vp.py +0 -0
  349. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_amused.py +0 -0
  350. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_consistency_decoder.py +0 -0
  351. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_consistency_models.py +0 -0
  352. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddim.py +0 -0
  353. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddim_flax.py +0 -0
  354. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddim_inverse.py +0 -0
  355. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddim_parallel.py +0 -0
  356. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddpm.py +0 -0
  357. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddpm_flax.py +0 -0
  358. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddpm_parallel.py +0 -0
  359. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddpm_wuerstchen.py +0 -0
  360. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_deis_multistep.py +0 -0
  361. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py +0 -0
  362. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_dpmsolver_multistep_flax.py +0 -0
  363. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py +0 -0
  364. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_dpmsolver_sde.py +0 -0
  365. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py +0 -0
  366. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_edm_dpmsolver_multistep.py +0 -0
  367. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_edm_euler.py +0 -0
  368. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_euler_ancestral_discrete.py +0 -0
  369. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_euler_discrete.py +0 -0
  370. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_euler_discrete_flax.py +0 -0
  371. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_flow_match_euler_discrete.py +0 -0
  372. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_heun_discrete.py +0 -0
  373. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ipndm.py +0 -0
  374. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_k_dpm_2_ancestral_discrete.py +0 -0
  375. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_k_dpm_2_discrete.py +0 -0
  376. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_karras_ve_flax.py +0 -0
  377. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_lcm.py +0 -0
  378. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_lms_discrete.py +0 -0
  379. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_lms_discrete_flax.py +0 -0
  380. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_pndm.py +0 -0
  381. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_pndm_flax.py +0 -0
  382. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_repaint.py +0 -0
  383. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_sasolver.py +0 -0
  384. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_sde_ve.py +0 -0
  385. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_sde_ve_flax.py +0 -0
  386. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_tcd.py +0 -0
  387. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_unclip.py +0 -0
  388. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_unipc_multistep.py +0 -0
  389. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_utils.py +0 -0
  390. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_utils_flax.py +0 -0
  391. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_vq_diffusion.py +0 -0
  392. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/training_utils.py +0 -0
  393. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/__init__.py +0 -0
  394. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/accelerate_utils.py +0 -0
  395. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/constants.py +0 -0
  396. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/deprecation_utils.py +0 -0
  397. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/doc_utils.py +0 -0
  398. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_flax_and_transformers_objects.py +0 -0
  399. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_flax_objects.py +0 -0
  400. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_note_seq_objects.py +0 -0
  401. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_onnx_objects.py +0 -0
  402. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_torch_and_librosa_objects.py +0 -0
  403. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_torch_and_scipy_objects.py +0 -0
  404. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_torch_and_torchsde_objects.py +0 -0
  405. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_torch_and_transformers_and_k_diffusion_objects.py +0 -0
  406. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_torch_and_transformers_and_onnx_objects.py +0 -0
  407. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_transformers_and_torch_and_note_seq_objects.py +0 -0
  408. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dynamic_modules_utils.py +0 -0
  409. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/export_utils.py +0 -0
  410. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/hub_utils.py +0 -0
  411. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/import_utils.py +0 -0
  412. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/loading_utils.py +0 -0
  413. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/logging.py +0 -0
  414. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/model_card_template.md +0 -0
  415. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/outputs.py +0 -0
  416. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/peft_utils.py +0 -0
  417. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/pil_utils.py +0 -0
  418. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/state_dict_utils.py +0 -0
  419. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/testing_utils.py +0 -0
  420. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/torch_utils.py +0 -0
  421. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/versions.py +0 -0
  422. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/video_processor.py +0 -0
  423. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers.egg-info/dependency_links.txt +0 -0
  424. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers.egg-info/entry_points.txt +0 -0
  425. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers.egg-info/requires.txt +0 -0
  426. {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: diffusers
3
- Version: 0.29.0
3
+ Version: 0.29.2
4
4
  Summary: State-of-the-art diffusion in PyTorch and JAX.
5
5
  Home-page: https://github.com/huggingface/diffusers
6
6
  Author: The Hugging Face team (past and future) with the help of all our contributors (https://github.com/huggingface/diffusers/graphs/contributors)
@@ -20,14 +20,88 @@ Classifier: Programming Language :: Python :: 3.9
20
20
  Classifier: Programming Language :: Python :: 3.10
21
21
  Requires-Python: >=3.8.0
22
22
  Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Requires-Dist: importlib_metadata
25
+ Requires-Dist: filelock
26
+ Requires-Dist: huggingface-hub>=0.23.2
27
+ Requires-Dist: numpy
28
+ Requires-Dist: regex!=2019.12.17
29
+ Requires-Dist: requests
30
+ Requires-Dist: safetensors>=0.3.1
31
+ Requires-Dist: Pillow
23
32
  Provides-Extra: quality
33
+ Requires-Dist: urllib3<=2.0.0; extra == "quality"
34
+ Requires-Dist: isort>=5.5.4; extra == "quality"
35
+ Requires-Dist: ruff==0.1.5; extra == "quality"
36
+ Requires-Dist: hf-doc-builder>=0.3.0; extra == "quality"
24
37
  Provides-Extra: docs
38
+ Requires-Dist: hf-doc-builder>=0.3.0; extra == "docs"
25
39
  Provides-Extra: training
40
+ Requires-Dist: accelerate>=0.29.3; extra == "training"
41
+ Requires-Dist: datasets; extra == "training"
42
+ Requires-Dist: protobuf<4,>=3.20.3; extra == "training"
43
+ Requires-Dist: tensorboard; extra == "training"
44
+ Requires-Dist: Jinja2; extra == "training"
45
+ Requires-Dist: peft>=0.6.0; extra == "training"
26
46
  Provides-Extra: test
47
+ Requires-Dist: compel==0.1.8; extra == "test"
48
+ Requires-Dist: GitPython<3.1.19; extra == "test"
49
+ Requires-Dist: datasets; extra == "test"
50
+ Requires-Dist: Jinja2; extra == "test"
51
+ Requires-Dist: invisible-watermark>=0.2.0; extra == "test"
52
+ Requires-Dist: k-diffusion>=0.0.12; extra == "test"
53
+ Requires-Dist: librosa; extra == "test"
54
+ Requires-Dist: parameterized; extra == "test"
55
+ Requires-Dist: pytest; extra == "test"
56
+ Requires-Dist: pytest-timeout; extra == "test"
57
+ Requires-Dist: pytest-xdist; extra == "test"
58
+ Requires-Dist: requests-mock==1.10.0; extra == "test"
59
+ Requires-Dist: safetensors>=0.3.1; extra == "test"
60
+ Requires-Dist: sentencepiece!=0.1.92,>=0.1.91; extra == "test"
61
+ Requires-Dist: scipy; extra == "test"
62
+ Requires-Dist: torchvision; extra == "test"
63
+ Requires-Dist: transformers>=4.25.1; extra == "test"
27
64
  Provides-Extra: torch
65
+ Requires-Dist: torch>=1.4; extra == "torch"
66
+ Requires-Dist: accelerate>=0.29.3; extra == "torch"
28
67
  Provides-Extra: flax
68
+ Requires-Dist: jax>=0.4.1; extra == "flax"
69
+ Requires-Dist: jaxlib>=0.4.1; extra == "flax"
70
+ Requires-Dist: flax>=0.4.1; extra == "flax"
29
71
  Provides-Extra: dev
30
- License-File: LICENSE
72
+ Requires-Dist: urllib3<=2.0.0; extra == "dev"
73
+ Requires-Dist: isort>=5.5.4; extra == "dev"
74
+ Requires-Dist: ruff==0.1.5; extra == "dev"
75
+ Requires-Dist: hf-doc-builder>=0.3.0; extra == "dev"
76
+ Requires-Dist: compel==0.1.8; extra == "dev"
77
+ Requires-Dist: GitPython<3.1.19; extra == "dev"
78
+ Requires-Dist: datasets; extra == "dev"
79
+ Requires-Dist: Jinja2; extra == "dev"
80
+ Requires-Dist: invisible-watermark>=0.2.0; extra == "dev"
81
+ Requires-Dist: k-diffusion>=0.0.12; extra == "dev"
82
+ Requires-Dist: librosa; extra == "dev"
83
+ Requires-Dist: parameterized; extra == "dev"
84
+ Requires-Dist: pytest; extra == "dev"
85
+ Requires-Dist: pytest-timeout; extra == "dev"
86
+ Requires-Dist: pytest-xdist; extra == "dev"
87
+ Requires-Dist: requests-mock==1.10.0; extra == "dev"
88
+ Requires-Dist: safetensors>=0.3.1; extra == "dev"
89
+ Requires-Dist: sentencepiece!=0.1.92,>=0.1.91; extra == "dev"
90
+ Requires-Dist: scipy; extra == "dev"
91
+ Requires-Dist: torchvision; extra == "dev"
92
+ Requires-Dist: transformers>=4.25.1; extra == "dev"
93
+ Requires-Dist: accelerate>=0.29.3; extra == "dev"
94
+ Requires-Dist: datasets; extra == "dev"
95
+ Requires-Dist: protobuf<4,>=3.20.3; extra == "dev"
96
+ Requires-Dist: tensorboard; extra == "dev"
97
+ Requires-Dist: Jinja2; extra == "dev"
98
+ Requires-Dist: peft>=0.6.0; extra == "dev"
99
+ Requires-Dist: hf-doc-builder>=0.3.0; extra == "dev"
100
+ Requires-Dist: torch>=1.4; extra == "dev"
101
+ Requires-Dist: accelerate>=0.29.3; extra == "dev"
102
+ Requires-Dist: jax>=0.4.1; extra == "dev"
103
+ Requires-Dist: jaxlib>=0.4.1; extra == "dev"
104
+ Requires-Dist: flax>=0.4.1; extra == "dev"
31
105
 
32
106
  <!---
33
107
  Copyright 2022 - The HuggingFace Team. All rights reserved.
@@ -254,7 +254,7 @@ version_range_max = max(sys.version_info[1], 10) + 1
254
254
 
255
255
  setup(
256
256
  name="diffusers",
257
- version="0.29.0", # expected format is one of x.y.z.dev0, or x.y.z.rc1 or x.y.z (no to dashes, yes to dots)
257
+ version="0.29.2", # expected format is one of x.y.z.dev0, or x.y.z.rc1 or x.y.z (no to dashes, yes to dots)
258
258
  description="State-of-the-art diffusion in PyTorch and JAX.",
259
259
  long_description=open("README.md", "r", encoding="utf-8").read(),
260
260
  long_description_content_type="text/markdown",
@@ -1,4 +1,4 @@
1
- __version__ = "0.29.0"
1
+ __version__ = "0.29.2"
2
2
 
3
3
  from typing import TYPE_CHECKING
4
4
 
@@ -91,6 +91,8 @@ else:
91
91
  "MultiAdapter",
92
92
  "PixArtTransformer2DModel",
93
93
  "PriorTransformer",
94
+ "SD3ControlNetModel",
95
+ "SD3MultiControlNetModel",
94
96
  "SD3Transformer2DModel",
95
97
  "StableCascadeUNet",
96
98
  "T2IAdapter",
@@ -278,6 +280,7 @@ else:
278
280
  "StableCascadeCombinedPipeline",
279
281
  "StableCascadeDecoderPipeline",
280
282
  "StableCascadePriorPipeline",
283
+ "StableDiffusion3ControlNetPipeline",
281
284
  "StableDiffusion3Img2ImgPipeline",
282
285
  "StableDiffusion3Pipeline",
283
286
  "StableDiffusionAdapterPipeline",
@@ -501,6 +504,8 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
501
504
  MultiAdapter,
502
505
  PixArtTransformer2DModel,
503
506
  PriorTransformer,
507
+ SD3ControlNetModel,
508
+ SD3MultiControlNetModel,
504
509
  SD3Transformer2DModel,
505
510
  T2IAdapter,
506
511
  T5FilmDecoder,
@@ -666,6 +671,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
666
671
  StableCascadeCombinedPipeline,
667
672
  StableCascadeDecoderPipeline,
668
673
  StableCascadePriorPipeline,
674
+ StableDiffusion3ControlNetPipeline,
669
675
  StableDiffusion3Img2ImgPipeline,
670
676
  StableDiffusion3Pipeline,
671
677
  StableDiffusionAdapterPipeline,
@@ -42,7 +42,7 @@ from ..utils import (
42
42
  set_adapter_layers,
43
43
  set_weights_and_activate_adapters,
44
44
  )
45
- from .lora_conversion_utils import _convert_kohya_lora_to_diffusers, _maybe_map_sgm_blocks_to_diffusers
45
+ from .lora_conversion_utils import _convert_non_diffusers_lora_to_diffusers, _maybe_map_sgm_blocks_to_diffusers
46
46
 
47
47
 
48
48
  if is_transformers_available():
@@ -287,7 +287,7 @@ class LoraLoaderMixin:
287
287
  if unet_config is not None:
288
288
  # use unet config to remap block numbers
289
289
  state_dict = _maybe_map_sgm_blocks_to_diffusers(state_dict, unet_config)
290
- state_dict, network_alphas = _convert_kohya_lora_to_diffusers(state_dict)
290
+ state_dict, network_alphas = _convert_non_diffusers_lora_to_diffusers(state_dict)
291
291
 
292
292
  return state_dict, network_alphas
293
293
 
@@ -395,8 +395,7 @@ class LoraLoaderMixin:
395
395
  # their prefixes.
396
396
  keys = list(state_dict.keys())
397
397
  only_text_encoder = all(key.startswith(cls.text_encoder_name) for key in keys)
398
-
399
- if any(key.startswith(cls.unet_name) for key in keys) and not only_text_encoder:
398
+ if not only_text_encoder:
400
399
  # Load the layers corresponding to UNet.
401
400
  logger.info(f"Loading {cls.unet_name}.")
402
401
  unet.load_attn_procs(
@@ -123,134 +123,76 @@ def _maybe_map_sgm_blocks_to_diffusers(state_dict, unet_config, delimiter="_", b
123
123
  return new_state_dict
124
124
 
125
125
 
126
- def _convert_kohya_lora_to_diffusers(state_dict, unet_name="unet", text_encoder_name="text_encoder"):
126
+ def _convert_non_diffusers_lora_to_diffusers(state_dict, unet_name="unet", text_encoder_name="text_encoder"):
127
+ """
128
+ Converts a non-Diffusers LoRA state dict to a Diffusers compatible state dict.
129
+
130
+ Args:
131
+ state_dict (`dict`): The state dict to convert.
132
+ unet_name (`str`, optional): The name of the U-Net module in the Diffusers model. Defaults to "unet".
133
+ text_encoder_name (`str`, optional): The name of the text encoder module in the Diffusers model. Defaults to
134
+ "text_encoder".
135
+
136
+ Returns:
137
+ `tuple`: A tuple containing the converted state dict and a dictionary of alphas.
138
+ """
127
139
  unet_state_dict = {}
128
140
  te_state_dict = {}
129
141
  te2_state_dict = {}
130
142
  network_alphas = {}
131
- is_unet_dora_lora = any("dora_scale" in k and "lora_unet_" in k for k in state_dict)
132
- is_te_dora_lora = any("dora_scale" in k and ("lora_te_" in k or "lora_te1_" in k) for k in state_dict)
133
- is_te2_dora_lora = any("dora_scale" in k and "lora_te2_" in k for k in state_dict)
134
143
 
135
- if is_unet_dora_lora or is_te_dora_lora or is_te2_dora_lora:
144
+ # Check for DoRA-enabled LoRAs.
145
+ dora_present_in_unet = any("dora_scale" in k and "lora_unet_" in k for k in state_dict)
146
+ dora_present_in_te = any("dora_scale" in k and ("lora_te_" in k or "lora_te1_" in k) for k in state_dict)
147
+ dora_present_in_te2 = any("dora_scale" in k and "lora_te2_" in k for k in state_dict)
148
+ if dora_present_in_unet or dora_present_in_te or dora_present_in_te2:
136
149
  if is_peft_version("<", "0.9.0"):
137
150
  raise ValueError(
138
151
  "You need `peft` 0.9.0 at least to use DoRA-enabled LoRAs. Please upgrade your installation of `peft`."
139
152
  )
140
153
 
141
- # every down weight has a corresponding up weight and potentially an alpha weight
142
- lora_keys = [k for k in state_dict.keys() if k.endswith("lora_down.weight")]
143
- for key in lora_keys:
154
+ # Iterate over all LoRA weights.
155
+ all_lora_keys = list(state_dict.keys())
156
+ for key in all_lora_keys:
157
+ if not key.endswith("lora_down.weight"):
158
+ continue
159
+
160
+ # Extract LoRA name.
144
161
  lora_name = key.split(".")[0]
162
+
163
+ # Find corresponding up weight and alpha.
145
164
  lora_name_up = lora_name + ".lora_up.weight"
146
165
  lora_name_alpha = lora_name + ".alpha"
147
166
 
167
+ # Handle U-Net LoRAs.
148
168
  if lora_name.startswith("lora_unet_"):
149
- diffusers_name = key.replace("lora_unet_", "").replace("_", ".")
150
-
151
- if "input.blocks" in diffusers_name:
152
- diffusers_name = diffusers_name.replace("input.blocks", "down_blocks")
153
- else:
154
- diffusers_name = diffusers_name.replace("down.blocks", "down_blocks")
169
+ diffusers_name = _convert_unet_lora_key(key)
155
170
 
156
- if "middle.block" in diffusers_name:
157
- diffusers_name = diffusers_name.replace("middle.block", "mid_block")
158
- else:
159
- diffusers_name = diffusers_name.replace("mid.block", "mid_block")
160
- if "output.blocks" in diffusers_name:
161
- diffusers_name = diffusers_name.replace("output.blocks", "up_blocks")
162
- else:
163
- diffusers_name = diffusers_name.replace("up.blocks", "up_blocks")
164
-
165
- diffusers_name = diffusers_name.replace("transformer.blocks", "transformer_blocks")
166
- diffusers_name = diffusers_name.replace("to.q.lora", "to_q_lora")
167
- diffusers_name = diffusers_name.replace("to.k.lora", "to_k_lora")
168
- diffusers_name = diffusers_name.replace("to.v.lora", "to_v_lora")
169
- diffusers_name = diffusers_name.replace("to.out.0.lora", "to_out_lora")
170
- diffusers_name = diffusers_name.replace("proj.in", "proj_in")
171
- diffusers_name = diffusers_name.replace("proj.out", "proj_out")
172
- diffusers_name = diffusers_name.replace("emb.layers", "time_emb_proj")
173
-
174
- # SDXL specificity.
175
- if "emb" in diffusers_name and "time.emb.proj" not in diffusers_name:
176
- pattern = r"\.\d+(?=\D*$)"
177
- diffusers_name = re.sub(pattern, "", diffusers_name, count=1)
178
- if ".in." in diffusers_name:
179
- diffusers_name = diffusers_name.replace("in.layers.2", "conv1")
180
- if ".out." in diffusers_name:
181
- diffusers_name = diffusers_name.replace("out.layers.3", "conv2")
182
- if "downsamplers" in diffusers_name or "upsamplers" in diffusers_name:
183
- diffusers_name = diffusers_name.replace("op", "conv")
184
- if "skip" in diffusers_name:
185
- diffusers_name = diffusers_name.replace("skip.connection", "conv_shortcut")
186
-
187
- # LyCORIS specificity.
188
- if "time.emb.proj" in diffusers_name:
189
- diffusers_name = diffusers_name.replace("time.emb.proj", "time_emb_proj")
190
- if "conv.shortcut" in diffusers_name:
191
- diffusers_name = diffusers_name.replace("conv.shortcut", "conv_shortcut")
192
-
193
- # General coverage.
194
- if "transformer_blocks" in diffusers_name:
195
- if "attn1" in diffusers_name or "attn2" in diffusers_name:
196
- diffusers_name = diffusers_name.replace("attn1", "attn1.processor")
197
- diffusers_name = diffusers_name.replace("attn2", "attn2.processor")
198
- unet_state_dict[diffusers_name] = state_dict.pop(key)
199
- unet_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
200
- elif "ff" in diffusers_name:
201
- unet_state_dict[diffusers_name] = state_dict.pop(key)
202
- unet_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
203
- elif any(key in diffusers_name for key in ("proj_in", "proj_out")):
204
- unet_state_dict[diffusers_name] = state_dict.pop(key)
205
- unet_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
206
- else:
207
- unet_state_dict[diffusers_name] = state_dict.pop(key)
208
- unet_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
171
+ # Store down and up weights.
172
+ unet_state_dict[diffusers_name] = state_dict.pop(key)
173
+ unet_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
209
174
 
210
- if is_unet_dora_lora:
175
+ # Store DoRA scale if present.
176
+ if dora_present_in_unet:
211
177
  dora_scale_key_to_replace = "_lora.down." if "_lora.down." in diffusers_name else ".lora.down."
212
178
  unet_state_dict[
213
179
  diffusers_name.replace(dora_scale_key_to_replace, ".lora_magnitude_vector.")
214
180
  ] = state_dict.pop(key.replace("lora_down.weight", "dora_scale"))
215
181
 
182
+ # Handle text encoder LoRAs.
216
183
  elif lora_name.startswith(("lora_te_", "lora_te1_", "lora_te2_")):
184
+ diffusers_name = _convert_text_encoder_lora_key(key, lora_name)
185
+
186
+ # Store down and up weights for te or te2.
217
187
  if lora_name.startswith(("lora_te_", "lora_te1_")):
218
- key_to_replace = "lora_te_" if lora_name.startswith("lora_te_") else "lora_te1_"
188
+ te_state_dict[diffusers_name] = state_dict.pop(key)
189
+ te_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
219
190
  else:
220
- key_to_replace = "lora_te2_"
221
-
222
- diffusers_name = key.replace(key_to_replace, "").replace("_", ".")
223
- diffusers_name = diffusers_name.replace("text.model", "text_model")
224
- diffusers_name = diffusers_name.replace("self.attn", "self_attn")
225
- diffusers_name = diffusers_name.replace("q.proj.lora", "to_q_lora")
226
- diffusers_name = diffusers_name.replace("k.proj.lora", "to_k_lora")
227
- diffusers_name = diffusers_name.replace("v.proj.lora", "to_v_lora")
228
- diffusers_name = diffusers_name.replace("out.proj.lora", "to_out_lora")
229
- diffusers_name = diffusers_name.replace("text.projection", "text_projection")
230
-
231
- if "self_attn" in diffusers_name:
232
- if lora_name.startswith(("lora_te_", "lora_te1_")):
233
- te_state_dict[diffusers_name] = state_dict.pop(key)
234
- te_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
235
- else:
236
- te2_state_dict[diffusers_name] = state_dict.pop(key)
237
- te2_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
238
- elif "mlp" in diffusers_name:
239
- # Be aware that this is the new diffusers convention and the rest of the code might
240
- # not utilize it yet.
241
- diffusers_name = diffusers_name.replace(".lora.", ".lora_linear_layer.")
242
- if lora_name.startswith(("lora_te_", "lora_te1_")):
243
- te_state_dict[diffusers_name] = state_dict.pop(key)
244
- te_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
245
- else:
246
- te2_state_dict[diffusers_name] = state_dict.pop(key)
247
- te2_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
248
- # OneTrainer specificity
249
- elif "text_projection" in diffusers_name and lora_name.startswith("lora_te2_"):
250
191
  te2_state_dict[diffusers_name] = state_dict.pop(key)
251
192
  te2_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
252
193
 
253
- if (is_te_dora_lora or is_te2_dora_lora) and lora_name.startswith(("lora_te_", "lora_te1_", "lora_te2_")):
194
+ # Store DoRA scale if present.
195
+ if dora_present_in_te or dora_present_in_te2:
254
196
  dora_scale_key_to_replace_te = (
255
197
  "_lora.down." if "_lora.down." in diffusers_name else ".lora_linear_layer."
256
198
  )
@@ -263,22 +205,18 @@ def _convert_kohya_lora_to_diffusers(state_dict, unet_name="unet", text_encoder_
263
205
  diffusers_name.replace(dora_scale_key_to_replace_te, ".lora_magnitude_vector.")
264
206
  ] = state_dict.pop(key.replace("lora_down.weight", "dora_scale"))
265
207
 
266
- # Rename the alphas so that they can be mapped appropriately.
208
+ # Store alpha if present.
267
209
  if lora_name_alpha in state_dict:
268
210
  alpha = state_dict.pop(lora_name_alpha).item()
269
- if lora_name_alpha.startswith("lora_unet_"):
270
- prefix = "unet."
271
- elif lora_name_alpha.startswith(("lora_te_", "lora_te1_")):
272
- prefix = "text_encoder."
273
- else:
274
- prefix = "text_encoder_2."
275
- new_name = prefix + diffusers_name.split(".lora.")[0] + ".alpha"
276
- network_alphas.update({new_name: alpha})
211
+ network_alphas.update(_get_alpha_name(lora_name_alpha, diffusers_name, alpha))
277
212
 
213
+ # Check if any keys remain.
278
214
  if len(state_dict) > 0:
279
215
  raise ValueError(f"The following keys have not been correctly renamed: \n\n {', '.join(state_dict.keys())}")
280
216
 
281
- logger.info("Kohya-style checkpoint detected.")
217
+ logger.info("Non-diffusers checkpoint detected.")
218
+
219
+ # Construct final state dict.
282
220
  unet_state_dict = {f"{unet_name}.{module_name}": params for module_name, params in unet_state_dict.items()}
283
221
  te_state_dict = {f"{text_encoder_name}.{module_name}": params for module_name, params in te_state_dict.items()}
284
222
  te2_state_dict = (
@@ -291,3 +229,100 @@ def _convert_kohya_lora_to_diffusers(state_dict, unet_name="unet", text_encoder_
291
229
 
292
230
  new_state_dict = {**unet_state_dict, **te_state_dict}
293
231
  return new_state_dict, network_alphas
232
+
233
+
234
+ def _convert_unet_lora_key(key):
235
+ """
236
+ Converts a U-Net LoRA key to a Diffusers compatible key.
237
+ """
238
+ diffusers_name = key.replace("lora_unet_", "").replace("_", ".")
239
+
240
+ # Replace common U-Net naming patterns.
241
+ diffusers_name = diffusers_name.replace("input.blocks", "down_blocks")
242
+ diffusers_name = diffusers_name.replace("down.blocks", "down_blocks")
243
+ diffusers_name = diffusers_name.replace("middle.block", "mid_block")
244
+ diffusers_name = diffusers_name.replace("mid.block", "mid_block")
245
+ diffusers_name = diffusers_name.replace("output.blocks", "up_blocks")
246
+ diffusers_name = diffusers_name.replace("up.blocks", "up_blocks")
247
+ diffusers_name = diffusers_name.replace("transformer.blocks", "transformer_blocks")
248
+ diffusers_name = diffusers_name.replace("to.q.lora", "to_q_lora")
249
+ diffusers_name = diffusers_name.replace("to.k.lora", "to_k_lora")
250
+ diffusers_name = diffusers_name.replace("to.v.lora", "to_v_lora")
251
+ diffusers_name = diffusers_name.replace("to.out.0.lora", "to_out_lora")
252
+ diffusers_name = diffusers_name.replace("proj.in", "proj_in")
253
+ diffusers_name = diffusers_name.replace("proj.out", "proj_out")
254
+ diffusers_name = diffusers_name.replace("emb.layers", "time_emb_proj")
255
+
256
+ # SDXL specific conversions.
257
+ if "emb" in diffusers_name and "time.emb.proj" not in diffusers_name:
258
+ pattern = r"\.\d+(?=\D*$)"
259
+ diffusers_name = re.sub(pattern, "", diffusers_name, count=1)
260
+ if ".in." in diffusers_name:
261
+ diffusers_name = diffusers_name.replace("in.layers.2", "conv1")
262
+ if ".out." in diffusers_name:
263
+ diffusers_name = diffusers_name.replace("out.layers.3", "conv2")
264
+ if "downsamplers" in diffusers_name or "upsamplers" in diffusers_name:
265
+ diffusers_name = diffusers_name.replace("op", "conv")
266
+ if "skip" in diffusers_name:
267
+ diffusers_name = diffusers_name.replace("skip.connection", "conv_shortcut")
268
+
269
+ # LyCORIS specific conversions.
270
+ if "time.emb.proj" in diffusers_name:
271
+ diffusers_name = diffusers_name.replace("time.emb.proj", "time_emb_proj")
272
+ if "conv.shortcut" in diffusers_name:
273
+ diffusers_name = diffusers_name.replace("conv.shortcut", "conv_shortcut")
274
+
275
+ # General conversions.
276
+ if "transformer_blocks" in diffusers_name:
277
+ if "attn1" in diffusers_name or "attn2" in diffusers_name:
278
+ diffusers_name = diffusers_name.replace("attn1", "attn1.processor")
279
+ diffusers_name = diffusers_name.replace("attn2", "attn2.processor")
280
+ elif "ff" in diffusers_name:
281
+ pass
282
+ elif any(key in diffusers_name for key in ("proj_in", "proj_out")):
283
+ pass
284
+ else:
285
+ pass
286
+
287
+ return diffusers_name
288
+
289
+
290
+ def _convert_text_encoder_lora_key(key, lora_name):
291
+ """
292
+ Converts a text encoder LoRA key to a Diffusers compatible key.
293
+ """
294
+ if lora_name.startswith(("lora_te_", "lora_te1_")):
295
+ key_to_replace = "lora_te_" if lora_name.startswith("lora_te_") else "lora_te1_"
296
+ else:
297
+ key_to_replace = "lora_te2_"
298
+
299
+ diffusers_name = key.replace(key_to_replace, "").replace("_", ".")
300
+ diffusers_name = diffusers_name.replace("text.model", "text_model")
301
+ diffusers_name = diffusers_name.replace("self.attn", "self_attn")
302
+ diffusers_name = diffusers_name.replace("q.proj.lora", "to_q_lora")
303
+ diffusers_name = diffusers_name.replace("k.proj.lora", "to_k_lora")
304
+ diffusers_name = diffusers_name.replace("v.proj.lora", "to_v_lora")
305
+ diffusers_name = diffusers_name.replace("out.proj.lora", "to_out_lora")
306
+ diffusers_name = diffusers_name.replace("text.projection", "text_projection")
307
+
308
+ if "self_attn" in diffusers_name or "text_projection" in diffusers_name:
309
+ pass
310
+ elif "mlp" in diffusers_name:
311
+ # Be aware that this is the new diffusers convention and the rest of the code might
312
+ # not utilize it yet.
313
+ diffusers_name = diffusers_name.replace(".lora.", ".lora_linear_layer.")
314
+ return diffusers_name
315
+
316
+
317
+ def _get_alpha_name(lora_name_alpha, diffusers_name, alpha):
318
+ """
319
+ Gets the correct alpha name for the Diffusers model.
320
+ """
321
+ if lora_name_alpha.startswith("lora_unet_"):
322
+ prefix = "unet."
323
+ elif lora_name_alpha.startswith(("lora_te_", "lora_te1_")):
324
+ prefix = "text_encoder."
325
+ else:
326
+ prefix = "text_encoder_2."
327
+ new_name = prefix + diffusers_name.split(".lora.")[0] + ".alpha"
328
+ return {new_name: alpha}
@@ -28,9 +28,11 @@ from .single_file_utils import (
28
28
  _legacy_load_safety_checker,
29
29
  _legacy_load_scheduler,
30
30
  create_diffusers_clip_model_from_ldm,
31
+ create_diffusers_t5_model_from_checkpoint,
31
32
  fetch_diffusers_config,
32
33
  fetch_original_config,
33
34
  is_clip_model_in_single_file,
35
+ is_t5_in_single_file,
34
36
  load_single_file_checkpoint,
35
37
  )
36
38
 
@@ -118,6 +120,16 @@ def load_single_file_sub_model(
118
120
  is_legacy_loading=is_legacy_loading,
119
121
  )
120
122
 
123
+ elif is_transformers_model and is_t5_in_single_file(checkpoint):
124
+ loaded_sub_model = create_diffusers_t5_model_from_checkpoint(
125
+ class_obj,
126
+ checkpoint=checkpoint,
127
+ config=cached_model_config_path,
128
+ subfolder=name,
129
+ torch_dtype=torch_dtype,
130
+ local_files_only=local_files_only,
131
+ )
132
+
121
133
  elif is_tokenizer and is_legacy_loading:
122
134
  loaded_sub_model = _legacy_load_clip_tokenizer(
123
135
  class_obj, checkpoint=checkpoint, config=cached_model_config_path, local_files_only=local_files_only
@@ -276,16 +276,18 @@ class FromOriginalModelMixin:
276
276
 
277
277
  if is_accelerate_available():
278
278
  unexpected_keys = load_model_dict_into_meta(model, diffusers_format_checkpoint, dtype=torch_dtype)
279
- if model._keys_to_ignore_on_load_unexpected is not None:
280
- for pat in model._keys_to_ignore_on_load_unexpected:
281
- unexpected_keys = [k for k in unexpected_keys if re.search(pat, k) is None]
282
279
 
283
- if len(unexpected_keys) > 0:
284
- logger.warning(
285
- f"Some weights of the model checkpoint were not used when initializing {cls.__name__}: \n {[', '.join(unexpected_keys)]}"
286
- )
287
280
  else:
288
- model.load_state_dict(diffusers_format_checkpoint)
281
+ _, unexpected_keys = model.load_state_dict(diffusers_format_checkpoint, strict=False)
282
+
283
+ if model._keys_to_ignore_on_load_unexpected is not None:
284
+ for pat in model._keys_to_ignore_on_load_unexpected:
285
+ unexpected_keys = [k for k in unexpected_keys if re.search(pat, k) is None]
286
+
287
+ if len(unexpected_keys) > 0:
288
+ logger.warning(
289
+ f"Some weights of the model checkpoint were not used when initializing {cls.__name__}: \n {[', '.join(unexpected_keys)]}"
290
+ )
289
291
 
290
292
  if torch_dtype is not None:
291
293
  model.to(torch_dtype)