diffusers 0.28.2__py3-none-any.whl → 0.29.0__py3-none-any.whl

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 (118) hide show
  1. diffusers/__init__.py +9 -1
  2. diffusers/commands/env.py +1 -5
  3. diffusers/dependency_versions_table.py +1 -1
  4. diffusers/image_processor.py +2 -1
  5. diffusers/loaders/__init__.py +2 -2
  6. diffusers/loaders/lora.py +406 -140
  7. diffusers/loaders/lora_conversion_utils.py +7 -1
  8. diffusers/loaders/single_file.py +1 -1
  9. diffusers/loaders/single_file_model.py +5 -0
  10. diffusers/loaders/single_file_utils.py +242 -2
  11. diffusers/loaders/unet.py +307 -272
  12. diffusers/models/__init__.py +5 -3
  13. diffusers/models/attention.py +125 -1
  14. diffusers/models/attention_processor.py +169 -1
  15. diffusers/models/autoencoders/__init__.py +1 -0
  16. diffusers/models/autoencoders/autoencoder_asym_kl.py +1 -1
  17. diffusers/models/autoencoders/autoencoder_kl.py +17 -6
  18. diffusers/models/autoencoders/autoencoder_kl_temporal_decoder.py +4 -2
  19. diffusers/models/autoencoders/consistency_decoder_vae.py +9 -9
  20. diffusers/models/autoencoders/vq_model.py +182 -0
  21. diffusers/models/controlnet_xs.py +6 -6
  22. diffusers/models/embeddings.py +112 -84
  23. diffusers/models/model_loading_utils.py +55 -0
  24. diffusers/models/modeling_utils.py +128 -17
  25. diffusers/models/normalization.py +11 -6
  26. diffusers/models/transformers/__init__.py +1 -0
  27. diffusers/models/transformers/dual_transformer_2d.py +5 -4
  28. diffusers/models/transformers/hunyuan_transformer_2d.py +149 -2
  29. diffusers/models/transformers/prior_transformer.py +5 -5
  30. diffusers/models/transformers/transformer_2d.py +2 -2
  31. diffusers/models/transformers/transformer_sd3.py +344 -0
  32. diffusers/models/transformers/transformer_temporal.py +12 -10
  33. diffusers/models/unets/unet_1d.py +3 -3
  34. diffusers/models/unets/unet_2d.py +3 -3
  35. diffusers/models/unets/unet_2d_condition.py +4 -15
  36. diffusers/models/unets/unet_3d_condition.py +5 -17
  37. diffusers/models/unets/unet_i2vgen_xl.py +4 -4
  38. diffusers/models/unets/unet_motion_model.py +4 -4
  39. diffusers/models/unets/unet_spatio_temporal_condition.py +3 -3
  40. diffusers/models/vq_model.py +8 -165
  41. diffusers/pipelines/__init__.py +2 -0
  42. diffusers/pipelines/animatediff/pipeline_animatediff.py +4 -3
  43. diffusers/pipelines/animatediff/pipeline_animatediff_video2video.py +4 -3
  44. diffusers/pipelines/controlnet/pipeline_controlnet.py +4 -3
  45. diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +4 -3
  46. diffusers/pipelines/controlnet/pipeline_controlnet_inpaint.py +4 -3
  47. diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs.py +4 -3
  48. diffusers/pipelines/deepfloyd_if/watermark.py +1 -1
  49. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_cycle_diffusion.py +4 -3
  50. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_inpaint_legacy.py +4 -3
  51. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_model_editing.py +4 -3
  52. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_paradigms.py +4 -3
  53. diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_pix2pix_zero.py +4 -3
  54. diffusers/pipelines/hunyuandit/pipeline_hunyuandit.py +24 -5
  55. diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_img2img.py +4 -3
  56. diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_text2img.py +4 -3
  57. diffusers/pipelines/marigold/marigold_image_processing.py +35 -20
  58. diffusers/pipelines/pia/pipeline_pia.py +4 -3
  59. diffusers/pipelines/pixart_alpha/pipeline_pixart_alpha.py +1 -1
  60. diffusers/pipelines/pixart_alpha/pipeline_pixart_sigma.py +1 -1
  61. diffusers/pipelines/semantic_stable_diffusion/pipeline_semantic_stable_diffusion.py +17 -17
  62. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +4 -3
  63. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_depth2img.py +5 -4
  64. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +4 -3
  65. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +4 -3
  66. diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_upscale.py +4 -3
  67. diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py +4 -3
  68. diffusers/pipelines/stable_diffusion/pipeline_stable_unclip_img2img.py +7 -6
  69. diffusers/pipelines/stable_diffusion_3/__init__.py +52 -0
  70. diffusers/pipelines/stable_diffusion_3/pipeline_output.py +21 -0
  71. diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +886 -0
  72. diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +923 -0
  73. diffusers/pipelines/stable_diffusion_attend_and_excite/pipeline_stable_diffusion_attend_and_excite.py +4 -3
  74. diffusers/pipelines/stable_diffusion_diffedit/pipeline_stable_diffusion_diffedit.py +10 -11
  75. diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen.py +4 -3
  76. diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen_text_image.py +4 -3
  77. diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_k_diffusion.py +4 -3
  78. diffusers/pipelines/stable_diffusion_ldm3d/pipeline_stable_diffusion_ldm3d.py +4 -3
  79. diffusers/pipelines/stable_diffusion_panorama/pipeline_stable_diffusion_panorama.py +4 -3
  80. diffusers/pipelines/stable_diffusion_sag/pipeline_stable_diffusion_sag.py +4 -3
  81. diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_adapter.py +4 -3
  82. diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth.py +4 -3
  83. diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth_img2img.py +4 -3
  84. diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero.py +4 -3
  85. diffusers/pipelines/unidiffuser/modeling_uvit.py +1 -1
  86. diffusers/pipelines/unidiffuser/pipeline_unidiffuser.py +4 -3
  87. diffusers/schedulers/__init__.py +2 -0
  88. diffusers/schedulers/scheduling_dpmsolver_sde.py +2 -2
  89. diffusers/schedulers/scheduling_edm_dpmsolver_multistep.py +2 -3
  90. diffusers/schedulers/scheduling_edm_euler.py +2 -4
  91. diffusers/schedulers/scheduling_flow_match_euler_discrete.py +287 -0
  92. diffusers/schedulers/scheduling_lms_discrete.py +2 -2
  93. diffusers/training_utils.py +4 -4
  94. diffusers/utils/__init__.py +3 -0
  95. diffusers/utils/constants.py +2 -0
  96. diffusers/utils/dummy_pt_objects.py +30 -0
  97. diffusers/utils/dummy_torch_and_transformers_objects.py +30 -0
  98. diffusers/utils/dynamic_modules_utils.py +15 -13
  99. diffusers/utils/hub_utils.py +106 -0
  100. diffusers/utils/import_utils.py +0 -1
  101. diffusers/utils/logging.py +3 -1
  102. diffusers/utils/state_dict_utils.py +2 -0
  103. {diffusers-0.28.2.dist-info → diffusers-0.29.0.dist-info}/METADATA +45 -45
  104. {diffusers-0.28.2.dist-info → diffusers-0.29.0.dist-info}/RECORD +108 -111
  105. {diffusers-0.28.2.dist-info → diffusers-0.29.0.dist-info}/WHEEL +1 -1
  106. diffusers/models/dual_transformer_2d.py +0 -20
  107. diffusers/models/prior_transformer.py +0 -12
  108. diffusers/models/t5_film_transformer.py +0 -70
  109. diffusers/models/transformer_2d.py +0 -25
  110. diffusers/models/transformer_temporal.py +0 -34
  111. diffusers/models/unet_1d.py +0 -26
  112. diffusers/models/unet_1d_blocks.py +0 -203
  113. diffusers/models/unet_2d.py +0 -27
  114. diffusers/models/unet_2d_blocks.py +0 -375
  115. diffusers/models/unet_2d_condition.py +0 -25
  116. {diffusers-0.28.2.dist-info → diffusers-0.29.0.dist-info}/LICENSE +0 -0
  117. {diffusers-0.28.2.dist-info → diffusers-0.29.0.dist-info}/entry_points.txt +0 -0
  118. {diffusers-0.28.2.dist-info → diffusers-0.29.0.dist-info}/top_level.txt +0 -0
