diffusers 0.33.0__py3-none-any.whl → 0.34.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.
- diffusers/__init__.py +48 -1
- diffusers/commands/__init__.py +1 -1
- diffusers/commands/diffusers_cli.py +1 -1
- diffusers/commands/env.py +1 -1
- diffusers/commands/fp16_safetensors.py +1 -1
- diffusers/dependency_versions_check.py +1 -1
- diffusers/dependency_versions_table.py +1 -1
- diffusers/experimental/rl/value_guided_sampling.py +1 -1
- diffusers/hooks/faster_cache.py +2 -2
- diffusers/hooks/group_offloading.py +128 -29
- diffusers/hooks/hooks.py +2 -2
- diffusers/hooks/layerwise_casting.py +3 -3
- diffusers/hooks/pyramid_attention_broadcast.py +1 -1
- diffusers/image_processor.py +7 -2
- diffusers/loaders/__init__.py +4 -0
- diffusers/loaders/ip_adapter.py +5 -14
- diffusers/loaders/lora_base.py +212 -111
- diffusers/loaders/lora_conversion_utils.py +275 -34
- diffusers/loaders/lora_pipeline.py +1554 -819
- diffusers/loaders/peft.py +52 -109
- diffusers/loaders/single_file.py +2 -2
- diffusers/loaders/single_file_model.py +20 -4
- diffusers/loaders/single_file_utils.py +225 -5
- diffusers/loaders/textual_inversion.py +3 -2
- diffusers/loaders/transformer_flux.py +1 -1
- diffusers/loaders/transformer_sd3.py +2 -2
- diffusers/loaders/unet.py +2 -16
- diffusers/loaders/unet_loader_utils.py +1 -1
- diffusers/loaders/utils.py +1 -1
- diffusers/models/__init__.py +15 -1
- diffusers/models/activations.py +5 -5
- diffusers/models/adapter.py +2 -3
- diffusers/models/attention.py +4 -4
- diffusers/models/attention_flax.py +10 -10
- diffusers/models/attention_processor.py +14 -10
- diffusers/models/auto_model.py +47 -10
- diffusers/models/autoencoders/__init__.py +1 -0
- diffusers/models/autoencoders/autoencoder_asym_kl.py +4 -4
- diffusers/models/autoencoders/autoencoder_dc.py +3 -3
- diffusers/models/autoencoders/autoencoder_kl.py +4 -4
- diffusers/models/autoencoders/autoencoder_kl_allegro.py +4 -4
- diffusers/models/autoencoders/autoencoder_kl_cogvideox.py +6 -6
- diffusers/models/autoencoders/autoencoder_kl_cosmos.py +1108 -0
- diffusers/models/autoencoders/autoencoder_kl_hunyuan_video.py +2 -2
- diffusers/models/autoencoders/autoencoder_kl_ltx.py +3 -3
- diffusers/models/autoencoders/autoencoder_kl_magvit.py +4 -4
- diffusers/models/autoencoders/autoencoder_kl_mochi.py +3 -3
- diffusers/models/autoencoders/autoencoder_kl_temporal_decoder.py +4 -4
- diffusers/models/autoencoders/autoencoder_kl_wan.py +256 -22
- diffusers/models/autoencoders/autoencoder_oobleck.py +1 -1
- diffusers/models/autoencoders/autoencoder_tiny.py +3 -3
- diffusers/models/autoencoders/consistency_decoder_vae.py +1 -1
- diffusers/models/autoencoders/vae.py +13 -2
- diffusers/models/autoencoders/vq_model.py +2 -2
- diffusers/models/cache_utils.py +1 -1
- diffusers/models/controlnet.py +1 -1
- diffusers/models/controlnet_flux.py +1 -1
- diffusers/models/controlnet_sd3.py +1 -1
- diffusers/models/controlnet_sparsectrl.py +1 -1
- diffusers/models/controlnets/__init__.py +1 -0
- diffusers/models/controlnets/controlnet.py +3 -3
- diffusers/models/controlnets/controlnet_flax.py +1 -1
- diffusers/models/controlnets/controlnet_flux.py +16 -15
- diffusers/models/controlnets/controlnet_hunyuan.py +2 -2
- diffusers/models/controlnets/controlnet_sana.py +290 -0
- diffusers/models/controlnets/controlnet_sd3.py +1 -1
- diffusers/models/controlnets/controlnet_sparsectrl.py +2 -2
- diffusers/models/controlnets/controlnet_union.py +1 -1
- diffusers/models/controlnets/controlnet_xs.py +7 -7
- diffusers/models/controlnets/multicontrolnet.py +4 -5
- diffusers/models/controlnets/multicontrolnet_union.py +5 -6
- diffusers/models/downsampling.py +2 -2
- diffusers/models/embeddings.py +10 -12
- diffusers/models/embeddings_flax.py +2 -2
- diffusers/models/lora.py +3 -3
- diffusers/models/modeling_utils.py +44 -14
- diffusers/models/normalization.py +4 -4
- diffusers/models/resnet.py +2 -2
- diffusers/models/resnet_flax.py +1 -1
- diffusers/models/transformers/__init__.py +5 -0
- diffusers/models/transformers/auraflow_transformer_2d.py +70 -24
- diffusers/models/transformers/cogvideox_transformer_3d.py +1 -1
- diffusers/models/transformers/consisid_transformer_3d.py +1 -1
- diffusers/models/transformers/dit_transformer_2d.py +2 -2
- diffusers/models/transformers/dual_transformer_2d.py +1 -1
- diffusers/models/transformers/hunyuan_transformer_2d.py +2 -2
- diffusers/models/transformers/latte_transformer_3d.py +4 -5
- diffusers/models/transformers/lumina_nextdit2d.py +2 -2
- diffusers/models/transformers/pixart_transformer_2d.py +3 -3
- diffusers/models/transformers/prior_transformer.py +1 -1
- diffusers/models/transformers/sana_transformer.py +8 -3
- diffusers/models/transformers/stable_audio_transformer.py +5 -9
- diffusers/models/transformers/t5_film_transformer.py +3 -3
- diffusers/models/transformers/transformer_2d.py +1 -1
- diffusers/models/transformers/transformer_allegro.py +1 -1
- diffusers/models/transformers/transformer_chroma.py +742 -0
- diffusers/models/transformers/transformer_cogview3plus.py +5 -10
- diffusers/models/transformers/transformer_cogview4.py +317 -25
- diffusers/models/transformers/transformer_cosmos.py +579 -0
- diffusers/models/transformers/transformer_flux.py +9 -11
- diffusers/models/transformers/transformer_hidream_image.py +942 -0
- diffusers/models/transformers/transformer_hunyuan_video.py +6 -8
- diffusers/models/transformers/transformer_hunyuan_video_framepack.py +416 -0
- diffusers/models/transformers/transformer_ltx.py +2 -2
- diffusers/models/transformers/transformer_lumina2.py +1 -1
- diffusers/models/transformers/transformer_mochi.py +1 -1
- diffusers/models/transformers/transformer_omnigen.py +2 -2
- diffusers/models/transformers/transformer_sd3.py +7 -7
- diffusers/models/transformers/transformer_temporal.py +1 -1
- diffusers/models/transformers/transformer_wan.py +24 -8
- diffusers/models/transformers/transformer_wan_vace.py +393 -0
- diffusers/models/unets/unet_1d.py +1 -1
- diffusers/models/unets/unet_1d_blocks.py +1 -1
- diffusers/models/unets/unet_2d.py +1 -1
- diffusers/models/unets/unet_2d_blocks.py +1 -1
- diffusers/models/unets/unet_2d_blocks_flax.py +8 -7
- diffusers/models/unets/unet_2d_condition.py +2 -2
- diffusers/models/unets/unet_2d_condition_flax.py +2 -2
- diffusers/models/unets/unet_3d_blocks.py +1 -1
- diffusers/models/unets/unet_3d_condition.py +3 -3
- diffusers/models/unets/unet_i2vgen_xl.py +3 -3
- diffusers/models/unets/unet_kandinsky3.py +1 -1
- diffusers/models/unets/unet_motion_model.py +2 -2
- diffusers/models/unets/unet_stable_cascade.py +1 -1
- diffusers/models/upsampling.py +2 -2
- diffusers/models/vae_flax.py +2 -2
- diffusers/models/vq_model.py +1 -1
- diffusers/pipelines/__init__.py +37 -6
- diffusers/pipelines/allegro/pipeline_allegro.py +11 -11
- diffusers/pipelines/amused/pipeline_amused.py +7 -6
- diffusers/pipelines/amused/pipeline_amused_img2img.py +6 -5
- diffusers/pipelines/amused/pipeline_amused_inpaint.py +6 -5
- diffusers/pipelines/animatediff/pipeline_animatediff.py +6 -6
- diffusers/pipelines/animatediff/pipeline_animatediff_controlnet.py +6 -6
- diffusers/pipelines/animatediff/pipeline_animatediff_sdxl.py +16 -15
- diffusers/pipelines/animatediff/pipeline_animatediff_sparsectrl.py +6 -6
- diffusers/pipelines/animatediff/pipeline_animatediff_video2video.py +5 -5
- diffusers/pipelines/animatediff/pipeline_animatediff_video2video_controlnet.py +5 -5
- diffusers/pipelines/audioldm/pipeline_audioldm.py +8 -7
- diffusers/pipelines/audioldm2/modeling_audioldm2.py +1 -1
- diffusers/pipelines/audioldm2/pipeline_audioldm2.py +23 -13
- diffusers/pipelines/aura_flow/pipeline_aura_flow.py +48 -11
- diffusers/pipelines/auto_pipeline.py +6 -7
- diffusers/pipelines/blip_diffusion/modeling_blip2.py +1 -1
- diffusers/pipelines/blip_diffusion/modeling_ctx_clip.py +2 -2
- diffusers/pipelines/blip_diffusion/pipeline_blip_diffusion.py +11 -10
- diffusers/pipelines/chroma/__init__.py +49 -0
- diffusers/pipelines/chroma/pipeline_chroma.py +949 -0
- diffusers/pipelines/chroma/pipeline_chroma_img2img.py +1034 -0
- diffusers/pipelines/chroma/pipeline_output.py +21 -0
- diffusers/pipelines/cogvideo/pipeline_cogvideox.py +8 -8
- diffusers/pipelines/cogvideo/pipeline_cogvideox_fun_control.py +8 -8
- diffusers/pipelines/cogvideo/pipeline_cogvideox_image2video.py +8 -8
- diffusers/pipelines/cogvideo/pipeline_cogvideox_video2video.py +8 -8
- diffusers/pipelines/cogview3/pipeline_cogview3plus.py +9 -9
- diffusers/pipelines/cogview4/pipeline_cogview4.py +7 -7
- diffusers/pipelines/cogview4/pipeline_cogview4_control.py +7 -7
- diffusers/pipelines/consisid/consisid_utils.py +2 -2
- diffusers/pipelines/consisid/pipeline_consisid.py +8 -8
- diffusers/pipelines/consistency_models/pipeline_consistency_models.py +1 -1
- diffusers/pipelines/controlnet/pipeline_controlnet.py +7 -7
- diffusers/pipelines/controlnet/pipeline_controlnet_blip_diffusion.py +8 -8
- diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +7 -7
- diffusers/pipelines/controlnet/pipeline_controlnet_inpaint.py +7 -7
- diffusers/pipelines/controlnet/pipeline_controlnet_inpaint_sd_xl.py +14 -14
- diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +10 -6
- diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +13 -13
- diffusers/pipelines/controlnet/pipeline_controlnet_union_inpaint_sd_xl.py +14 -14
- diffusers/pipelines/controlnet/pipeline_controlnet_union_sd_xl.py +5 -5
- diffusers/pipelines/controlnet/pipeline_controlnet_union_sd_xl_img2img.py +13 -13
- diffusers/pipelines/controlnet/pipeline_flax_controlnet.py +1 -1
- diffusers/pipelines/controlnet_hunyuandit/pipeline_hunyuandit_controlnet.py +8 -8
- diffusers/pipelines/controlnet_sd3/pipeline_stable_diffusion_3_controlnet.py +7 -7
- diffusers/pipelines/controlnet_sd3/pipeline_stable_diffusion_3_controlnet_inpainting.py +7 -7
- diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs.py +12 -10
- diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs_sd_xl.py +9 -7
- diffusers/pipelines/cosmos/__init__.py +54 -0
- diffusers/pipelines/cosmos/pipeline_cosmos2_text2image.py +673 -0
- diffusers/pipelines/cosmos/pipeline_cosmos2_video2world.py +792 -0
- diffusers/pipelines/cosmos/pipeline_cosmos_text2world.py +664 -0
- diffusers/pipelines/cosmos/pipeline_cosmos_video2world.py +826 -0
- diffusers/pipelines/cosmos/pipeline_output.py +40 -0
- diffusers/pipelines/dance_diffusion/pipeline_dance_diffusion.py +5 -4
- diffusers/pipelines/ddim/pipeline_ddim.py +4 -4
- diffusers/pipelines/ddpm/pipeline_ddpm.py +1 -1
- diffusers/pipelines/deepfloyd_if/pipeline_if.py +10 -10
- diffusers/pipelines/deepfloyd_if/pipeline_if_img2img.py +10 -10
- diffusers/pipelines/deepfloyd_if/pipeline_if_img2img_superresolution.py +10 -10
- diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting.py +10 -10
- diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting_superresolution.py +10 -10
- diffusers/pipelines/deepfloyd_if/pipeline_if_superresolution.py +10 -10
- diffusers/pipelines/deprecated/alt_diffusion/pipeline_alt_diffusion.py +8 -8
- diffusers/pipelines/deprecated/alt_diffusion/pipeline_alt_diffusion_img2img.py +5 -5
- diffusers/pipelines/deprecated/audio_diffusion/mel.py +1 -1
- diffusers/pipelines/deprecated/audio_diffusion/pipeline_audio_diffusion.py +3 -3
- diffusers/pipelines/deprecated/latent_diffusion_uncond/pipeline_latent_diffusion_uncond.py +1 -1
- diffusers/pipelines/deprecated/pndm/pipeline_pndm.py +2 -2
- diffusers/pipelines/deprecated/repaint/pipeline_repaint.py +4 -3
- diffusers/pipelines/deprecated/score_sde_ve/pipeline_score_sde_ve.py +1 -1
- diffusers/pipelines/deprecated/spectrogram_diffusion/continuous_encoder.py +1 -1
- diffusers/pipelines/deprecated/spectrogram_diffusion/midi_utils.py +1 -1
- diffusers/pipelines/deprecated/spectrogram_diffusion/notes_encoder.py +1 -1
- diffusers/pipelines/deprecated/spectrogram_diffusion/pipeline_spectrogram_diffusion.py +1 -1
- diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_cycle_diffusion.py +7 -7
- diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_onnx_stable_diffusion_inpaint_legacy.py +9 -9
- diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_inpaint_legacy.py +10 -10
- diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_model_editing.py +10 -8
- diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_paradigms.py +5 -5
- diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_pix2pix_zero.py +18 -18
- diffusers/pipelines/deprecated/stochastic_karras_ve/pipeline_stochastic_karras_ve.py +1 -1
- diffusers/pipelines/deprecated/versatile_diffusion/modeling_text_unet.py +2 -2
- diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion.py +6 -6
- diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_dual_guided.py +5 -5
- diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_image_variation.py +5 -5
- diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_text_to_image.py +5 -5
- diffusers/pipelines/deprecated/vq_diffusion/pipeline_vq_diffusion.py +1 -1
- diffusers/pipelines/dit/pipeline_dit.py +1 -1
- diffusers/pipelines/easyanimate/pipeline_easyanimate.py +4 -4
- diffusers/pipelines/easyanimate/pipeline_easyanimate_control.py +4 -4
- diffusers/pipelines/easyanimate/pipeline_easyanimate_inpaint.py +7 -6
- diffusers/pipelines/flux/modeling_flux.py +1 -1
- diffusers/pipelines/flux/pipeline_flux.py +10 -17
- diffusers/pipelines/flux/pipeline_flux_control.py +6 -6
- diffusers/pipelines/flux/pipeline_flux_control_img2img.py +6 -6
- diffusers/pipelines/flux/pipeline_flux_control_inpaint.py +6 -6
- diffusers/pipelines/flux/pipeline_flux_controlnet.py +6 -6
- diffusers/pipelines/flux/pipeline_flux_controlnet_image_to_image.py +30 -22
- diffusers/pipelines/flux/pipeline_flux_controlnet_inpainting.py +2 -1
- diffusers/pipelines/flux/pipeline_flux_fill.py +6 -6
- diffusers/pipelines/flux/pipeline_flux_img2img.py +39 -6
- diffusers/pipelines/flux/pipeline_flux_inpaint.py +11 -6
- diffusers/pipelines/flux/pipeline_flux_prior_redux.py +1 -1
- diffusers/pipelines/free_init_utils.py +2 -2
- diffusers/pipelines/free_noise_utils.py +3 -3
- diffusers/pipelines/hidream_image/__init__.py +47 -0
- diffusers/pipelines/hidream_image/pipeline_hidream_image.py +1026 -0
- diffusers/pipelines/hidream_image/pipeline_output.py +35 -0
- diffusers/pipelines/hunyuan_video/__init__.py +2 -0
- diffusers/pipelines/hunyuan_video/pipeline_hunyuan_skyreels_image2video.py +8 -8
- diffusers/pipelines/hunyuan_video/pipeline_hunyuan_video.py +8 -8
- diffusers/pipelines/hunyuan_video/pipeline_hunyuan_video_framepack.py +1114 -0
- diffusers/pipelines/hunyuan_video/pipeline_hunyuan_video_image2video.py +71 -15
- diffusers/pipelines/hunyuan_video/pipeline_output.py +19 -0
- diffusers/pipelines/hunyuandit/pipeline_hunyuandit.py +8 -8
- diffusers/pipelines/i2vgen_xl/pipeline_i2vgen_xl.py +10 -8
- diffusers/pipelines/kandinsky/pipeline_kandinsky.py +6 -6
- diffusers/pipelines/kandinsky/pipeline_kandinsky_combined.py +34 -34
- diffusers/pipelines/kandinsky/pipeline_kandinsky_img2img.py +19 -26
- diffusers/pipelines/kandinsky/pipeline_kandinsky_inpaint.py +7 -7
- diffusers/pipelines/kandinsky/pipeline_kandinsky_prior.py +11 -11
- diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +6 -6
- diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +35 -35
- diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet.py +6 -6
- diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet_img2img.py +17 -39
- diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +17 -45
- diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpainting.py +7 -7
- diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +10 -10
- diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior_emb2emb.py +10 -10
- diffusers/pipelines/kandinsky3/pipeline_kandinsky3.py +7 -7
- diffusers/pipelines/kandinsky3/pipeline_kandinsky3_img2img.py +17 -38
- diffusers/pipelines/kolors/pipeline_kolors.py +10 -10
- diffusers/pipelines/kolors/pipeline_kolors_img2img.py +12 -12
- diffusers/pipelines/kolors/text_encoder.py +3 -3
- diffusers/pipelines/kolors/tokenizer.py +1 -1
- diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_img2img.py +2 -2
- diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_text2img.py +2 -2
- diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py +1 -1
- diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion_superresolution.py +3 -3
- diffusers/pipelines/latte/pipeline_latte.py +12 -12
- diffusers/pipelines/ledits_pp/pipeline_leditspp_stable_diffusion.py +13 -13
- diffusers/pipelines/ledits_pp/pipeline_leditspp_stable_diffusion_xl.py +17 -16
- diffusers/pipelines/ltx/__init__.py +4 -0
- diffusers/pipelines/ltx/modeling_latent_upsampler.py +188 -0
- diffusers/pipelines/ltx/pipeline_ltx.py +51 -6
- diffusers/pipelines/ltx/pipeline_ltx_condition.py +107 -29
- diffusers/pipelines/ltx/pipeline_ltx_image2video.py +50 -6
- diffusers/pipelines/ltx/pipeline_ltx_latent_upsample.py +277 -0
- diffusers/pipelines/lumina/pipeline_lumina.py +13 -13
- diffusers/pipelines/lumina2/pipeline_lumina2.py +10 -10
- diffusers/pipelines/marigold/marigold_image_processing.py +2 -2
- diffusers/pipelines/mochi/pipeline_mochi.py +6 -6
- diffusers/pipelines/musicldm/pipeline_musicldm.py +16 -13
- diffusers/pipelines/omnigen/pipeline_omnigen.py +13 -11
- diffusers/pipelines/omnigen/processor_omnigen.py +8 -3
- diffusers/pipelines/onnx_utils.py +15 -2
- diffusers/pipelines/pag/pag_utils.py +2 -2
- diffusers/pipelines/pag/pipeline_pag_controlnet_sd.py +12 -8
- diffusers/pipelines/pag/pipeline_pag_controlnet_sd_inpaint.py +7 -7
- diffusers/pipelines/pag/pipeline_pag_controlnet_sd_xl.py +10 -6
- diffusers/pipelines/pag/pipeline_pag_controlnet_sd_xl_img2img.py +14 -14
- diffusers/pipelines/pag/pipeline_pag_hunyuandit.py +8 -8
- diffusers/pipelines/pag/pipeline_pag_kolors.py +10 -10
- diffusers/pipelines/pag/pipeline_pag_pixart_sigma.py +11 -11
- diffusers/pipelines/pag/pipeline_pag_sana.py +18 -12
- diffusers/pipelines/pag/pipeline_pag_sd.py +8 -8
- diffusers/pipelines/pag/pipeline_pag_sd_3.py +7 -7
- diffusers/pipelines/pag/pipeline_pag_sd_3_img2img.py +7 -7
- diffusers/pipelines/pag/pipeline_pag_sd_animatediff.py +6 -6
- diffusers/pipelines/pag/pipeline_pag_sd_img2img.py +5 -5
- diffusers/pipelines/pag/pipeline_pag_sd_inpaint.py +8 -8
- diffusers/pipelines/pag/pipeline_pag_sd_xl.py +16 -15
- diffusers/pipelines/pag/pipeline_pag_sd_xl_img2img.py +18 -17
- diffusers/pipelines/pag/pipeline_pag_sd_xl_inpaint.py +12 -12
- diffusers/pipelines/paint_by_example/image_encoder.py +1 -1
- diffusers/pipelines/paint_by_example/pipeline_paint_by_example.py +8 -7
- diffusers/pipelines/pia/pipeline_pia.py +8 -6
- diffusers/pipelines/pipeline_flax_utils.py +3 -4
- diffusers/pipelines/pipeline_loading_utils.py +89 -13
- diffusers/pipelines/pipeline_utils.py +105 -33
- diffusers/pipelines/pixart_alpha/pipeline_pixart_alpha.py +11 -11
- diffusers/pipelines/pixart_alpha/pipeline_pixart_sigma.py +11 -11
- diffusers/pipelines/sana/__init__.py +4 -0
- diffusers/pipelines/sana/pipeline_sana.py +23 -21
- diffusers/pipelines/sana/pipeline_sana_controlnet.py +1106 -0
- diffusers/pipelines/sana/pipeline_sana_sprint.py +23 -19
- diffusers/pipelines/sana/pipeline_sana_sprint_img2img.py +981 -0
- diffusers/pipelines/semantic_stable_diffusion/pipeline_semantic_stable_diffusion.py +7 -6
- diffusers/pipelines/shap_e/camera.py +1 -1
- diffusers/pipelines/shap_e/pipeline_shap_e.py +1 -1
- diffusers/pipelines/shap_e/pipeline_shap_e_img2img.py +1 -1
- diffusers/pipelines/shap_e/renderer.py +3 -3
- diffusers/pipelines/stable_audio/modeling_stable_audio.py +1 -1
- diffusers/pipelines/stable_audio/pipeline_stable_audio.py +5 -5
- diffusers/pipelines/stable_cascade/pipeline_stable_cascade.py +8 -8
- diffusers/pipelines/stable_cascade/pipeline_stable_cascade_combined.py +13 -13
- diffusers/pipelines/stable_cascade/pipeline_stable_cascade_prior.py +9 -9
- diffusers/pipelines/stable_diffusion/__init__.py +0 -7
- diffusers/pipelines/stable_diffusion/clip_image_project_model.py +1 -1
- diffusers/pipelines/stable_diffusion/convert_from_ckpt.py +11 -4
- diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion.py +1 -1
- diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_img2img.py +1 -1
- diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_inpaint.py +1 -1
- diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion.py +10 -10
- diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_img2img.py +10 -10
- diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_inpaint.py +10 -10
- diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_upscale.py +9 -9
- diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +8 -8
- diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_depth2img.py +5 -5
- diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_image_variation.py +5 -5
- diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +5 -5
- diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +5 -5
- diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_instruct_pix2pix.py +5 -5
- diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_latent_upscale.py +4 -4
- diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_upscale.py +5 -5
- diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py +7 -7
- diffusers/pipelines/stable_diffusion/pipeline_stable_unclip_img2img.py +5 -5
- diffusers/pipelines/stable_diffusion/safety_checker.py +1 -1
- diffusers/pipelines/stable_diffusion/safety_checker_flax.py +1 -1
- diffusers/pipelines/stable_diffusion/stable_unclip_image_normalizer.py +1 -1
- diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +7 -7
- diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +7 -7
- diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_inpaint.py +7 -7
- diffusers/pipelines/stable_diffusion_attend_and_excite/pipeline_stable_diffusion_attend_and_excite.py +12 -8
- diffusers/pipelines/stable_diffusion_diffedit/pipeline_stable_diffusion_diffedit.py +15 -9
- diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen.py +11 -9
- diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen_text_image.py +11 -9
- diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_k_diffusion.py +18 -12
- diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_xl_k_diffusion.py +11 -8
- diffusers/pipelines/stable_diffusion_ldm3d/pipeline_stable_diffusion_ldm3d.py +11 -8
- diffusers/pipelines/stable_diffusion_panorama/pipeline_stable_diffusion_panorama.py +15 -12
- diffusers/pipelines/stable_diffusion_safe/pipeline_stable_diffusion_safe.py +8 -6
- diffusers/pipelines/stable_diffusion_safe/safety_checker.py +1 -1
- diffusers/pipelines/stable_diffusion_sag/pipeline_stable_diffusion_sag.py +15 -11
- diffusers/pipelines/stable_diffusion_xl/pipeline_flax_stable_diffusion_xl.py +1 -1
- diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +16 -15
- diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +18 -17
- diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +12 -12
- diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_instruct_pix2pix.py +16 -15
- diffusers/pipelines/stable_video_diffusion/pipeline_stable_video_diffusion.py +3 -3
- diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_adapter.py +12 -12
- diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_xl_adapter.py +18 -17
- diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth.py +12 -7
- diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth_img2img.py +12 -7
- diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero.py +15 -13
- diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero_sdxl.py +24 -21
- diffusers/pipelines/unclip/pipeline_unclip.py +4 -3
- diffusers/pipelines/unclip/pipeline_unclip_image_variation.py +4 -3
- diffusers/pipelines/unclip/text_proj.py +2 -2
- diffusers/pipelines/unidiffuser/modeling_text_decoder.py +2 -2
- diffusers/pipelines/unidiffuser/modeling_uvit.py +1 -1
- diffusers/pipelines/unidiffuser/pipeline_unidiffuser.py +8 -7
- diffusers/pipelines/visualcloze/__init__.py +52 -0
- diffusers/pipelines/visualcloze/pipeline_visualcloze_combined.py +444 -0
- diffusers/pipelines/visualcloze/pipeline_visualcloze_generation.py +952 -0
- diffusers/pipelines/visualcloze/visualcloze_utils.py +251 -0
- diffusers/pipelines/wan/__init__.py +2 -0
- diffusers/pipelines/wan/pipeline_wan.py +17 -12
- diffusers/pipelines/wan/pipeline_wan_i2v.py +42 -20
- diffusers/pipelines/wan/pipeline_wan_vace.py +976 -0
- diffusers/pipelines/wan/pipeline_wan_video2video.py +18 -18
- diffusers/pipelines/wuerstchen/modeling_paella_vq_model.py +1 -1
- diffusers/pipelines/wuerstchen/modeling_wuerstchen_diffnext.py +1 -1
- diffusers/pipelines/wuerstchen/modeling_wuerstchen_prior.py +1 -1
- diffusers/pipelines/wuerstchen/pipeline_wuerstchen.py +8 -8
- diffusers/pipelines/wuerstchen/pipeline_wuerstchen_combined.py +16 -15
- diffusers/pipelines/wuerstchen/pipeline_wuerstchen_prior.py +6 -6
- diffusers/quantizers/__init__.py +179 -1
- diffusers/quantizers/base.py +6 -1
- diffusers/quantizers/bitsandbytes/bnb_quantizer.py +4 -0
- diffusers/quantizers/bitsandbytes/utils.py +10 -7
- diffusers/quantizers/gguf/gguf_quantizer.py +13 -4
- diffusers/quantizers/gguf/utils.py +16 -13
- diffusers/quantizers/quantization_config.py +18 -16
- diffusers/quantizers/quanto/quanto_quantizer.py +4 -0
- diffusers/quantizers/torchao/torchao_quantizer.py +5 -1
- diffusers/schedulers/__init__.py +3 -1
- diffusers/schedulers/deprecated/scheduling_karras_ve.py +4 -3
- diffusers/schedulers/deprecated/scheduling_sde_vp.py +1 -1
- diffusers/schedulers/scheduling_consistency_models.py +1 -1
- diffusers/schedulers/scheduling_cosine_dpmsolver_multistep.py +10 -5
- diffusers/schedulers/scheduling_ddim.py +8 -8
- diffusers/schedulers/scheduling_ddim_cogvideox.py +5 -5
- diffusers/schedulers/scheduling_ddim_flax.py +6 -6
- diffusers/schedulers/scheduling_ddim_inverse.py +6 -6
- diffusers/schedulers/scheduling_ddim_parallel.py +22 -22
- diffusers/schedulers/scheduling_ddpm.py +9 -9
- diffusers/schedulers/scheduling_ddpm_flax.py +7 -7
- diffusers/schedulers/scheduling_ddpm_parallel.py +18 -18
- diffusers/schedulers/scheduling_ddpm_wuerstchen.py +2 -2
- diffusers/schedulers/scheduling_deis_multistep.py +8 -8
- diffusers/schedulers/scheduling_dpm_cogvideox.py +5 -5
- diffusers/schedulers/scheduling_dpmsolver_multistep.py +12 -12
- diffusers/schedulers/scheduling_dpmsolver_multistep_flax.py +22 -20
- diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py +11 -11
- diffusers/schedulers/scheduling_dpmsolver_sde.py +2 -2
- diffusers/schedulers/scheduling_dpmsolver_singlestep.py +13 -13
- diffusers/schedulers/scheduling_edm_dpmsolver_multistep.py +13 -8
- diffusers/schedulers/scheduling_edm_euler.py +20 -11
- diffusers/schedulers/scheduling_euler_ancestral_discrete.py +3 -3
- diffusers/schedulers/scheduling_euler_discrete.py +3 -3
- diffusers/schedulers/scheduling_euler_discrete_flax.py +3 -3
- diffusers/schedulers/scheduling_flow_match_euler_discrete.py +20 -5
- diffusers/schedulers/scheduling_flow_match_heun_discrete.py +1 -1
- diffusers/schedulers/scheduling_flow_match_lcm.py +561 -0
- diffusers/schedulers/scheduling_heun_discrete.py +2 -2
- diffusers/schedulers/scheduling_ipndm.py +2 -2
- diffusers/schedulers/scheduling_k_dpm_2_ancestral_discrete.py +2 -2
- diffusers/schedulers/scheduling_k_dpm_2_discrete.py +2 -2
- diffusers/schedulers/scheduling_karras_ve_flax.py +5 -5
- diffusers/schedulers/scheduling_lcm.py +3 -3
- diffusers/schedulers/scheduling_lms_discrete.py +2 -2
- diffusers/schedulers/scheduling_lms_discrete_flax.py +1 -1
- diffusers/schedulers/scheduling_pndm.py +4 -4
- diffusers/schedulers/scheduling_pndm_flax.py +4 -4
- diffusers/schedulers/scheduling_repaint.py +9 -9
- diffusers/schedulers/scheduling_sasolver.py +15 -15
- diffusers/schedulers/scheduling_scm.py +1 -1
- diffusers/schedulers/scheduling_sde_ve.py +1 -1
- diffusers/schedulers/scheduling_sde_ve_flax.py +2 -2
- diffusers/schedulers/scheduling_tcd.py +3 -3
- diffusers/schedulers/scheduling_unclip.py +5 -5
- diffusers/schedulers/scheduling_unipc_multistep.py +11 -11
- diffusers/schedulers/scheduling_utils.py +1 -1
- diffusers/schedulers/scheduling_utils_flax.py +1 -1
- diffusers/schedulers/scheduling_vq_diffusion.py +1 -1
- diffusers/training_utils.py +13 -5
- diffusers/utils/__init__.py +5 -0
- diffusers/utils/accelerate_utils.py +1 -1
- diffusers/utils/doc_utils.py +1 -1
- diffusers/utils/dummy_pt_objects.py +120 -0
- diffusers/utils/dummy_torch_and_transformers_objects.py +225 -0
- diffusers/utils/dynamic_modules_utils.py +21 -3
- diffusers/utils/export_utils.py +1 -1
- diffusers/utils/import_utils.py +81 -18
- diffusers/utils/logging.py +1 -1
- diffusers/utils/outputs.py +2 -1
- diffusers/utils/peft_utils.py +91 -8
- diffusers/utils/state_dict_utils.py +20 -3
- diffusers/utils/testing_utils.py +59 -7
- diffusers/utils/torch_utils.py +25 -5
- diffusers/video_processor.py +2 -2
- {diffusers-0.33.0.dist-info → diffusers-0.34.0.dist-info}/METADATA +3 -3
- diffusers-0.34.0.dist-info/RECORD +639 -0
- diffusers-0.33.0.dist-info/RECORD +0 -608
- {diffusers-0.33.0.dist-info → diffusers-0.34.0.dist-info}/LICENSE +0 -0
- {diffusers-0.33.0.dist-info → diffusers-0.34.0.dist-info}/WHEEL +0 -0
- {diffusers-0.33.0.dist-info → diffusers-0.34.0.dist-info}/entry_points.txt +0 -0
- {diffusers-0.33.0.dist-info → diffusers-0.34.0.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
|
|
1
1
|
# Copyright 2022 The Music Spectrogram Diffusion Authors.
|
2
|
-
# Copyright
|
2
|
+
# Copyright 2025 The HuggingFace Team. All rights reserved.
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
5
|
# you may not use this file except in compliance with the License.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Copyright 2022 The Music Spectrogram Diffusion Authors.
|
2
|
-
# Copyright
|
2
|
+
# Copyright 2025 The HuggingFace Team. All rights reserved.
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
5
|
# you may not use this file except in compliance with the License.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Copyright 2022 The Music Spectrogram Diffusion Authors.
|
2
|
-
# Copyright
|
2
|
+
# Copyright 2025 The HuggingFace Team. All rights reserved.
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
5
|
# you may not use this file except in compliance with the License.
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2025 The HuggingFace Team. All rights reserved.
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -115,7 +115,7 @@ def compute_noise(scheduler, prev_latents, latents, timestep, noise_pred, eta):
|
|
115
115
|
beta_prod_t = 1 - alpha_prod_t
|
116
116
|
|
117
117
|
# 3. compute predicted original sample from predicted noise also called
|
118
|
-
# "predicted x_0" of formula (12) from https://
|
118
|
+
# "predicted x_0" of formula (12) from https://huggingface.co/papers/2010.02502
|
119
119
|
pred_original_sample = (latents - beta_prod_t ** (0.5) * noise_pred) / alpha_prod_t ** (0.5)
|
120
120
|
|
121
121
|
# 4. Clip "predicted x_0"
|
@@ -127,7 +127,7 @@ def compute_noise(scheduler, prev_latents, latents, timestep, noise_pred, eta):
|
|
127
127
|
variance = scheduler._get_variance(timestep, prev_timestep)
|
128
128
|
std_dev_t = eta * variance ** (0.5)
|
129
129
|
|
130
|
-
# 6. compute "direction pointing to x_t" of formula (12) from https://
|
130
|
+
# 6. compute "direction pointing to x_t" of formula (12) from https://huggingface.co/papers/2010.02502
|
131
131
|
pred_sample_direction = (1 - alpha_prod_t_prev - std_dev_t**2) ** (0.5) * noise_pred
|
132
132
|
|
133
133
|
noise = (prev_latents - (alpha_prod_t_prev ** (0.5) * pred_original_sample + pred_sample_direction)) / (
|
@@ -522,7 +522,7 @@ class CycleDiffusionPipeline(DiffusionPipeline, TextualInversionLoaderMixin, Sta
|
|
522
522
|
def prepare_extra_step_kwargs(self, generator, eta):
|
523
523
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
524
524
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
525
|
-
# eta corresponds to η in DDIM paper: https://
|
525
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
526
526
|
# and should be between [0, 1]
|
527
527
|
|
528
528
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -678,8 +678,8 @@ class CycleDiffusionPipeline(DiffusionPipeline, TextualInversionLoaderMixin, Sta
|
|
678
678
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
679
679
|
The number of images to generate per prompt.
|
680
680
|
eta (`float`, *optional*, defaults to 0.0):
|
681
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
682
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
681
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
682
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
683
683
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
684
684
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
685
685
|
generation deterministic.
|
@@ -790,7 +790,7 @@ class CycleDiffusionPipeline(DiffusionPipeline, TextualInversionLoaderMixin, Sta
|
|
790
790
|
batch_size = 1 if isinstance(prompt, str) else len(prompt)
|
791
791
|
device = self._execution_device
|
792
792
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
793
|
-
# of the Imagen paper: https://
|
793
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
794
794
|
# corresponds to doing no classifier free guidance.
|
795
795
|
do_classifier_free_guidance = guidance_scale > 1.0
|
796
796
|
|
@@ -337,19 +337,19 @@ class OnnxStableDiffusionInpaintPipelineLegacy(DiffusionPipeline):
|
|
337
337
|
The number of denoising steps. More denoising steps usually lead to a higher quality image at the
|
338
338
|
expense of slower inference. This parameter will be modulated by `strength`.
|
339
339
|
guidance_scale (`float`, *optional*, defaults to 7.5):
|
340
|
-
Guidance scale as defined in [Classifier-Free Diffusion
|
341
|
-
`guidance_scale` is defined as `w` of equation 2.
|
342
|
-
Paper](https://
|
343
|
-
1`. Higher guidance scale encourages to generate images that are closely linked to
|
344
|
-
usually at the expense of lower image quality.
|
340
|
+
Guidance scale as defined in [Classifier-Free Diffusion
|
341
|
+
Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
|
342
|
+
of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
|
343
|
+
`guidance_scale > 1`. Higher guidance scale encourages to generate images that are closely linked to
|
344
|
+
the text `prompt`, usually at the expense of lower image quality.
|
345
345
|
negative_prompt (`str` or `List[str]`, *optional*):
|
346
346
|
The prompt or prompts not to guide the image generation. Ignored when not using guidance (i.e., ignored
|
347
347
|
if `guidance_scale` is less than `1`).
|
348
348
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
349
349
|
The number of images to generate per prompt.
|
350
350
|
eta (`float`, *optional*, defaults to 0.0):
|
351
|
-
Corresponds to parameter eta (?) in the DDIM paper: https://
|
352
|
-
[`schedulers.DDIMScheduler`], will be ignored for others.
|
351
|
+
Corresponds to parameter eta (?) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
|
352
|
+
applies to [`schedulers.DDIMScheduler`], will be ignored for others.
|
353
353
|
generator (`np.random.RandomState`, *optional*):
|
354
354
|
A np.random.RandomState to make generation deterministic.
|
355
355
|
prompt_embeds (`np.ndarray`, *optional*):
|
@@ -404,7 +404,7 @@ class OnnxStableDiffusionInpaintPipelineLegacy(DiffusionPipeline):
|
|
404
404
|
image = preprocess(image)
|
405
405
|
|
406
406
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
407
|
-
# of the Imagen paper: https://
|
407
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
408
408
|
# corresponds to doing no classifier free guidance.
|
409
409
|
do_classifier_free_guidance = guidance_scale > 1.0
|
410
410
|
|
@@ -455,7 +455,7 @@ class OnnxStableDiffusionInpaintPipelineLegacy(DiffusionPipeline):
|
|
455
455
|
|
456
456
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
457
457
|
# eta (?) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
458
|
-
# eta corresponds to ? in DDIM paper: https://
|
458
|
+
# eta corresponds to ? in DDIM paper: https://huggingface.co/papers/2010.02502
|
459
459
|
# and should be between [0, 1]
|
460
460
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
461
461
|
extra_step_kwargs = {}
|
diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_inpaint_legacy.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2025 The HuggingFace Team. All rights reserved.
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -468,7 +468,7 @@ class StableDiffusionInpaintPipelineLegacy(
|
|
468
468
|
def prepare_extra_step_kwargs(self, generator, eta):
|
469
469
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
470
470
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
471
|
-
# eta corresponds to η in DDIM paper: https://
|
471
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
472
472
|
# and should be between [0, 1]
|
473
473
|
|
474
474
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -605,11 +605,11 @@ class StableDiffusionInpaintPipelineLegacy(
|
|
605
605
|
The reference number of denoising steps. More denoising steps usually lead to a higher quality image at
|
606
606
|
the expense of slower inference. This parameter will be modulated by `strength`, as explained above.
|
607
607
|
guidance_scale (`float`, *optional*, defaults to 7.5):
|
608
|
-
Guidance scale as defined in [Classifier-Free Diffusion
|
609
|
-
`guidance_scale` is defined as `w` of equation 2.
|
610
|
-
Paper](https://
|
611
|
-
1`. Higher guidance scale encourages to generate images that are closely linked to
|
612
|
-
usually at the expense of lower image quality.
|
608
|
+
Guidance scale as defined in [Classifier-Free Diffusion
|
609
|
+
Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
|
610
|
+
of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
|
611
|
+
`guidance_scale > 1`. Higher guidance scale encourages to generate images that are closely linked to
|
612
|
+
the text `prompt`, usually at the expense of lower image quality.
|
613
613
|
negative_prompt (`str` or `List[str]`, *optional*):
|
614
614
|
The prompt or prompts not to guide the image generation. If not defined, one has to pass
|
615
615
|
`negative_prompt_embeds`. instead. Ignored when not using guidance (i.e., ignored if `guidance_scale`
|
@@ -620,8 +620,8 @@ class StableDiffusionInpaintPipelineLegacy(
|
|
620
620
|
Use predicted noise instead of random noise when constructing noisy versions of the original image in
|
621
621
|
the reverse diffusion process
|
622
622
|
eta (`float`, *optional*, defaults to 0.0):
|
623
|
-
Corresponds to parameter eta (η) in the DDIM paper: https://
|
624
|
-
[`schedulers.DDIMScheduler`], will be ignored for others.
|
623
|
+
Corresponds to parameter eta (η) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
|
624
|
+
applies to [`schedulers.DDIMScheduler`], will be ignored for others.
|
625
625
|
generator (`torch.Generator`, *optional*):
|
626
626
|
One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
|
627
627
|
to make generation deterministic.
|
@@ -672,7 +672,7 @@ class StableDiffusionInpaintPipelineLegacy(
|
|
672
672
|
|
673
673
|
device = self._execution_device
|
674
674
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
675
|
-
# of the Imagen paper: https://
|
675
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
676
676
|
# corresponds to doing no classifier free guidance.
|
677
677
|
do_classifier_free_guidance = guidance_scale > 1.0
|
678
678
|
|
diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_model_editing.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2025 TIME Authors and The HuggingFace Team. All rights reserved."
|
2
2
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
3
3
|
# you may not use this file except in compliance with the License.
|
4
4
|
# You may obtain a copy of the License at
|
@@ -402,7 +402,7 @@ class StableDiffusionModelEditingPipeline(
|
|
402
402
|
def prepare_extra_step_kwargs(self, generator, eta):
|
403
403
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
404
404
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
405
|
-
# eta corresponds to η in DDIM paper: https://
|
405
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
406
406
|
# and should be between [0, 1]
|
407
407
|
|
408
408
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -500,7 +500,8 @@ class StableDiffusionModelEditingPipeline(
|
|
500
500
|
restart_params: bool = True,
|
501
501
|
):
|
502
502
|
r"""
|
503
|
-
Apply model editing via closed-form solution (see Eq. 5 in the TIME
|
503
|
+
Apply model editing via closed-form solution (see Eq. 5 in the TIME
|
504
|
+
[paper](https://huggingface.co/papers/2303.08084)).
|
504
505
|
|
505
506
|
Args:
|
506
507
|
source_prompt (`str`):
|
@@ -509,7 +510,8 @@ class StableDiffusionModelEditingPipeline(
|
|
509
510
|
The destination prompt. Must contain all words from `source_prompt` with additional ones to specify the
|
510
511
|
target edit.
|
511
512
|
lamb (`float`, *optional*, defaults to 0.1):
|
512
|
-
The lambda parameter specifying the regularization
|
513
|
+
The lambda parameter specifying the regularization intensity. Smaller values increase the editing
|
514
|
+
power.
|
513
515
|
restart_params (`bool`, *optional*, defaults to True):
|
514
516
|
Restart the model parameters to their pre-trained version before editing. This is done to avoid edit
|
515
517
|
compounding. When it is `False`, edits accumulate.
|
@@ -574,7 +576,7 @@ class StableDiffusionModelEditingPipeline(
|
|
574
576
|
idxs_replace.append(76)
|
575
577
|
idxs_replaces.append(idxs_replace)
|
576
578
|
|
577
|
-
# prepare batch: for each pair of
|
579
|
+
# prepare batch: for each pair of sentences, old context and new values
|
578
580
|
contexts, valuess = [], []
|
579
581
|
for old_emb, new_emb, idxs_replace in zip(old_embs, new_embs, idxs_replaces):
|
580
582
|
context = old_emb.detach()
|
@@ -653,8 +655,8 @@ class StableDiffusionModelEditingPipeline(
|
|
653
655
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
654
656
|
The number of images to generate per prompt.
|
655
657
|
eta (`float`, *optional*, defaults to 0.0):
|
656
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
657
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
658
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
659
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
658
660
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
659
661
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
660
662
|
generation deterministic.
|
@@ -731,7 +733,7 @@ class StableDiffusionModelEditingPipeline(
|
|
731
733
|
|
732
734
|
device = self._execution_device
|
733
735
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
734
|
-
# of the Imagen paper: https://
|
736
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
735
737
|
# corresponds to doing no classifier free guidance.
|
736
738
|
do_classifier_free_guidance = guidance_scale > 1.0
|
737
739
|
|
diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_paradigms.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2025 ParaDiGMS authors and The HuggingFace Team. All rights reserved.
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -385,7 +385,7 @@ class StableDiffusionParadigmsPipeline(
|
|
385
385
|
def prepare_extra_step_kwargs(self, generator, eta):
|
386
386
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
387
387
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
388
|
-
# eta corresponds to η in DDIM paper: https://
|
388
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
389
389
|
# and should be between [0, 1]
|
390
390
|
|
391
391
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -537,8 +537,8 @@ class StableDiffusionParadigmsPipeline(
|
|
537
537
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
538
538
|
The number of images to generate per prompt.
|
539
539
|
eta (`float`, *optional*, defaults to 0.0):
|
540
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
541
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
540
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
541
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
542
542
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
543
543
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
544
544
|
generation deterministic.
|
@@ -599,7 +599,7 @@ class StableDiffusionParadigmsPipeline(
|
|
599
599
|
|
600
600
|
device = self._execution_device
|
601
601
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
602
|
-
# of the Imagen paper: https://
|
602
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
603
603
|
# corresponds to doing no classifier free guidance.
|
604
604
|
do_classifier_free_guidance = guidance_scale > 1.0
|
605
605
|
|
diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_pix2pix_zero.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2025 Pix2Pix Zero Authors and The HuggingFace Team. All rights reserved.
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -616,7 +616,7 @@ class StableDiffusionPix2PixZeroPipeline(DiffusionPipeline, StableDiffusionMixin
|
|
616
616
|
def prepare_extra_step_kwargs(self, generator, eta):
|
617
617
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
618
618
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
619
|
-
# eta corresponds to η in DDIM paper: https://
|
619
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
620
620
|
# and should be between [0, 1]
|
621
621
|
|
622
622
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -848,10 +848,10 @@ class StableDiffusionPix2PixZeroPipeline(DiffusionPipeline, StableDiffusionMixin
|
|
848
848
|
instead.
|
849
849
|
source_embeds (`torch.Tensor`):
|
850
850
|
Source concept embeddings. Generation of the embeddings as per the [original
|
851
|
-
paper](https://
|
851
|
+
paper](https://huggingface.co/papers/2302.03027). Used in discovering the edit direction.
|
852
852
|
target_embeds (`torch.Tensor`):
|
853
853
|
Target concept embeddings. Generation of the embeddings as per the [original
|
854
|
-
paper](https://
|
854
|
+
paper](https://huggingface.co/papers/2302.03027). Used in discovering the edit direction.
|
855
855
|
height (`int`, *optional*, defaults to self.unet.config.sample_size * self.vae_scale_factor):
|
856
856
|
The height in pixels of the generated image.
|
857
857
|
width (`int`, *optional*, defaults to self.unet.config.sample_size * self.vae_scale_factor):
|
@@ -860,11 +860,11 @@ class StableDiffusionPix2PixZeroPipeline(DiffusionPipeline, StableDiffusionMixin
|
|
860
860
|
The number of denoising steps. More denoising steps usually lead to a higher quality image at the
|
861
861
|
expense of slower inference.
|
862
862
|
guidance_scale (`float`, *optional*, defaults to 7.5):
|
863
|
-
Guidance scale as defined in [Classifier-Free Diffusion
|
864
|
-
`guidance_scale` is defined as `w` of equation 2.
|
865
|
-
Paper](https://
|
866
|
-
1`. Higher guidance scale encourages to generate images that are closely linked to
|
867
|
-
usually at the expense of lower image quality.
|
863
|
+
Guidance scale as defined in [Classifier-Free Diffusion
|
864
|
+
Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
|
865
|
+
of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
|
866
|
+
`guidance_scale > 1`. Higher guidance scale encourages to generate images that are closely linked to
|
867
|
+
the text `prompt`, usually at the expense of lower image quality.
|
868
868
|
negative_prompt (`str` or `List[str]`, *optional*):
|
869
869
|
The prompt or prompts not to guide the image generation. If not defined, one has to pass
|
870
870
|
`negative_prompt_embeds` instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is
|
@@ -872,8 +872,8 @@ class StableDiffusionPix2PixZeroPipeline(DiffusionPipeline, StableDiffusionMixin
|
|
872
872
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
873
873
|
The number of images to generate per prompt.
|
874
874
|
eta (`float`, *optional*, defaults to 0.0):
|
875
|
-
Corresponds to parameter eta (η) in the DDIM paper: https://
|
876
|
-
[`schedulers.DDIMScheduler`], will be ignored for others.
|
875
|
+
Corresponds to parameter eta (η) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
|
876
|
+
applies to [`schedulers.DDIMScheduler`], will be ignored for others.
|
877
877
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
878
878
|
One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
|
879
879
|
to make generation deterministic.
|
@@ -939,7 +939,7 @@ class StableDiffusionPix2PixZeroPipeline(DiffusionPipeline, StableDiffusionMixin
|
|
939
939
|
|
940
940
|
device = self._execution_device
|
941
941
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
942
|
-
# of the Imagen paper: https://
|
942
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
943
943
|
# corresponds to doing no classifier free guidance.
|
944
944
|
do_classifier_free_guidance = guidance_scale > 1.0
|
945
945
|
|
@@ -1140,11 +1140,11 @@ class StableDiffusionPix2PixZeroPipeline(DiffusionPipeline, StableDiffusionMixin
|
|
1140
1140
|
The number of denoising steps. More denoising steps usually lead to a higher quality image at the
|
1141
1141
|
expense of slower inference.
|
1142
1142
|
guidance_scale (`float`, *optional*, defaults to 1):
|
1143
|
-
Guidance scale as defined in [Classifier-Free Diffusion
|
1144
|
-
`guidance_scale` is defined as `w` of equation 2.
|
1145
|
-
Paper](https://
|
1146
|
-
1`. Higher guidance scale encourages to generate images that are closely linked to
|
1147
|
-
usually at the expense of lower image quality.
|
1143
|
+
Guidance scale as defined in [Classifier-Free Diffusion
|
1144
|
+
Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
|
1145
|
+
of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
|
1146
|
+
`guidance_scale > 1`. Higher guidance scale encourages to generate images that are closely linked to
|
1147
|
+
the text `prompt`, usually at the expense of lower image quality.
|
1148
1148
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
1149
1149
|
One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
|
1150
1150
|
to make generation deterministic.
|
@@ -1199,7 +1199,7 @@ class StableDiffusionPix2PixZeroPipeline(DiffusionPipeline, StableDiffusionMixin
|
|
1199
1199
|
|
1200
1200
|
device = self._execution_device
|
1201
1201
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
1202
|
-
# of the Imagen paper: https://
|
1202
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
1203
1203
|
# corresponds to doing no classifier free guidance.
|
1204
1204
|
do_classifier_free_guidance = guidance_scale > 1.0
|
1205
1205
|
|
@@ -964,7 +964,7 @@ class UNetFlatConditionModel(ModelMixin, ConfigMixin):
|
|
964
964
|
fn_recursive_set_attention_slice(module, reversed_slice_size)
|
965
965
|
|
966
966
|
def enable_freeu(self, s1, s2, b1, b2):
|
967
|
-
r"""Enables the FreeU mechanism from https://
|
967
|
+
r"""Enables the FreeU mechanism from https://huggingface.co/papers/2309.11497.
|
968
968
|
|
969
969
|
The suffixes after the scaling factors represent the stage blocks where they are being applied.
|
970
970
|
|
@@ -1097,7 +1097,7 @@ class UNetFlatConditionModel(ModelMixin, ConfigMixin):
|
|
1097
1097
|
cross_attention_kwargs (`dict`, *optional*):
|
1098
1098
|
A kwargs dictionary that if specified is passed along to the [`AttnProcessor`].
|
1099
1099
|
added_cond_kwargs: (`dict`, *optional*):
|
1100
|
-
A kwargs dictionary
|
1100
|
+
A kwargs dictionary containing additional embeddings that if specified are added to the embeddings that
|
1101
1101
|
are passed along to the UNet blocks.
|
1102
1102
|
down_block_additional_residuals (`tuple` of `torch.Tensor`, *optional*):
|
1103
1103
|
additional residuals to be added to UNet long skip connections from down blocks to up blocks for
|
@@ -118,8 +118,8 @@ class VersatileDiffusionPipeline(DiffusionPipeline):
|
|
118
118
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
119
119
|
The number of images to generate per prompt.
|
120
120
|
eta (`float`, *optional*, defaults to 0.0):
|
121
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
122
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
121
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
122
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
123
123
|
generator (`torch.Generator`, *optional*):
|
124
124
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
125
125
|
generation deterministic.
|
@@ -230,8 +230,8 @@ class VersatileDiffusionPipeline(DiffusionPipeline):
|
|
230
230
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
231
231
|
The number of images to generate per prompt.
|
232
232
|
eta (`float`, *optional*, defaults to 0.0):
|
233
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
234
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
233
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
234
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
235
235
|
generator (`torch.Generator`, *optional*):
|
236
236
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
237
237
|
generation deterministic.
|
@@ -339,8 +339,8 @@ class VersatileDiffusionPipeline(DiffusionPipeline):
|
|
339
339
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
340
340
|
The number of images to generate per prompt.
|
341
341
|
eta (`float`, *optional*, defaults to 0.0):
|
342
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
343
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
342
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
343
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
344
344
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
345
345
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
346
346
|
generation deterministic.
|
diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_dual_guided.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2025 The HuggingFace Team. All rights reserved.
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -315,7 +315,7 @@ class VersatileDiffusionDualGuidedPipeline(DiffusionPipeline):
|
|
315
315
|
def prepare_extra_step_kwargs(self, generator, eta):
|
316
316
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
317
317
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
318
|
-
# eta corresponds to η in DDIM paper: https://
|
318
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
319
319
|
# and should be between [0, 1]
|
320
320
|
|
321
321
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -424,8 +424,8 @@ class VersatileDiffusionDualGuidedPipeline(DiffusionPipeline):
|
|
424
424
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
425
425
|
The number of images to generate per prompt.
|
426
426
|
eta (`float`, *optional*, defaults to 0.0):
|
427
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
428
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
427
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
428
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
429
429
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
430
430
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
431
431
|
generation deterministic.
|
@@ -493,7 +493,7 @@ class VersatileDiffusionDualGuidedPipeline(DiffusionPipeline):
|
|
493
493
|
batch_size = len(prompt)
|
494
494
|
device = self._execution_device
|
495
495
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
496
|
-
# of the Imagen paper: https://
|
496
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
497
497
|
# corresponds to doing no classifier free guidance.
|
498
498
|
do_classifier_free_guidance = guidance_scale > 1.0
|
499
499
|
|
diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_image_variation.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2025 The HuggingFace Team. All rights reserved.
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -175,7 +175,7 @@ class VersatileDiffusionImageVariationPipeline(DiffusionPipeline):
|
|
175
175
|
def prepare_extra_step_kwargs(self, generator, eta):
|
176
176
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
177
177
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
178
|
-
# eta corresponds to η in DDIM paper: https://
|
178
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
179
179
|
# and should be between [0, 1]
|
180
180
|
|
181
181
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -276,8 +276,8 @@ class VersatileDiffusionImageVariationPipeline(DiffusionPipeline):
|
|
276
276
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
277
277
|
The number of images to generate per prompt.
|
278
278
|
eta (`float`, *optional*, defaults to 0.0):
|
279
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
280
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
279
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
280
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
281
281
|
generator (`torch.Generator`, *optional*):
|
282
282
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
283
283
|
generation deterministic.
|
@@ -338,7 +338,7 @@ class VersatileDiffusionImageVariationPipeline(DiffusionPipeline):
|
|
338
338
|
batch_size = 1 if isinstance(image, PIL.Image.Image) else len(image)
|
339
339
|
device = self._execution_device
|
340
340
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
341
|
-
# of the Imagen paper: https://
|
341
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
342
342
|
# corresponds to doing no classifier free guidance.
|
343
343
|
do_classifier_free_guidance = guidance_scale > 1.0
|
344
344
|
|
diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_text_to_image.py
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2025 The HuggingFace Team. All rights reserved.
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -232,7 +232,7 @@ class VersatileDiffusionTextToImagePipeline(DiffusionPipeline):
|
|
232
232
|
def prepare_extra_step_kwargs(self, generator, eta):
|
233
233
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
234
234
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
235
|
-
# eta corresponds to η in DDIM paper: https://
|
235
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
236
236
|
# and should be between [0, 1]
|
237
237
|
|
238
238
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -362,8 +362,8 @@ class VersatileDiffusionTextToImagePipeline(DiffusionPipeline):
|
|
362
362
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
363
363
|
The number of images to generate per prompt.
|
364
364
|
eta (`float`, *optional*, defaults to 0.0):
|
365
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
366
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
365
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
366
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
367
367
|
generator (`torch.Generator`, *optional*):
|
368
368
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
369
369
|
generation deterministic.
|
@@ -416,7 +416,7 @@ class VersatileDiffusionTextToImagePipeline(DiffusionPipeline):
|
|
416
416
|
batch_size = 1 if isinstance(prompt, str) else len(prompt)
|
417
417
|
device = self._execution_device
|
418
418
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
419
|
-
# of the Imagen paper: https://
|
419
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
420
420
|
# corresponds to doing no classifier free guidance.
|
421
421
|
do_classifier_free_guidance = guidance_scale > 1.0
|
422
422
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2025 Microsoft and The HuggingFace Team. All rights reserved.
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -4,7 +4,7 @@
|
|
4
4
|
# Copyright (c) 2021 OpenAI
|
5
5
|
# MIT License
|
6
6
|
#
|
7
|
-
# Copyright
|
7
|
+
# Copyright 2025 The HuggingFace Team. All rights reserved.
|
8
8
|
#
|
9
9
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
10
10
|
# you may not use this file except in compliance with the License.
|
@@ -101,7 +101,7 @@ def rescale_noise_cfg(noise_cfg, noise_pred_text, guidance_rescale=0.0):
|
|
101
101
|
r"""
|
102
102
|
Rescales `noise_cfg` tensor based on `guidance_rescale` to improve image quality and fix overexposure. Based on
|
103
103
|
Section 3.4 from [Common Diffusion Noise Schedules and Sample Steps are
|
104
|
-
Flawed](https://
|
104
|
+
Flawed](https://huggingface.co/papers/2305.08891).
|
105
105
|
|
106
106
|
Args:
|
107
107
|
noise_cfg (`torch.Tensor`):
|
@@ -404,7 +404,7 @@ class EasyAnimatePipeline(DiffusionPipeline):
|
|
404
404
|
def prepare_extra_step_kwargs(self, generator, eta):
|
405
405
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
406
406
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
407
|
-
# eta corresponds to η in DDIM paper: https://
|
407
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
408
408
|
# and should be between [0, 1]
|
409
409
|
|
410
410
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -507,7 +507,7 @@ class EasyAnimatePipeline(DiffusionPipeline):
|
|
507
507
|
return self._guidance_rescale
|
508
508
|
|
509
509
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
510
|
-
# of the Imagen paper: https://
|
510
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
511
511
|
# corresponds to doing no classifier free guidance.
|
512
512
|
@property
|
513
513
|
def do_classifier_free_guidance(self):
|
@@ -732,7 +732,7 @@ class EasyAnimatePipeline(DiffusionPipeline):
|
|
732
732
|
noise_pred = noise_pred_uncond + guidance_scale * (noise_pred_text - noise_pred_uncond)
|
733
733
|
|
734
734
|
if self.do_classifier_free_guidance and guidance_rescale > 0.0:
|
735
|
-
# Based on 3.4. in https://
|
735
|
+
# Based on 3.4. in https://huggingface.co/papers/2305.08891
|
736
736
|
noise_pred = rescale_noise_cfg(noise_pred, noise_pred_text, guidance_rescale=guidance_rescale)
|
737
737
|
|
738
738
|
# compute the previous noisy sample x_t -> x_t-1
|