diffusers 0.27.2__tar.gz → 0.28.1__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.
- {diffusers-0.27.2/src/diffusers.egg-info → diffusers-0.28.1}/PKG-INFO +79 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/README.md +3 -3
- {diffusers-0.27.2 → diffusers-0.28.1}/pyproject.toml +5 -3
- {diffusers-0.27.2 → diffusers-0.28.1}/setup.py +15 -10
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/__init__.py +26 -1
- diffusers-0.28.1/src/diffusers/callbacks.py +156 -0
- diffusers-0.28.1/src/diffusers/commands/env.py +188 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/configuration_utils.py +33 -11
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/dependency_versions_table.py +2 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/image_processor.py +158 -45
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/loaders/__init__.py +2 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/loaders/autoencoder.py +4 -4
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/loaders/controlnet.py +4 -4
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/loaders/ip_adapter.py +80 -22
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/loaders/lora.py +134 -20
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/loaders/lora_conversion_utils.py +46 -43
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/loaders/peft.py +4 -3
- diffusers-0.28.1/src/diffusers/loaders/single_file.py +549 -0
- diffusers-0.28.1/src/diffusers/loaders/single_file_model.py +290 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/loaders/single_file_utils.py +616 -672
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/loaders/textual_inversion.py +41 -20
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/loaders/unet.py +168 -115
- diffusers-0.28.1/src/diffusers/loaders/unet_loader_utils.py +163 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/__init__.py +8 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/activations.py +23 -3
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/attention.py +10 -11
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/attention_processor.py +475 -148
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/autoencoders/autoencoder_asym_kl.py +14 -16
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/autoencoders/autoencoder_kl.py +18 -19
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/autoencoders/autoencoder_kl_temporal_decoder.py +11 -11
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/autoencoders/autoencoder_tiny.py +16 -16
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/autoencoders/consistency_decoder_vae.py +36 -11
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/autoencoders/vae.py +23 -24
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/controlnet.py +12 -9
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/controlnet_flax.py +4 -4
- diffusers-0.28.1/src/diffusers/models/controlnet_xs.py +1915 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/downsampling.py +17 -18
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/embeddings.py +363 -32
- diffusers-0.28.1/src/diffusers/models/model_loading_utils.py +177 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/modeling_flax_pytorch_utils.py +2 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/modeling_flax_utils.py +4 -4
- diffusers-0.28.1/src/diffusers/models/modeling_outputs.py +31 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/modeling_pytorch_flax_utils.py +1 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/modeling_utils.py +175 -99
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/normalization.py +2 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/resnet.py +18 -23
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/transformer_temporal.py +3 -3
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/transformers/__init__.py +3 -0
- diffusers-0.28.1/src/diffusers/models/transformers/dit_transformer_2d.py +240 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/transformers/dual_transformer_2d.py +4 -4
- diffusers-0.28.1/src/diffusers/models/transformers/hunyuan_transformer_2d.py +427 -0
- diffusers-0.28.1/src/diffusers/models/transformers/pixart_transformer_2d.py +336 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/transformers/prior_transformer.py +7 -7
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/transformers/t5_film_transformer.py +17 -19
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/transformers/transformer_2d.py +292 -184
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/transformers/transformer_temporal.py +10 -10
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_1d.py +5 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_1d_blocks.py +29 -29
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_2d.py +6 -6
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_2d_blocks.py +137 -128
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_2d_condition.py +19 -15
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_2d_condition_flax.py +6 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_3d_blocks.py +79 -77
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_3d_condition.py +13 -9
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_i2vgen_xl.py +14 -13
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_kandinsky3.py +1 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_motion_model.py +114 -14
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_spatio_temporal_condition.py +15 -14
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_stable_cascade.py +16 -13
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/upsampling.py +17 -20
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/vq_model.py +16 -15
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/__init__.py +27 -3
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/amused/pipeline_amused.py +12 -12
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/amused/pipeline_amused_img2img.py +14 -12
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/amused/pipeline_amused_inpaint.py +13 -11
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/animatediff/__init__.py +2 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/animatediff/pipeline_animatediff.py +24 -46
- diffusers-0.28.1/src/diffusers/pipelines/animatediff/pipeline_animatediff_sdxl.py +1284 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/animatediff/pipeline_animatediff_video2video.py +82 -72
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/animatediff/pipeline_output.py +3 -2
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/audioldm/pipeline_audioldm.py +14 -14
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/audioldm2/modeling_audioldm2.py +54 -35
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/audioldm2/pipeline_audioldm2.py +120 -36
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/auto_pipeline.py +21 -17
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/blip_diffusion/blip_image_processing.py +1 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/blip_diffusion/modeling_blip2.py +5 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/blip_diffusion/modeling_ctx_clip.py +1 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/blip_diffusion/pipeline_blip_diffusion.py +2 -2
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/consistency_models/pipeline_consistency_models.py +5 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/controlnet/multicontrolnet.py +4 -8
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/controlnet/pipeline_controlnet.py +87 -52
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/controlnet/pipeline_controlnet_blip_diffusion.py +2 -2
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +50 -43
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/controlnet/pipeline_controlnet_inpaint.py +52 -40
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/controlnet/pipeline_controlnet_inpaint_sd_xl.py +80 -47
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +147 -49
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +89 -55
- diffusers-0.28.1/src/diffusers/pipelines/controlnet_xs/__init__.py +68 -0
- diffusers-0.28.1/src/diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs.py +911 -0
- diffusers-0.28.1/src/diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs_sd_xl.py +1115 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deepfloyd_if/pipeline_if.py +14 -28
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img.py +18 -33
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img_superresolution.py +21 -39
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting.py +20 -36
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting_superresolution.py +23 -39
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_superresolution.py +17 -32
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/alt_diffusion/modeling_roberta_series.py +11 -11
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/alt_diffusion/pipeline_alt_diffusion.py +43 -20
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/alt_diffusion/pipeline_alt_diffusion_img2img.py +36 -18
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/repaint/pipeline_repaint.py +2 -2
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/pipeline_spectrogram_diffusion.py +7 -7
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_cycle_diffusion.py +12 -12
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_inpaint_legacy.py +18 -18
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_model_editing.py +20 -15
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_paradigms.py +20 -15
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_pix2pix_zero.py +30 -25
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/versatile_diffusion/modeling_text_unet.py +69 -59
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion.py +13 -13
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_dual_guided.py +10 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_image_variation.py +11 -6
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_text_to_image.py +10 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/vq_diffusion/pipeline_vq_diffusion.py +5 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/dit/pipeline_dit.py +7 -4
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/free_init_utils.py +39 -38
- {diffusers-0.27.2/src/diffusers/pipelines/pixart_alpha → diffusers-0.28.1/src/diffusers/pipelines/hunyuandit}/__init__.py +2 -2
- diffusers-0.28.1/src/diffusers/pipelines/hunyuandit/pipeline_hunyuandit.py +881 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/i2vgen_xl/pipeline_i2vgen_xl.py +33 -48
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky.py +8 -8
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_combined.py +23 -20
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_img2img.py +11 -11
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_inpaint.py +12 -12
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_prior.py +10 -10
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +6 -6
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +32 -29
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet.py +10 -10
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet_img2img.py +10 -10
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +6 -6
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpainting.py +8 -8
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +7 -7
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior_emb2emb.py +6 -6
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky3/convert_kandinsky3_unet.py +3 -3
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky3/pipeline_kandinsky3.py +20 -33
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky3/pipeline_kandinsky3_img2img.py +24 -35
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_img2img.py +48 -30
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_text2img.py +50 -28
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py +11 -11
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/ledits_pp/pipeline_leditspp_stable_diffusion.py +61 -67
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/ledits_pp/pipeline_leditspp_stable_diffusion_xl.py +70 -69
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/ledits_pp/pipeline_output.py +2 -2
- diffusers-0.28.1/src/diffusers/pipelines/marigold/__init__.py +50 -0
- diffusers-0.28.1/src/diffusers/pipelines/marigold/marigold_image_processing.py +561 -0
- diffusers-0.28.1/src/diffusers/pipelines/marigold/pipeline_marigold_depth.py +813 -0
- diffusers-0.28.1/src/diffusers/pipelines/marigold/pipeline_marigold_normals.py +690 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/musicldm/pipeline_musicldm.py +14 -14
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/paint_by_example/pipeline_paint_by_example.py +17 -12
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/pia/pipeline_pia.py +39 -125
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/pipeline_flax_utils.py +4 -4
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/pipeline_loading_utils.py +269 -23
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/pipeline_utils.py +266 -37
- diffusers-0.28.1/src/diffusers/pipelines/pixart_alpha/__init__.py +55 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/pixart_alpha/pipeline_pixart_alpha.py +69 -79
- diffusers-0.28.1/src/diffusers/pipelines/pixart_alpha/pipeline_pixart_sigma.py +880 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/semantic_stable_diffusion/pipeline_semantic_stable_diffusion.py +10 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/shap_e/pipeline_shap_e.py +3 -3
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/shap_e/pipeline_shap_e_img2img.py +14 -14
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/shap_e/renderer.py +1 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade.py +18 -18
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_combined.py +23 -19
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_prior.py +33 -32
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/__init__.py +0 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/convert_from_ckpt.py +18 -11
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion.py +2 -2
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_upscale.py +6 -6
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +73 -39
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_depth2img.py +24 -17
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_image_variation.py +13 -8
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +66 -36
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +82 -46
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_instruct_pix2pix.py +123 -28
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_latent_upscale.py +6 -6
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_upscale.py +16 -16
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py +24 -19
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip_img2img.py +37 -31
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/safety_checker.py +2 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_attend_and_excite/pipeline_stable_diffusion_attend_and_excite.py +23 -15
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_diffedit/pipeline_stable_diffusion_diffedit.py +44 -39
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen.py +23 -18
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen_text_image.py +19 -14
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_k_diffusion.py +20 -15
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_xl_k_diffusion.py +24 -19
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_ldm3d/pipeline_stable_diffusion_ldm3d.py +65 -32
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_panorama/pipeline_stable_diffusion_panorama.py +274 -38
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_safe/pipeline_stable_diffusion_safe.py +10 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_safe/safety_checker.py +1 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_sag/pipeline_stable_diffusion_sag.py +92 -25
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +88 -44
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +108 -56
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +96 -51
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_instruct_pix2pix.py +45 -25
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_xl/watermark.py +9 -3
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_video_diffusion/pipeline_stable_video_diffusion.py +110 -57
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_adapter.py +59 -30
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_xl_adapter.py +71 -42
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_output.py +3 -2
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth.py +18 -41
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth_img2img.py +21 -85
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero.py +28 -19
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero_sdxl.py +39 -33
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/unclip/pipeline_unclip.py +6 -6
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/unclip/pipeline_unclip_image_variation.py +6 -6
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/unidiffuser/modeling_text_decoder.py +1 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/unidiffuser/modeling_uvit.py +9 -9
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/unidiffuser/pipeline_unidiffuser.py +23 -23
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/wuerstchen/modeling_paella_vq_model.py +5 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/wuerstchen/modeling_wuerstchen_common.py +5 -10
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/wuerstchen/modeling_wuerstchen_prior.py +4 -6
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/wuerstchen/pipeline_wuerstchen.py +4 -4
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/wuerstchen/pipeline_wuerstchen_combined.py +12 -12
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/wuerstchen/pipeline_wuerstchen_prior.py +10 -10
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/__init__.py +2 -2
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/deprecated/__init__.py +1 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/deprecated/scheduling_karras_ve.py +25 -25
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_amused.py +5 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_consistency_decoder.py +11 -11
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_consistency_models.py +20 -26
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_ddim.py +22 -24
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_ddim_flax.py +2 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_ddim_inverse.py +16 -16
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_ddim_parallel.py +28 -30
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_ddpm.py +20 -22
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_ddpm_flax.py +7 -3
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_ddpm_parallel.py +26 -28
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_ddpm_wuerstchen.py +14 -14
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_deis_multistep.py +42 -42
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py +103 -77
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_dpmsolver_multistep_flax.py +2 -2
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py +46 -46
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_dpmsolver_sde.py +23 -23
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py +86 -65
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_edm_dpmsolver_multistep.py +75 -54
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_edm_euler.py +50 -31
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_euler_ancestral_discrete.py +23 -29
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_euler_discrete.py +160 -68
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_heun_discrete.py +57 -39
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_ipndm.py +8 -8
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_k_dpm_2_ancestral_discrete.py +19 -19
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_k_dpm_2_discrete.py +19 -19
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_karras_ve_flax.py +6 -6
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_lcm.py +21 -23
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_lms_discrete.py +24 -26
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_pndm.py +20 -20
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_repaint.py +20 -20
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_sasolver.py +55 -54
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_sde_ve.py +19 -19
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_tcd.py +39 -30
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_unclip.py +15 -15
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_unipc_multistep.py +111 -41
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_utils.py +14 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_utils_flax.py +3 -3
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_vq_diffusion.py +10 -10
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/training_utils.py +56 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/__init__.py +7 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/doc_utils.py +1 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dummy_pt_objects.py +75 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dummy_torch_and_transformers_objects.py +105 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dynamic_modules_utils.py +24 -11
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/hub_utils.py +3 -2
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/import_utils.py +91 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/loading_utils.py +2 -2
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/logging.py +1 -1
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/peft_utils.py +32 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/state_dict_utils.py +11 -2
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/testing_utils.py +71 -6
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/torch_utils.py +1 -0
- diffusers-0.28.1/src/diffusers/video_processor.py +113 -0
- {diffusers-0.27.2 → diffusers-0.28.1/src/diffusers.egg-info}/PKG-INFO +79 -5
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers.egg-info/SOURCES.txt +20 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers.egg-info/requires.txt +3 -3
- diffusers-0.27.2/src/diffusers/commands/env.py +0 -84
- diffusers-0.27.2/src/diffusers/loaders/single_file.py +0 -318
- diffusers-0.27.2/src/diffusers/models/modeling_outputs.py +0 -17
- {diffusers-0.27.2 → diffusers-0.28.1}/LICENSE +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/MANIFEST.in +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/setup.cfg +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/commands/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/commands/diffusers_cli.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/commands/fp16_safetensors.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/dependency_versions_check.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/experimental/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/experimental/rl/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/experimental/rl/value_guided_sampling.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/loaders/utils.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/adapter.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/attention_flax.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/autoencoders/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/dual_transformer_2d.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/embeddings_flax.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/lora.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/prior_transformer.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/resnet_flax.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/t5_film_transformer.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/transformer_2d.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unet_1d.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unet_1d_blocks.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unet_2d.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unet_2d_blocks.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unet_2d_condition.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/unet_2d_blocks_flax.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/unets/uvit_2d.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/models/vae_flax.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/optimization.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/amused/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/audioldm/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/audioldm2/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/blip_diffusion/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/consistency_models/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/controlnet/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/controlnet/pipeline_flax_controlnet.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/dance_diffusion/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/dance_diffusion/pipeline_dance_diffusion.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/ddim/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/ddim/pipeline_ddim.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/ddpm/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/ddpm/pipeline_ddpm.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deepfloyd_if/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deepfloyd_if/pipeline_output.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deepfloyd_if/safety_checker.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deepfloyd_if/timesteps.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deepfloyd_if/watermark.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/alt_diffusion/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/alt_diffusion/pipeline_output.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/audio_diffusion/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/audio_diffusion/mel.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/audio_diffusion/pipeline_audio_diffusion.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/latent_diffusion_uncond/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/latent_diffusion_uncond/pipeline_latent_diffusion_uncond.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/pndm/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/pndm/pipeline_pndm.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/repaint/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/score_sde_ve/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/score_sde_ve/pipeline_score_sde_ve.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/continuous_encoder.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/midi_utils.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/notes_encoder.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_onnx_stable_diffusion_inpaint_legacy.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/stochastic_karras_ve/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/stochastic_karras_ve/pipeline_stochastic_karras_ve.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/versatile_diffusion/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/deprecated/vq_diffusion/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/dit/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/i2vgen_xl/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky/text_encoder.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/kandinsky3/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/latent_consistency_models/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/latent_diffusion/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion_superresolution.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/ledits_pp/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/musicldm/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/onnx_utils.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/paint_by_example/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/paint_by_example/image_encoder.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/pia/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/semantic_stable_diffusion/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/semantic_stable_diffusion/pipeline_output.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/shap_e/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/shap_e/camera.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_cascade/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/clip_image_project_model.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_img2img.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_inpaint.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_img2img.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_inpaint.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/pipeline_output.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/safety_checker_flax.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion/stable_unclip_image_normalizer.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_attend_and_excite/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_diffedit/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_gligen/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_k_diffusion/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_ldm3d/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_panorama/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_safe/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_safe/pipeline_output.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_sag/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_flax_stable_diffusion_xl.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_output.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/stable_video_diffusion/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/t2i_adapter/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/text_to_video_synthesis/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/unclip/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/unclip/text_proj.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/unidiffuser/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/wuerstchen/__init__.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/pipelines/wuerstchen/modeling_wuerstchen_diffnext.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/py.typed +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/deprecated/scheduling_sde_vp.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_euler_discrete_flax.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_lms_discrete_flax.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_pndm_flax.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/schedulers/scheduling_sde_ve_flax.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/accelerate_utils.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/constants.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/deprecation_utils.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dummy_flax_and_transformers_objects.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dummy_flax_objects.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dummy_note_seq_objects.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dummy_onnx_objects.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dummy_torch_and_librosa_objects.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dummy_torch_and_scipy_objects.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dummy_torch_and_torchsde_objects.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dummy_torch_and_transformers_and_k_diffusion_objects.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dummy_torch_and_transformers_and_onnx_objects.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/dummy_transformers_and_torch_and_note_seq_objects.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/export_utils.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/model_card_template.md +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/outputs.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/pil_utils.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers/utils/versions.py +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers.egg-info/dependency_links.txt +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/src/diffusers.egg-info/entry_points.txt +0 -0
- {diffusers-0.27.2 → diffusers-0.28.1}/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.
|
3
|
+
Version: 0.28.1
|
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.20.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
|
-
|
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.
|
@@ -108,7 +182,7 @@ Please refer to the [How to use Stable Diffusion in Apple Silicon](https://huggi
|
|
108
182
|
|
109
183
|
## Quickstart
|
110
184
|
|
111
|
-
Generating outputs is super easy with 🤗 Diffusers. To generate an image from text, use the `from_pretrained` method to load any pretrained diffusion model (browse the [Hub](https://huggingface.co/models?library=diffusers&sort=downloads) for
|
185
|
+
Generating outputs is super easy with 🤗 Diffusers. To generate an image from text, use the `from_pretrained` method to load any pretrained diffusion model (browse the [Hub](https://huggingface.co/models?library=diffusers&sort=downloads) for 25.000+ checkpoints):
|
112
186
|
|
113
187
|
```python
|
114
188
|
from diffusers import DiffusionPipeline
|
@@ -250,7 +324,7 @@ Also, say 👋 in our public Discord channel <a href="https://discord.gg/G7tWnz9
|
|
250
324
|
- https://github.com/deep-floyd/IF
|
251
325
|
- https://github.com/bentoml/BentoML
|
252
326
|
- https://github.com/bmaltais/kohya_ss
|
253
|
-
- +
|
327
|
+
- +11.000 other amazing GitHub repositories 💪
|
254
328
|
|
255
329
|
Thank you for using us ❤️.
|
256
330
|
|
@@ -269,7 +343,7 @@ We also want to thank @heejkoo for the very helpful overview of papers, code and
|
|
269
343
|
|
270
344
|
```bibtex
|
271
345
|
@misc{von-platen-etal-2022-diffusers,
|
272
|
-
author = {Patrick von Platen and Suraj Patil and Anton Lozhkov and Pedro Cuenca and Nathan Lambert and Kashif Rasul and Mishig Davaadorj and Thomas Wolf},
|
346
|
+
author = {Patrick von Platen and Suraj Patil and Anton Lozhkov and Pedro Cuenca and Nathan Lambert and Kashif Rasul and Mishig Davaadorj and Dhruv Nair and Sayak Paul and William Berman and Yiyi Xu and Steven Liu and Thomas Wolf},
|
273
347
|
title = {Diffusers: State-of-the-art diffusion models},
|
274
348
|
year = {2022},
|
275
349
|
publisher = {GitHub},
|
@@ -77,7 +77,7 @@ Please refer to the [How to use Stable Diffusion in Apple Silicon](https://huggi
|
|
77
77
|
|
78
78
|
## Quickstart
|
79
79
|
|
80
|
-
Generating outputs is super easy with 🤗 Diffusers. To generate an image from text, use the `from_pretrained` method to load any pretrained diffusion model (browse the [Hub](https://huggingface.co/models?library=diffusers&sort=downloads) for
|
80
|
+
Generating outputs is super easy with 🤗 Diffusers. To generate an image from text, use the `from_pretrained` method to load any pretrained diffusion model (browse the [Hub](https://huggingface.co/models?library=diffusers&sort=downloads) for 25.000+ checkpoints):
|
81
81
|
|
82
82
|
```python
|
83
83
|
from diffusers import DiffusionPipeline
|
@@ -219,7 +219,7 @@ Also, say 👋 in our public Discord channel <a href="https://discord.gg/G7tWnz9
|
|
219
219
|
- https://github.com/deep-floyd/IF
|
220
220
|
- https://github.com/bentoml/BentoML
|
221
221
|
- https://github.com/bmaltais/kohya_ss
|
222
|
-
- +
|
222
|
+
- +11.000 other amazing GitHub repositories 💪
|
223
223
|
|
224
224
|
Thank you for using us ❤️.
|
225
225
|
|
@@ -238,7 +238,7 @@ We also want to thank @heejkoo for the very helpful overview of papers, code and
|
|
238
238
|
|
239
239
|
```bibtex
|
240
240
|
@misc{von-platen-etal-2022-diffusers,
|
241
|
-
author = {Patrick von Platen and Suraj Patil and Anton Lozhkov and Pedro Cuenca and Nathan Lambert and Kashif Rasul and Mishig Davaadorj and Thomas Wolf},
|
241
|
+
author = {Patrick von Platen and Suraj Patil and Anton Lozhkov and Pedro Cuenca and Nathan Lambert and Kashif Rasul and Mishig Davaadorj and Dhruv Nair and Sayak Paul and William Berman and Yiyi Xu and Steven Liu and Thomas Wolf},
|
242
242
|
title = {Diffusers: State-of-the-art diffusion models},
|
243
243
|
year = {2022},
|
244
244
|
publisher = {GitHub},
|
@@ -1,15 +1,17 @@
|
|
1
1
|
[tool.ruff]
|
2
|
+
line-length = 119
|
3
|
+
|
4
|
+
[tool.ruff.lint]
|
2
5
|
# Never enforce `E501` (line length violations).
|
3
6
|
ignore = ["C901", "E501", "E741", "F402", "F823"]
|
4
7
|
select = ["C", "E", "F", "I", "W"]
|
5
|
-
line-length = 119
|
6
8
|
|
7
9
|
# Ignore import violations in all `__init__.py` files.
|
8
|
-
[tool.ruff.per-file-ignores]
|
10
|
+
[tool.ruff.lint.per-file-ignores]
|
9
11
|
"__init__.py" = ["E402", "F401", "F403", "F811"]
|
10
12
|
"src/diffusers/utils/dummy_*.py" = ["F401"]
|
11
13
|
|
12
|
-
[tool.ruff.isort]
|
14
|
+
[tool.ruff.lint.isort]
|
13
15
|
lines-after-imports = 2
|
14
16
|
known-first-party = ["diffusers"]
|
15
17
|
|
@@ -23,13 +23,14 @@ To create the package for PyPI.
|
|
23
23
|
If releasing on a special branch, copy the updated README.md on the main branch for the commit you will make
|
24
24
|
for the post-release and run `make fix-copies` on the main branch as well.
|
25
25
|
|
26
|
-
2.
|
26
|
+
2. Unpin specific versions from setup.py that use a git install.
|
27
27
|
|
28
|
-
3.
|
29
|
-
|
30
|
-
4. Checkout the release branch (v<RELEASE>-release, for example v4.19-release), and commit these changes with the
|
28
|
+
3. Checkout the release branch (v<RELEASE>-release, for example v4.19-release), and commit these changes with the
|
31
29
|
message: "Release: <RELEASE>" and push.
|
32
30
|
|
31
|
+
4. Manually trigger the "Nightly and release tests on main/release branch" workflow from the release branch. Wait for
|
32
|
+
the tests to complete. We can safely ignore the known test failures.
|
33
|
+
|
33
34
|
5. Wait for the tests on main to be completed and be green (otherwise revert and fix bugs).
|
34
35
|
|
35
36
|
6. Add a tag in git to mark the release: "git tag v<RELEASE> -m 'Adds tag v<RELEASE> for PyPI'"
|
@@ -72,7 +73,11 @@ To create the package for PyPI.
|
|
72
73
|
9. Upload the final version to the actual PyPI:
|
73
74
|
twine upload dist/* -r pypi
|
74
75
|
|
75
|
-
10. Prepare the release notes and publish them on GitHub once everything is looking hunky-dory.
|
76
|
+
10. Prepare the release notes and publish them on GitHub once everything is looking hunky-dory. You can use the following
|
77
|
+
Space to fetch all the commits applicable for the release: https://huggingface.co/spaces/lysandre/github-release. Repo should
|
78
|
+
be `huggingface/diffusers`. `tag` should be the previous release tag (v0.26.1, for example), and `branch` should be
|
79
|
+
the latest release branch (v0.27.0-release, for example). It denotes all commits that have happened on branch
|
80
|
+
v0.27.0-release after the tag v0.26.1 was created.
|
76
81
|
|
77
82
|
11. Run `make post-release` (or, for a patch release, `make post-patch`). If you were on a branch for the release,
|
78
83
|
you need to go back to main before executing this.
|
@@ -81,9 +86,8 @@ To create the package for PyPI.
|
|
81
86
|
import os
|
82
87
|
import re
|
83
88
|
import sys
|
84
|
-
from distutils.core import Command
|
85
89
|
|
86
|
-
from setuptools import find_packages, setup
|
90
|
+
from setuptools import Command, find_packages, setup
|
87
91
|
|
88
92
|
|
89
93
|
# IMPORTANT:
|
@@ -91,7 +95,7 @@ from setuptools import find_packages, setup
|
|
91
95
|
# 2. once modified, run: `make deps_table_update` to update src/diffusers/dependency_versions_table.py
|
92
96
|
_deps = [
|
93
97
|
"Pillow", # keep the PIL.Image.Resampling deprecation away
|
94
|
-
"accelerate>=0.
|
98
|
+
"accelerate>=0.29.3",
|
95
99
|
"compel==0.1.8",
|
96
100
|
"datasets",
|
97
101
|
"filelock",
|
@@ -130,6 +134,7 @@ _deps = [
|
|
130
134
|
"torchvision",
|
131
135
|
"transformers>=4.25.1",
|
132
136
|
"urllib3<=2.0.0",
|
137
|
+
"black",
|
133
138
|
]
|
134
139
|
|
135
140
|
# this is a lookup table with items like:
|
@@ -163,7 +168,7 @@ def deps_list(*pkgs):
|
|
163
168
|
|
164
169
|
class DepsTableUpdateCommand(Command):
|
165
170
|
"""
|
166
|
-
A custom
|
171
|
+
A custom command that updates the dependency table.
|
167
172
|
usage: python setup.py deps_table_update
|
168
173
|
"""
|
169
174
|
|
@@ -249,7 +254,7 @@ version_range_max = max(sys.version_info[1], 10) + 1
|
|
249
254
|
|
250
255
|
setup(
|
251
256
|
name="diffusers",
|
252
|
-
version="0.
|
257
|
+
version="0.28.1", # expected format is one of x.y.z.dev0, or x.y.z.rc1 or x.y.z (no to dashes, yes to dots)
|
253
258
|
description="State-of-the-art diffusion in PyTorch and JAX.",
|
254
259
|
long_description=open("README.md", "r", encoding="utf-8").read(),
|
255
260
|
long_description_content_type="text/markdown",
|
@@ -1,4 +1,4 @@
|
|
1
|
-
__version__ = "0.
|
1
|
+
__version__ = "0.28.1"
|
2
2
|
|
3
3
|
from typing import TYPE_CHECKING
|
4
4
|
|
@@ -27,6 +27,7 @@ from .utils import (
|
|
27
27
|
|
28
28
|
_import_structure = {
|
29
29
|
"configuration_utils": ["ConfigMixin"],
|
30
|
+
"loaders": ["FromOriginalModelMixin"],
|
30
31
|
"models": [],
|
31
32
|
"pipelines": [],
|
32
33
|
"schedulers": [],
|
@@ -80,11 +81,15 @@ else:
|
|
80
81
|
"AutoencoderTiny",
|
81
82
|
"ConsistencyDecoderVAE",
|
82
83
|
"ControlNetModel",
|
84
|
+
"ControlNetXSAdapter",
|
85
|
+
"DiTTransformer2DModel",
|
86
|
+
"HunyuanDiT2DModel",
|
83
87
|
"I2VGenXLUNet",
|
84
88
|
"Kandinsky3UNet",
|
85
89
|
"ModelMixin",
|
86
90
|
"MotionAdapter",
|
87
91
|
"MultiAdapter",
|
92
|
+
"PixArtTransformer2DModel",
|
88
93
|
"PriorTransformer",
|
89
94
|
"StableCascadeUNet",
|
90
95
|
"T2IAdapter",
|
@@ -94,6 +99,7 @@ else:
|
|
94
99
|
"UNet2DConditionModel",
|
95
100
|
"UNet2DModel",
|
96
101
|
"UNet3DConditionModel",
|
102
|
+
"UNetControlNetXSModel",
|
97
103
|
"UNetMotionModel",
|
98
104
|
"UNetSpatioTemporalConditionModel",
|
99
105
|
"UVit2DModel",
|
@@ -214,6 +220,7 @@ else:
|
|
214
220
|
"AmusedInpaintPipeline",
|
215
221
|
"AmusedPipeline",
|
216
222
|
"AnimateDiffPipeline",
|
223
|
+
"AnimateDiffSDXLPipeline",
|
217
224
|
"AnimateDiffVideoToVideoPipeline",
|
218
225
|
"AudioLDM2Pipeline",
|
219
226
|
"AudioLDM2ProjectionModel",
|
@@ -223,6 +230,7 @@ else:
|
|
223
230
|
"BlipDiffusionPipeline",
|
224
231
|
"CLIPImageProjection",
|
225
232
|
"CycleDiffusionPipeline",
|
233
|
+
"HunyuanDiTPipeline",
|
226
234
|
"I2VGenXLPipeline",
|
227
235
|
"IFImg2ImgPipeline",
|
228
236
|
"IFImg2ImgSuperResolutionPipeline",
|
@@ -255,10 +263,13 @@ else:
|
|
255
263
|
"LDMTextToImagePipeline",
|
256
264
|
"LEditsPPPipelineStableDiffusion",
|
257
265
|
"LEditsPPPipelineStableDiffusionXL",
|
266
|
+
"MarigoldDepthPipeline",
|
267
|
+
"MarigoldNormalsPipeline",
|
258
268
|
"MusicLDMPipeline",
|
259
269
|
"PaintByExamplePipeline",
|
260
270
|
"PIAPipeline",
|
261
271
|
"PixArtAlphaPipeline",
|
272
|
+
"PixArtSigmaPipeline",
|
262
273
|
"SemanticStableDiffusionPipeline",
|
263
274
|
"ShapEImg2ImgPipeline",
|
264
275
|
"ShapEPipeline",
|
@@ -270,6 +281,7 @@ else:
|
|
270
281
|
"StableDiffusionControlNetImg2ImgPipeline",
|
271
282
|
"StableDiffusionControlNetInpaintPipeline",
|
272
283
|
"StableDiffusionControlNetPipeline",
|
284
|
+
"StableDiffusionControlNetXSPipeline",
|
273
285
|
"StableDiffusionDepth2ImgPipeline",
|
274
286
|
"StableDiffusionDiffEditPipeline",
|
275
287
|
"StableDiffusionGLIGENPipeline",
|
@@ -293,6 +305,7 @@ else:
|
|
293
305
|
"StableDiffusionXLControlNetImg2ImgPipeline",
|
294
306
|
"StableDiffusionXLControlNetInpaintPipeline",
|
295
307
|
"StableDiffusionXLControlNetPipeline",
|
308
|
+
"StableDiffusionXLControlNetXSPipeline",
|
296
309
|
"StableDiffusionXLImg2ImgPipeline",
|
297
310
|
"StableDiffusionXLInpaintPipeline",
|
298
311
|
"StableDiffusionXLInstructPix2PixPipeline",
|
@@ -474,11 +487,15 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
474
487
|
AutoencoderTiny,
|
475
488
|
ConsistencyDecoderVAE,
|
476
489
|
ControlNetModel,
|
490
|
+
ControlNetXSAdapter,
|
491
|
+
DiTTransformer2DModel,
|
492
|
+
HunyuanDiT2DModel,
|
477
493
|
I2VGenXLUNet,
|
478
494
|
Kandinsky3UNet,
|
479
495
|
ModelMixin,
|
480
496
|
MotionAdapter,
|
481
497
|
MultiAdapter,
|
498
|
+
PixArtTransformer2DModel,
|
482
499
|
PriorTransformer,
|
483
500
|
T2IAdapter,
|
484
501
|
T5FilmDecoder,
|
@@ -487,6 +504,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
487
504
|
UNet2DConditionModel,
|
488
505
|
UNet2DModel,
|
489
506
|
UNet3DConditionModel,
|
507
|
+
UNetControlNetXSModel,
|
490
508
|
UNetMotionModel,
|
491
509
|
UNetSpatioTemporalConditionModel,
|
492
510
|
UVit2DModel,
|
@@ -588,6 +606,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
588
606
|
AmusedInpaintPipeline,
|
589
607
|
AmusedPipeline,
|
590
608
|
AnimateDiffPipeline,
|
609
|
+
AnimateDiffSDXLPipeline,
|
591
610
|
AnimateDiffVideoToVideoPipeline,
|
592
611
|
AudioLDM2Pipeline,
|
593
612
|
AudioLDM2ProjectionModel,
|
@@ -595,6 +614,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
595
614
|
AudioLDMPipeline,
|
596
615
|
CLIPImageProjection,
|
597
616
|
CycleDiffusionPipeline,
|
617
|
+
HunyuanDiTPipeline,
|
598
618
|
I2VGenXLPipeline,
|
599
619
|
IFImg2ImgPipeline,
|
600
620
|
IFImg2ImgSuperResolutionPipeline,
|
@@ -627,10 +647,13 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
627
647
|
LDMTextToImagePipeline,
|
628
648
|
LEditsPPPipelineStableDiffusion,
|
629
649
|
LEditsPPPipelineStableDiffusionXL,
|
650
|
+
MarigoldDepthPipeline,
|
651
|
+
MarigoldNormalsPipeline,
|
630
652
|
MusicLDMPipeline,
|
631
653
|
PaintByExamplePipeline,
|
632
654
|
PIAPipeline,
|
633
655
|
PixArtAlphaPipeline,
|
656
|
+
PixArtSigmaPipeline,
|
634
657
|
SemanticStableDiffusionPipeline,
|
635
658
|
ShapEImg2ImgPipeline,
|
636
659
|
ShapEPipeline,
|
@@ -642,6 +665,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
642
665
|
StableDiffusionControlNetImg2ImgPipeline,
|
643
666
|
StableDiffusionControlNetInpaintPipeline,
|
644
667
|
StableDiffusionControlNetPipeline,
|
668
|
+
StableDiffusionControlNetXSPipeline,
|
645
669
|
StableDiffusionDepth2ImgPipeline,
|
646
670
|
StableDiffusionDiffEditPipeline,
|
647
671
|
StableDiffusionGLIGENPipeline,
|
@@ -665,6 +689,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
665
689
|
StableDiffusionXLControlNetImg2ImgPipeline,
|
666
690
|
StableDiffusionXLControlNetInpaintPipeline,
|
667
691
|
StableDiffusionXLControlNetPipeline,
|
692
|
+
StableDiffusionXLControlNetXSPipeline,
|
668
693
|
StableDiffusionXLImg2ImgPipeline,
|
669
694
|
StableDiffusionXLInpaintPipeline,
|
670
695
|
StableDiffusionXLInstructPix2PixPipeline,
|
@@ -0,0 +1,156 @@
|
|
1
|
+
from typing import Any, Dict, List
|
2
|
+
|
3
|
+
from .configuration_utils import ConfigMixin, register_to_config
|
4
|
+
from .utils import CONFIG_NAME
|
5
|
+
|
6
|
+
|
7
|
+
class PipelineCallback(ConfigMixin):
|
8
|
+
"""
|
9
|
+
Base class for all the official callbacks used in a pipeline. This class provides a structure for implementing
|
10
|
+
custom callbacks and ensures that all callbacks have a consistent interface.
|
11
|
+
|
12
|
+
Please implement the following:
|
13
|
+
`tensor_inputs`: This should return a list of tensor inputs specific to your callback. You will only be able to
|
14
|
+
include
|
15
|
+
variables listed in the `._callback_tensor_inputs` attribute of your pipeline class.
|
16
|
+
`callback_fn`: This method defines the core functionality of your callback.
|
17
|
+
"""
|
18
|
+
|
19
|
+
config_name = CONFIG_NAME
|
20
|
+
|
21
|
+
@register_to_config
|
22
|
+
def __init__(self, cutoff_step_ratio=1.0, cutoff_step_index=None):
|
23
|
+
super().__init__()
|
24
|
+
|
25
|
+
if (cutoff_step_ratio is None and cutoff_step_index is None) or (
|
26
|
+
cutoff_step_ratio is not None and cutoff_step_index is not None
|
27
|
+
):
|
28
|
+
raise ValueError("Either cutoff_step_ratio or cutoff_step_index should be provided, not both or none.")
|
29
|
+
|
30
|
+
if cutoff_step_ratio is not None and (
|
31
|
+
not isinstance(cutoff_step_ratio, float) or not (0.0 <= cutoff_step_ratio <= 1.0)
|
32
|
+
):
|
33
|
+
raise ValueError("cutoff_step_ratio must be a float between 0.0 and 1.0.")
|
34
|
+
|
35
|
+
@property
|
36
|
+
def tensor_inputs(self) -> List[str]:
|
37
|
+
raise NotImplementedError(f"You need to set the attribute `tensor_inputs` for {self.__class__}")
|
38
|
+
|
39
|
+
def callback_fn(self, pipeline, step_index, timesteps, callback_kwargs) -> Dict[str, Any]:
|
40
|
+
raise NotImplementedError(f"You need to implement the method `callback_fn` for {self.__class__}")
|
41
|
+
|
42
|
+
def __call__(self, pipeline, step_index, timestep, callback_kwargs) -> Dict[str, Any]:
|
43
|
+
return self.callback_fn(pipeline, step_index, timestep, callback_kwargs)
|
44
|
+
|
45
|
+
|
46
|
+
class MultiPipelineCallbacks:
|
47
|
+
"""
|
48
|
+
This class is designed to handle multiple pipeline callbacks. It accepts a list of PipelineCallback objects and
|
49
|
+
provides a unified interface for calling all of them.
|
50
|
+
"""
|
51
|
+
|
52
|
+
def __init__(self, callbacks: List[PipelineCallback]):
|
53
|
+
self.callbacks = callbacks
|
54
|
+
|
55
|
+
@property
|
56
|
+
def tensor_inputs(self) -> List[str]:
|
57
|
+
return [input for callback in self.callbacks for input in callback.tensor_inputs]
|
58
|
+
|
59
|
+
def __call__(self, pipeline, step_index, timestep, callback_kwargs) -> Dict[str, Any]:
|
60
|
+
"""
|
61
|
+
Calls all the callbacks in order with the given arguments and returns the final callback_kwargs.
|
62
|
+
"""
|
63
|
+
for callback in self.callbacks:
|
64
|
+
callback_kwargs = callback(pipeline, step_index, timestep, callback_kwargs)
|
65
|
+
|
66
|
+
return callback_kwargs
|
67
|
+
|
68
|
+
|
69
|
+
class SDCFGCutoffCallback(PipelineCallback):
|
70
|
+
"""
|
71
|
+
Callback function for Stable Diffusion Pipelines. After certain number of steps (set by `cutoff_step_ratio` or
|
72
|
+
`cutoff_step_index`), this callback will disable the CFG.
|
73
|
+
|
74
|
+
Note: This callback mutates the pipeline by changing the `_guidance_scale` attribute to 0.0 after the cutoff step.
|
75
|
+
"""
|
76
|
+
|
77
|
+
tensor_inputs = ["prompt_embeds"]
|
78
|
+
|
79
|
+
def callback_fn(self, pipeline, step_index, timestep, callback_kwargs) -> Dict[str, Any]:
|
80
|
+
cutoff_step_ratio = self.config.cutoff_step_ratio
|
81
|
+
cutoff_step_index = self.config.cutoff_step_index
|
82
|
+
|
83
|
+
# Use cutoff_step_index if it's not None, otherwise use cutoff_step_ratio
|
84
|
+
cutoff_step = (
|
85
|
+
cutoff_step_index if cutoff_step_index is not None else int(pipeline.num_timesteps * cutoff_step_ratio)
|
86
|
+
)
|
87
|
+
|
88
|
+
if step_index == cutoff_step:
|
89
|
+
prompt_embeds = callback_kwargs[self.tensor_inputs[0]]
|
90
|
+
prompt_embeds = prompt_embeds[-1:] # "-1" denotes the embeddings for conditional text tokens.
|
91
|
+
|
92
|
+
pipeline._guidance_scale = 0.0
|
93
|
+
|
94
|
+
callback_kwargs[self.tensor_inputs[0]] = prompt_embeds
|
95
|
+
return callback_kwargs
|
96
|
+
|
97
|
+
|
98
|
+
class SDXLCFGCutoffCallback(PipelineCallback):
|
99
|
+
"""
|
100
|
+
Callback function for Stable Diffusion XL Pipelines. After certain number of steps (set by `cutoff_step_ratio` or
|
101
|
+
`cutoff_step_index`), this callback will disable the CFG.
|
102
|
+
|
103
|
+
Note: This callback mutates the pipeline by changing the `_guidance_scale` attribute to 0.0 after the cutoff step.
|
104
|
+
"""
|
105
|
+
|
106
|
+
tensor_inputs = ["prompt_embeds", "add_text_embeds", "add_time_ids"]
|
107
|
+
|
108
|
+
def callback_fn(self, pipeline, step_index, timestep, callback_kwargs) -> Dict[str, Any]:
|
109
|
+
cutoff_step_ratio = self.config.cutoff_step_ratio
|
110
|
+
cutoff_step_index = self.config.cutoff_step_index
|
111
|
+
|
112
|
+
# Use cutoff_step_index if it's not None, otherwise use cutoff_step_ratio
|
113
|
+
cutoff_step = (
|
114
|
+
cutoff_step_index if cutoff_step_index is not None else int(pipeline.num_timesteps * cutoff_step_ratio)
|
115
|
+
)
|
116
|
+
|
117
|
+
if step_index == cutoff_step:
|
118
|
+
prompt_embeds = callback_kwargs[self.tensor_inputs[0]]
|
119
|
+
prompt_embeds = prompt_embeds[-1:] # "-1" denotes the embeddings for conditional text tokens.
|
120
|
+
|
121
|
+
add_text_embeds = callback_kwargs[self.tensor_inputs[1]]
|
122
|
+
add_text_embeds = add_text_embeds[-1:] # "-1" denotes the embeddings for conditional pooled text tokens
|
123
|
+
|
124
|
+
add_time_ids = callback_kwargs[self.tensor_inputs[2]]
|
125
|
+
add_time_ids = add_time_ids[-1:] # "-1" denotes the embeddings for conditional added time vector
|
126
|
+
|
127
|
+
pipeline._guidance_scale = 0.0
|
128
|
+
|
129
|
+
callback_kwargs[self.tensor_inputs[0]] = prompt_embeds
|
130
|
+
callback_kwargs[self.tensor_inputs[1]] = add_text_embeds
|
131
|
+
callback_kwargs[self.tensor_inputs[2]] = add_time_ids
|
132
|
+
return callback_kwargs
|
133
|
+
|
134
|
+
|
135
|
+
class IPAdapterScaleCutoffCallback(PipelineCallback):
|
136
|
+
"""
|
137
|
+
Callback function for any pipeline that inherits `IPAdapterMixin`. After certain number of steps (set by
|
138
|
+
`cutoff_step_ratio` or `cutoff_step_index`), this callback will set the IP Adapter scale to `0.0`.
|
139
|
+
|
140
|
+
Note: This callback mutates the IP Adapter attention processors by setting the scale to 0.0 after the cutoff step.
|
141
|
+
"""
|
142
|
+
|
143
|
+
tensor_inputs = []
|
144
|
+
|
145
|
+
def callback_fn(self, pipeline, step_index, timestep, callback_kwargs) -> Dict[str, Any]:
|
146
|
+
cutoff_step_ratio = self.config.cutoff_step_ratio
|
147
|
+
cutoff_step_index = self.config.cutoff_step_index
|
148
|
+
|
149
|
+
# Use cutoff_step_index if it's not None, otherwise use cutoff_step_ratio
|
150
|
+
cutoff_step = (
|
151
|
+
cutoff_step_index if cutoff_step_index is not None else int(pipeline.num_timesteps * cutoff_step_ratio)
|
152
|
+
)
|
153
|
+
|
154
|
+
if step_index == cutoff_step:
|
155
|
+
pipeline.set_ip_adapter_scale(0.0)
|
156
|
+
return callback_kwargs
|