diffusers/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = "0.28.2"
1
+ __version__ = "0.29.0"
2
2
 
3
3
  from typing import TYPE_CHECKING
4
4
 
@@ -91,6 +91,7 @@ else:
91
91
  "MultiAdapter",
92
92
  "PixArtTransformer2DModel",
93
93
  "PriorTransformer",
94
+ "SD3Transformer2DModel",
94
95
  "StableCascadeUNet",
95
96
  "T2IAdapter",
96
97
  "T5FilmDecoder",
@@ -156,6 +157,7 @@ else:
156
157
  "EDMEulerScheduler",
157
158
  "EulerAncestralDiscreteScheduler",
158
159
  "EulerDiscreteScheduler",
160
+ "FlowMatchEulerDiscreteScheduler",
159
161
  "HeunDiscreteScheduler",
160
162
  "IPNDMScheduler",
161
163
  "KarrasVeScheduler",
@@ -276,6 +278,8 @@ else:
276
278
  "StableCascadeCombinedPipeline",
277
279
  "StableCascadeDecoderPipeline",
278
280
  "StableCascadePriorPipeline",
281
+ "StableDiffusion3Img2ImgPipeline",
282
+ "StableDiffusion3Pipeline",
279
283
  "StableDiffusionAdapterPipeline",
