diffusers 0.33.1__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 +13 -10
- diffusers/pipelines/wan/pipeline_wan_i2v.py +38 -18
- diffusers/pipelines/wan/pipeline_wan_vace.py +976 -0
- diffusers/pipelines/wan/pipeline_wan_video2video.py +14 -16
- 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.1.dist-info → diffusers-0.34.0.dist-info}/METADATA +70 -55
- diffusers-0.34.0.dist-info/RECORD +639 -0
- {diffusers-0.33.1.dist-info → diffusers-0.34.0.dist-info}/WHEEL +1 -1
- diffusers-0.33.1.dist-info/RECORD +0 -608
- {diffusers-0.33.1.dist-info → diffusers-0.34.0.dist-info}/LICENSE +0 -0
- {diffusers-0.33.1.dist-info → diffusers-0.34.0.dist-info}/entry_points.txt +0 -0
- {diffusers-0.33.1.dist-info → diffusers-0.34.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,40 @@
|
|
1
|
+
from dataclasses import dataclass
|
2
|
+
from typing import List, Union
|
3
|
+
|
4
|
+
import numpy as np
|
5
|
+
import PIL.Image
|
6
|
+
import torch
|
7
|
+
|
8
|
+
from diffusers.utils import BaseOutput, get_logger
|
9
|
+
|
10
|
+
|
11
|
+
logger = get_logger(__name__)
|
12
|
+
|
13
|
+
|
14
|
+
@dataclass
|
15
|
+
class CosmosPipelineOutput(BaseOutput):
|
16
|
+
r"""
|
17
|
+
Output class for Cosmos any-to-world/video pipelines.
|
18
|
+
|
19
|
+
Args:
|
20
|
+
frames (`torch.Tensor`, `np.ndarray`, or List[List[PIL.Image.Image]]):
|
21
|
+
List of video outputs - It can be a nested list of length `batch_size,` with each sub-list containing
|
22
|
+
denoised PIL image sequences of length `num_frames.` It can also be a NumPy array or Torch tensor of shape
|
23
|
+
`(batch_size, num_frames, channels, height, width)`.
|
24
|
+
"""
|
25
|
+
|
26
|
+
frames: torch.Tensor
|
27
|
+
|
28
|
+
|
29
|
+
@dataclass
|
30
|
+
class CosmosImagePipelineOutput(BaseOutput):
|
31
|
+
"""
|
32
|
+
Output class for Cosmos any-to-image pipelines.
|
33
|
+
|
34
|
+
Args:
|
35
|
+
images (`List[PIL.Image.Image]` or `np.ndarray`)
|
36
|
+
List of denoised PIL images of length `batch_size` or numpy array of shape `(batch_size, height, width,
|
37
|
+
num_channels)`. PIL images or numpy array present the denoised images of the diffusion pipeline.
|
38
|
+
"""
|
39
|
+
|
40
|
+
images: Union[List[PIL.Image.Image], np.ndarray]
|
@@ -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.
|
@@ -21,7 +21,7 @@ from ...models import UNet1DModel
|
|
21
21
|
from ...schedulers import SchedulerMixin
|
22
22
|
from ...utils import is_torch_xla_available, logging
|
23
23
|
from ...utils.torch_utils import randn_tensor
|
24
|
-
from ..pipeline_utils import AudioPipelineOutput, DiffusionPipeline
|
24
|
+
from ..pipeline_utils import AudioPipelineOutput, DeprecatedPipelineMixin, DiffusionPipeline
|
25
25
|
|
26
26
|
|
27
27
|
if is_torch_xla_available():
|
@@ -34,7 +34,7 @@ else:
|
|
34
34
|
logger = logging.get_logger(__name__) # pylint: disable=invalid-name
|
35
35
|
|
36
36
|
|
37
|
-
class DanceDiffusionPipeline(DiffusionPipeline):
|
37
|
+
class DanceDiffusionPipeline(DeprecatedPipelineMixin, DiffusionPipeline):
|
38
38
|
r"""
|
39
39
|
Pipeline for audio generation.
|
40
40
|
|
@@ -49,6 +49,7 @@ class DanceDiffusionPipeline(DiffusionPipeline):
|
|
49
49
|
[`IPNDMScheduler`].
|
50
50
|
"""
|
51
51
|
|
52
|
+
_last_supported_version = "0.33.1"
|
52
53
|
model_cpu_offload_seq = "unet"
|
53
54
|
|
54
55
|
def __init__(self, unet: UNet1DModel, scheduler: SchedulerMixin):
|
@@ -97,7 +98,7 @@ class DanceDiffusionPipeline(DiffusionPipeline):
|
|
97
98
|
for i, audio in enumerate(audios):
|
98
99
|
write(f"maestro_test_{i}.wav", pipe.unet.sample_rate, audio.transpose())
|
99
100
|
|
100
|
-
# To
|
101
|
+
# To display in google colab
|
101
102
|
import IPython.display as ipd
|
102
103
|
|
103
104
|
for audio in audios:
|
@@ -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.
|
@@ -77,9 +77,9 @@ class DDIMPipeline(DiffusionPipeline):
|
|
77
77
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
78
78
|
generation deterministic.
|
79
79
|
eta (`float`, *optional*, defaults to 0.0):
|
80
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
81
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers. A value of `0`
|
82
|
-
DDIM and `1` corresponds to DDPM.
|
80
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
81
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers. A value of `0`
|
82
|
+
corresponds to DDIM and `1` corresponds to DDPM.
|
83
83
|
num_inference_steps (`int`, *optional*, defaults to 50):
|
84
84
|
The number of denoising steps. More denoising steps usually lead to a higher quality image at the
|
85
85
|
expense of slower inference.
|
@@ -336,7 +336,7 @@ class IFPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
336
336
|
def prepare_extra_step_kwargs(self, generator, eta):
|
337
337
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
338
338
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
339
|
-
# eta corresponds to η in DDIM paper: https://
|
339
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
340
340
|
# and should be between [0, 1]
|
341
341
|
|
342
342
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -484,7 +484,7 @@ class IFPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
484
484
|
# &
|
485
485
|
caption = re.sub(r"&", "", caption)
|
486
486
|
|
487
|
-
# ip
|
487
|
+
# ip addresses:
|
488
488
|
caption = re.sub(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", " ", caption)
|
489
489
|
|
490
490
|
# article ids:
|
@@ -581,11 +581,11 @@ class IFPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
581
581
|
Custom timesteps to use for the denoising process. If not defined, equal spaced `num_inference_steps`
|
582
582
|
timesteps are used. Must be in descending order.
|
583
583
|
guidance_scale (`float`, *optional*, defaults to 7.0):
|
584
|
-
Guidance scale as defined in [Classifier-Free Diffusion
|
585
|
-
`guidance_scale` is defined as `w` of equation 2.
|
586
|
-
Paper](https://
|
587
|
-
1`. Higher guidance scale encourages to generate images that are closely linked to
|
588
|
-
usually at the expense of lower image quality.
|
584
|
+
Guidance scale as defined in [Classifier-Free Diffusion
|
585
|
+
Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
|
586
|
+
of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
|
587
|
+
`guidance_scale > 1`. Higher guidance scale encourages to generate images that are closely linked to
|
588
|
+
the text `prompt`, usually at the expense of lower image quality.
|
589
589
|
negative_prompt (`str` or `List[str]`, *optional*):
|
590
590
|
The prompt or prompts not to guide the image generation. If not defined, one has to pass
|
591
591
|
`negative_prompt_embeds` instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is
|
@@ -597,8 +597,8 @@ class IFPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
597
597
|
width (`int`, *optional*, defaults to self.unet.config.sample_size):
|
598
598
|
The width in pixels of the generated image.
|
599
599
|
eta (`float`, *optional*, defaults to 0.0):
|
600
|
-
Corresponds to parameter eta (η) in the DDIM paper: https://
|
601
|
-
[`schedulers.DDIMScheduler`], will be ignored for others.
|
600
|
+
Corresponds to parameter eta (η) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
|
601
|
+
applies to [`schedulers.DDIMScheduler`], will be ignored for others.
|
602
602
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
603
603
|
One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
|
604
604
|
to make generation deterministic.
|
@@ -655,7 +655,7 @@ class IFPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
655
655
|
device = self._execution_device
|
656
656
|
|
657
657
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
658
|
-
# of the Imagen paper: https://
|
658
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
659
659
|
# corresponds to doing no classifier free guidance.
|
660
660
|
do_classifier_free_guidance = guidance_scale > 1.0
|
661
661
|
|
@@ -361,7 +361,7 @@ class IFImg2ImgPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
361
361
|
def prepare_extra_step_kwargs(self, generator, eta):
|
362
362
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
363
363
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
364
|
-
# eta corresponds to η in DDIM paper: https://
|
364
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
365
365
|
# and should be between [0, 1]
|
366
366
|
|
367
367
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -528,7 +528,7 @@ class IFImg2ImgPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
528
528
|
# &
|
529
529
|
caption = re.sub(r"&", "", caption)
|
530
530
|
|
531
|
-
# ip
|
531
|
+
# ip addresses:
|
532
532
|
caption = re.sub(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", " ", caption)
|
533
533
|
|
534
534
|
# article ids:
|
@@ -706,11 +706,11 @@ class IFImg2ImgPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
706
706
|
Custom timesteps to use for the denoising process. If not defined, equal spaced `num_inference_steps`
|
707
707
|
timesteps are used. Must be in descending order.
|
708
708
|
guidance_scale (`float`, *optional*, defaults to 10.0):
|
709
|
-
Guidance scale as defined in [Classifier-Free Diffusion
|
710
|
-
`guidance_scale` is defined as `w` of equation 2.
|
711
|
-
Paper](https://
|
712
|
-
1`. Higher guidance scale encourages to generate images that are closely linked to
|
713
|
-
usually at the expense of lower image quality.
|
709
|
+
Guidance scale as defined in [Classifier-Free Diffusion
|
710
|
+
Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
|
711
|
+
of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
|
712
|
+
`guidance_scale > 1`. Higher guidance scale encourages to generate images that are closely linked to
|
713
|
+
the text `prompt`, usually at the expense of lower image quality.
|
714
714
|
negative_prompt (`str` or `List[str]`, *optional*):
|
715
715
|
The prompt or prompts not to guide the image generation. If not defined, one has to pass
|
716
716
|
`negative_prompt_embeds` instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is
|
@@ -718,8 +718,8 @@ class IFImg2ImgPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
718
718
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
719
719
|
The number of images to generate per prompt.
|
720
720
|
eta (`float`, *optional*, defaults to 0.0):
|
721
|
-
Corresponds to parameter eta (η) in the DDIM paper: https://
|
722
|
-
[`schedulers.DDIMScheduler`], will be ignored for others.
|
721
|
+
Corresponds to parameter eta (η) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
|
722
|
+
applies to [`schedulers.DDIMScheduler`], will be ignored for others.
|
723
723
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
724
724
|
One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
|
725
725
|
to make generation deterministic.
|
@@ -775,7 +775,7 @@ class IFImg2ImgPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
775
775
|
device = self._execution_device
|
776
776
|
|
777
777
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
778
|
-
# of the Imagen paper: https://
|
778
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
779
779
|
# corresponds to doing no classifier free guidance.
|
780
780
|
do_classifier_free_guidance = guidance_scale > 1.0
|
781
781
|
|
@@ -281,7 +281,7 @@ class IFImg2ImgSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLoraLoa
|
|
281
281
|
# &
|
282
282
|
caption = re.sub(r"&", "", caption)
|
283
283
|
|
284
|
-
# ip
|
284
|
+
# ip addresses:
|
285
285
|
caption = re.sub(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", " ", caption)
|
286
286
|
|
287
287
|
# article ids:
|
@@ -514,7 +514,7 @@ class IFImg2ImgSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLoraLoa
|
|
514
514
|
def prepare_extra_step_kwargs(self, generator, eta):
|
515
515
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
516
516
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
517
|
-
# eta corresponds to η in DDIM paper: https://
|
517
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
518
518
|
# and should be between [0, 1]
|
519
519
|
|
520
520
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -793,11 +793,11 @@ class IFImg2ImgSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLoraLoa
|
|
793
793
|
Custom timesteps to use for the denoising process. If not defined, equal spaced `num_inference_steps`
|
794
794
|
timesteps are used. Must be in descending order.
|
795
795
|
guidance_scale (`float`, *optional*, defaults to 4.0):
|
796
|
-
Guidance scale as defined in [Classifier-Free Diffusion
|
797
|
-
`guidance_scale` is defined as `w` of equation 2.
|
798
|
-
Paper](https://
|
799
|
-
1`. Higher guidance scale encourages to generate images that are closely linked to
|
800
|
-
usually at the expense of lower image quality.
|
796
|
+
Guidance scale as defined in [Classifier-Free Diffusion
|
797
|
+
Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
|
798
|
+
of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
|
799
|
+
`guidance_scale > 1`. Higher guidance scale encourages to generate images that are closely linked to
|
800
|
+
the text `prompt`, usually at the expense of lower image quality.
|
801
801
|
negative_prompt (`str` or `List[str]`, *optional*):
|
802
802
|
The prompt or prompts not to guide the image generation. If not defined, one has to pass
|
803
803
|
`negative_prompt_embeds` instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is
|
@@ -805,8 +805,8 @@ class IFImg2ImgSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLoraLoa
|
|
805
805
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
806
806
|
The number of images to generate per prompt.
|
807
807
|
eta (`float`, *optional*, defaults to 0.0):
|
808
|
-
Corresponds to parameter eta (η) in the DDIM paper: https://
|
809
|
-
[`schedulers.DDIMScheduler`], will be ignored for others.
|
808
|
+
Corresponds to parameter eta (η) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
|
809
|
+
applies to [`schedulers.DDIMScheduler`], will be ignored for others.
|
810
810
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
811
811
|
One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
|
812
812
|
to make generation deterministic.
|
@@ -870,7 +870,7 @@ class IFImg2ImgSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLoraLoa
|
|
870
870
|
# 2. Define call parameters
|
871
871
|
|
872
872
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
873
|
-
# of the Imagen paper: https://
|
873
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
874
874
|
# corresponds to doing no classifier free guidance.
|
875
875
|
do_classifier_free_guidance = guidance_scale > 1.0
|
876
876
|
|
@@ -365,7 +365,7 @@ class IFInpaintingPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
365
365
|
def prepare_extra_step_kwargs(self, generator, eta):
|
366
366
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
367
367
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
368
|
-
# eta corresponds to η in DDIM paper: https://
|
368
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
369
369
|
# and should be between [0, 1]
|
370
370
|
|
371
371
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -568,7 +568,7 @@ class IFInpaintingPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
568
568
|
# &
|
569
569
|
caption = re.sub(r"&", "", caption)
|
570
570
|
|
571
|
-
# ip
|
571
|
+
# ip addresses:
|
572
572
|
caption = re.sub(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", " ", caption)
|
573
573
|
|
574
574
|
# article ids:
|
@@ -806,11 +806,11 @@ class IFInpaintingPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
806
806
|
Custom timesteps to use for the denoising process. If not defined, equal spaced `num_inference_steps`
|
807
807
|
timesteps are used. Must be in descending order.
|
808
808
|
guidance_scale (`float`, *optional*, defaults to 7.0):
|
809
|
-
Guidance scale as defined in [Classifier-Free Diffusion
|
810
|
-
`guidance_scale` is defined as `w` of equation 2.
|
811
|
-
Paper](https://
|
812
|
-
1`. Higher guidance scale encourages to generate images that are closely linked to
|
813
|
-
usually at the expense of lower image quality.
|
809
|
+
Guidance scale as defined in [Classifier-Free Diffusion
|
810
|
+
Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
|
811
|
+
of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
|
812
|
+
`guidance_scale > 1`. Higher guidance scale encourages to generate images that are closely linked to
|
813
|
+
the text `prompt`, usually at the expense of lower image quality.
|
814
814
|
negative_prompt (`str` or `List[str]`, *optional*):
|
815
815
|
The prompt or prompts not to guide the image generation. If not defined, one has to pass
|
816
816
|
`negative_prompt_embeds` instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is
|
@@ -818,8 +818,8 @@ class IFInpaintingPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
818
818
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
819
819
|
The number of images to generate per prompt.
|
820
820
|
eta (`float`, *optional*, defaults to 0.0):
|
821
|
-
Corresponds to parameter eta (η) in the DDIM paper: https://
|
822
|
-
[`schedulers.DDIMScheduler`], will be ignored for others.
|
821
|
+
Corresponds to parameter eta (η) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
|
822
|
+
applies to [`schedulers.DDIMScheduler`], will be ignored for others.
|
823
823
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
824
824
|
One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
|
825
825
|
to make generation deterministic.
|
@@ -882,7 +882,7 @@ class IFInpaintingPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixin):
|
|
882
882
|
device = self._execution_device
|
883
883
|
|
884
884
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
885
|
-
# of the Imagen paper: https://
|
885
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
886
886
|
# corresponds to doing no classifier free guidance.
|
887
887
|
do_classifier_free_guidance = guidance_scale > 1.0
|
888
888
|
|
@@ -283,7 +283,7 @@ class IFInpaintingSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLora
|
|
283
283
|
# &
|
284
284
|
caption = re.sub(r"&", "", caption)
|
285
285
|
|
286
|
-
# ip
|
286
|
+
# ip addresses:
|
287
287
|
caption = re.sub(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", " ", caption)
|
288
288
|
|
289
289
|
# article ids:
|
@@ -516,7 +516,7 @@ class IFInpaintingSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLora
|
|
516
516
|
def prepare_extra_step_kwargs(self, generator, eta):
|
517
517
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
518
518
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
519
|
-
# eta corresponds to η in DDIM paper: https://
|
519
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
520
520
|
# and should be between [0, 1]
|
521
521
|
|
522
522
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -889,11 +889,11 @@ class IFInpaintingSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLora
|
|
889
889
|
Custom timesteps to use for the denoising process. If not defined, equal spaced `num_inference_steps`
|
890
890
|
timesteps are used. Must be in descending order.
|
891
891
|
guidance_scale (`float`, *optional*, defaults to 4.0):
|
892
|
-
Guidance scale as defined in [Classifier-Free Diffusion
|
893
|
-
`guidance_scale` is defined as `w` of equation 2.
|
894
|
-
Paper](https://
|
895
|
-
1`. Higher guidance scale encourages to generate images that are closely linked to
|
896
|
-
usually at the expense of lower image quality.
|
892
|
+
Guidance scale as defined in [Classifier-Free Diffusion
|
893
|
+
Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
|
894
|
+
of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
|
895
|
+
`guidance_scale > 1`. Higher guidance scale encourages to generate images that are closely linked to
|
896
|
+
the text `prompt`, usually at the expense of lower image quality.
|
897
897
|
negative_prompt (`str` or `List[str]`, *optional*):
|
898
898
|
The prompt or prompts not to guide the image generation. If not defined, one has to pass
|
899
899
|
`negative_prompt_embeds` instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is
|
@@ -901,8 +901,8 @@ class IFInpaintingSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLora
|
|
901
901
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
902
902
|
The number of images to generate per prompt.
|
903
903
|
eta (`float`, *optional*, defaults to 0.0):
|
904
|
-
Corresponds to parameter eta (η) in the DDIM paper: https://
|
905
|
-
[`schedulers.DDIMScheduler`], will be ignored for others.
|
904
|
+
Corresponds to parameter eta (η) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
|
905
|
+
applies to [`schedulers.DDIMScheduler`], will be ignored for others.
|
906
906
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
907
907
|
One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
|
908
908
|
to make generation deterministic.
|
@@ -967,7 +967,7 @@ class IFInpaintingSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLora
|
|
967
967
|
# 2. Define call parameters
|
968
968
|
|
969
969
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
970
|
-
# of the Imagen paper: https://
|
970
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
971
971
|
# corresponds to doing no classifier free guidance.
|
972
972
|
do_classifier_free_guidance = guidance_scale > 1.0
|
973
973
|
|
@@ -239,7 +239,7 @@ class IFSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixi
|
|
239
239
|
# &
|
240
240
|
caption = re.sub(r"&", "", caption)
|
241
241
|
|
242
|
-
# ip
|
242
|
+
# ip addresses:
|
243
243
|
caption = re.sub(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", " ", caption)
|
244
244
|
|
245
245
|
# article ids:
|
@@ -472,7 +472,7 @@ class IFSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixi
|
|
472
472
|
def prepare_extra_step_kwargs(self, generator, eta):
|
473
473
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
474
474
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
475
|
-
# eta corresponds to η in DDIM paper: https://
|
475
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
476
476
|
# and should be between [0, 1]
|
477
477
|
|
478
478
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -656,11 +656,11 @@ class IFSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixi
|
|
656
656
|
Custom timesteps to use for the denoising process. If not defined, equal spaced `num_inference_steps`
|
657
657
|
timesteps are used. Must be in descending order.
|
658
658
|
guidance_scale (`float`, *optional*, defaults to 4.0):
|
659
|
-
Guidance scale as defined in [Classifier-Free Diffusion
|
660
|
-
`guidance_scale` is defined as `w` of equation 2.
|
661
|
-
Paper](https://
|
662
|
-
1`. Higher guidance scale encourages to generate images that are closely linked to
|
663
|
-
usually at the expense of lower image quality.
|
659
|
+
Guidance scale as defined in [Classifier-Free Diffusion
|
660
|
+
Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
|
661
|
+
of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
|
662
|
+
`guidance_scale > 1`. Higher guidance scale encourages to generate images that are closely linked to
|
663
|
+
the text `prompt`, usually at the expense of lower image quality.
|
664
664
|
negative_prompt (`str` or `List[str]`, *optional*):
|
665
665
|
The prompt or prompts not to guide the image generation. If not defined, one has to pass
|
666
666
|
`negative_prompt_embeds` instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is
|
@@ -668,8 +668,8 @@ class IFSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixi
|
|
668
668
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
669
669
|
The number of images to generate per prompt.
|
670
670
|
eta (`float`, *optional*, defaults to 0.0):
|
671
|
-
Corresponds to parameter eta (η) in the DDIM paper: https://
|
672
|
-
[`schedulers.DDIMScheduler`], will be ignored for others.
|
671
|
+
Corresponds to parameter eta (η) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
|
672
|
+
applies to [`schedulers.DDIMScheduler`], will be ignored for others.
|
673
673
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
674
674
|
One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
|
675
675
|
to make generation deterministic.
|
@@ -739,7 +739,7 @@ class IFSuperResolutionPipeline(DiffusionPipeline, StableDiffusionLoraLoaderMixi
|
|
739
739
|
device = self._execution_device
|
740
740
|
|
741
741
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
742
|
-
# of the Imagen paper: https://
|
742
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
743
743
|
# corresponds to doing no classifier free guidance.
|
744
744
|
do_classifier_free_guidance = guidance_scale > 1.0
|
745
745
|
|
@@ -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.
|
@@ -68,7 +68,7 @@ def rescale_noise_cfg(noise_cfg, noise_pred_text, guidance_rescale=0.0):
|
|
68
68
|
r"""
|
69
69
|
Rescales `noise_cfg` tensor based on `guidance_rescale` to improve image quality and fix overexposure. Based on
|
70
70
|
Section 3.4 from [Common Diffusion Noise Schedules and Sample Steps are
|
71
|
-
Flawed](https://
|
71
|
+
Flawed](https://huggingface.co/papers/2305.08891).
|
72
72
|
|
73
73
|
Args:
|
74
74
|
noise_cfg (`torch.Tensor`):
|
@@ -557,7 +557,7 @@ class AltDiffusionPipeline(
|
|
557
557
|
def prepare_extra_step_kwargs(self, generator, eta):
|
558
558
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
559
559
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
560
|
-
# eta corresponds to η in DDIM paper: https://
|
560
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
561
561
|
# and should be between [0, 1]
|
562
562
|
|
563
563
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -686,7 +686,7 @@ class AltDiffusionPipeline(
|
|
686
686
|
return self._clip_skip
|
687
687
|
|
688
688
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
689
|
-
# of the Imagen paper: https://
|
689
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
690
690
|
# corresponds to doing no classifier free guidance.
|
691
691
|
@property
|
692
692
|
def do_classifier_free_guidance(self):
|
@@ -754,8 +754,8 @@ class AltDiffusionPipeline(
|
|
754
754
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
755
755
|
The number of images to generate per prompt.
|
756
756
|
eta (`float`, *optional*, defaults to 0.0):
|
757
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
758
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
757
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
758
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
759
759
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
760
760
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
761
761
|
generation deterministic.
|
@@ -780,7 +780,7 @@ class AltDiffusionPipeline(
|
|
780
780
|
[`self.processor`](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).
|
781
781
|
guidance_rescale (`float`, *optional*, defaults to 0.0):
|
782
782
|
Guidance rescale factor from [Common Diffusion Noise Schedules and Sample Steps are
|
783
|
-
Flawed](https://
|
783
|
+
Flawed](https://huggingface.co/papers/2305.08891). Guidance rescale factor should fix overexposure when
|
784
784
|
using zero terminal SNR.
|
785
785
|
clip_skip (`int`, *optional*):
|
786
786
|
Number of layers to be skipped from CLIP while computing the prompt embeddings. A value of 1 means that
|
@@ -942,7 +942,7 @@ class AltDiffusionPipeline(
|
|
942
942
|
noise_pred = noise_pred_uncond + self.guidance_scale * (noise_pred_text - noise_pred_uncond)
|
943
943
|
|
944
944
|
if self.do_classifier_free_guidance and self.guidance_rescale > 0.0:
|
945
|
-
# Based on 3.4. in https://
|
945
|
+
# Based on 3.4. in https://huggingface.co/papers/2305.08891
|
946
946
|
noise_pred = rescale_noise_cfg(noise_pred, noise_pred_text, guidance_rescale=self.guidance_rescale)
|
947
947
|
|
948
948
|
# compute the previous noisy sample x_t -> x_t-1
|
@@ -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.
|
@@ -585,7 +585,7 @@ class AltDiffusionImg2ImgPipeline(
|
|
585
585
|
def prepare_extra_step_kwargs(self, generator, eta):
|
586
586
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
587
587
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
588
|
-
# eta corresponds to η in DDIM paper: https://
|
588
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
589
589
|
# and should be between [0, 1]
|
590
590
|
|
591
591
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -754,7 +754,7 @@ class AltDiffusionImg2ImgPipeline(
|
|
754
754
|
return self._clip_skip
|
755
755
|
|
756
756
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
757
|
-
# of the Imagen paper: https://
|
757
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
758
758
|
# corresponds to doing no classifier free guidance.
|
759
759
|
@property
|
760
760
|
def do_classifier_free_guidance(self):
|
@@ -828,8 +828,8 @@ class AltDiffusionImg2ImgPipeline(
|
|
828
828
|
num_images_per_prompt (`int`, *optional*, defaults to 1):
|
829
829
|
The number of images to generate per prompt.
|
830
830
|
eta (`float`, *optional*, defaults to 0.0):
|
831
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
832
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
831
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
832
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
833
833
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
834
834
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
835
835
|
generation deterministic.
|
@@ -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,8 +115,8 @@ class AudioDiffusionPipeline(DiffusionPipeline):
|
|
115
115
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) used to denoise.
|
116
116
|
None
|
117
117
|
eta (`float`):
|
118
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
119
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
118
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
119
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
120
120
|
noise (`torch.Tensor`):
|
121
121
|
A noise tensor of shape `(batch_size, 1, height, width)` or `None`.
|
122
122
|
encoding (`torch.Tensor`):
|
@@ -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.
|
@@ -95,7 +95,7 @@ class PNDMPipeline(DiffusionPipeline):
|
|
95
95
|
returned where the first element is a list with the generated images.
|
96
96
|
"""
|
97
97
|
# For more information on the sampling method you can take a look at Algorithm 2 of
|
98
|
-
# the official paper: https://
|
98
|
+
# the official paper: https://huggingface.co/papers/2202.09778
|
99
99
|
|
100
100
|
# Sample gaussian noise to begin loop
|
101
101
|
image = randn_tensor(
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2025 ETH Zurich Computer Vision Lab 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.
|
@@ -124,10 +124,11 @@ class RePaintPipeline(DiffusionPipeline):
|
|
124
124
|
DDIM and 1.0 is the DDPM scheduler.
|
125
125
|
jump_length (`int`, *optional*, defaults to 10):
|
126
126
|
The number of steps taken forward in time before going backward in time for a single jump ("j" in
|
127
|
-
RePaint paper). Take a look at Figure 9 and 10 in the
|
127
|
+
RePaint paper). Take a look at Figure 9 and 10 in the
|
128
|
+
[paper](https://huggingface.co/papers/2201.09865).
|
128
129
|
jump_n_sample (`int`, *optional*, defaults to 10):
|
129
130
|
The number of times to make a forward time jump for a given chosen time sample. Take a look at Figure 9
|
130
|
-
and 10 in the [paper](https://
|
131
|
+
and 10 in the [paper](https://huggingface.co/papers/2201.09865).
|
131
132
|
generator (`torch.Generator`, *optional*):
|
132
133
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
133
134
|
generation deterministic.
|
@@ -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.
|