280
284
  "StableDiffusionAttendAndExcitePipeline",
281
285
  "StableDiffusionControlNetImg2ImgPipeline",
@@ -497,6 +501,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
497
501
  MultiAdapter,
498
502
  PixArtTransformer2DModel,
499
503
  PriorTransformer,
504
+ SD3Transformer2DModel,
500
505
  T2IAdapter,
501
506
  T5FilmDecoder,
502
507
  Transformer2DModel,
@@ -559,6 +564,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
559
564
  EDMEulerScheduler,
560
565
  EulerAncestralDiscreteScheduler,
561
566
  EulerDiscreteScheduler,
567
+ FlowMatchEulerDiscreteScheduler,
562
568
  HeunDiscreteScheduler,
563
569
  IPNDMScheduler,
564
570
  KarrasVeScheduler,
@@ -660,6 +666,8 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
660
666
  StableCascadeCombinedPipeline,
661
667
  StableCascadeDecoderPipeline,
662
668
  StableCascadePriorPipeline,
669
+ StableDiffusion3Img2ImgPipeline,
670
+ StableDiffusion3Pipeline,
663
671
  StableDiffusionAdapterPipeline,
664
672
  StableDiffusionAttendAndExcitePipeline,
665
673
  StableDiffusionControlNetImg2ImgPipeline,
diffusers/commands/env.py CHANGED
@@ -31,7 +31,6 @@ from ..utils import (
31
31
  is_transformers_available,
32
32
  is_xformers_available,
33
33
  )
34
- from ..utils.testing_utils import get_python_version
35
34
  from . import BaseDiffusersCLICommand
36
35
 
37
36
 
@@ -106,10 +105,7 @@ class EnvironmentCommand(BaseDiffusersCLICommand):
106
105
 
107
106
  xformers_version = xformers.__version__
108
107
 
109
- if get_python_version() >= (3, 10):
110
- platform_info = f"{platform.freedesktop_os_release().get('PRETTY_NAME', None)} - {platform.platform()}"
111
- else:
112
- platform_info = platform.platform()
108
+ platform_info = platform.platform()
113
109
 
114
110
  is_notebook_str = "Yes" if is_notebook() else "No"
115
111
 
@@ -9,7 +9,7 @@ deps = {
9
9
  "filelock": "filelock",
10
10
  "flax": "flax>=0.4.1",
11
11
  "hf-doc-builder": "hf-doc-builder>=0.3.0",
12
- "huggingface-hub": "huggingface-hub>=0.20.2",
12
+ "huggingface-hub": "huggingface-hub>=0.23.2",
13
13
  "requests-mock": "requests-mock==1.10.0",
14
14
  "importlib_metadata": "importlib_metadata",
15
15
  "invisible-watermark": "invisible-watermark>=0.2.0",
@@ -86,6 +86,7 @@ class VaeImageProcessor(ConfigMixin):
86
86
  self,
87
87
  do_resize: bool = True,
88
88
  vae_scale_factor: int = 8,
89
+ vae_latent_channels: int = 4,
89
90
  resample: str = "lanczos",
90
91
  do_normalize: bool = True,
91
92
  do_binarize: bool = False,
@@ -533,7 +534,7 @@ class VaeImageProcessor(ConfigMixin):
533
534
 
534
535
  if not is_valid_image_imagelist(image):
535
536
  raise ValueError(
536
- f"Input is in incorrect format. Currently, we only support {', '.join(supported_formats)}"
537
+ f"Input is in incorrect format. Currently, we only support {', '.join(str(x) for x in supported_formats)}"
537
538
  )
538
539
  if not isinstance(image, list):
539
540
  image = [image]
@@ -59,7 +59,7 @@ if is_torch_available():
59
59
  _import_structure["utils"] = ["AttnProcsLayers"]
60
60
  if is_transformers_available():
61
61
  _import_structure["single_file"] = ["FromSingleFileMixin"]
62
- _import_structure["lora"] = ["LoraLoaderMixin", "StableDiffusionXLLoraLoaderMixin"]
62
+ _import_structure["lora"] = ["LoraLoaderMixin", "StableDiffusionXLLoraLoaderMixin", "SD3LoraLoaderMixin"]
63
63
  _import_structure["textual_inversion"] = ["TextualInversionLoaderMixin"]
64
64
  _import_structure["ip_adapter"] = ["IPAdapterMixin"]
65
65
 
@@ -74,7 +74,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
74
74
 
75
75
  if is_transformers_available():
76
76
  from .ip_adapter import IPAdapterMixin
77
- from .lora import LoraLoaderMixin, StableDiffusionXLLoraLoaderMixin
77
+ from .lora import LoraLoaderMixin, SD3LoraLoaderMixin, StableDiffusionXLLoraLoaderMixin
78
78
  from .single_file import FromSingleFileMixin
79
79
  from .textual_inversion import TextualInversionLoaderMixin
80
80