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
diffusers/pipelines/__init__.py
CHANGED
@@ -148,6 +148,7 @@ else:
|
|
148
148
|
"AudioLDM2UNet2DConditionModel",
|
149
149
|
]
|
150
150
|
_import_structure["blip_diffusion"] = ["BlipDiffusionPipeline"]
|
151
|
+
_import_structure["chroma"] = ["ChromaPipeline", "ChromaImg2ImgPipeline"]
|
151
152
|
_import_structure["cogvideo"] = [
|
152
153
|
"CogVideoXPipeline",
|
153
154
|
"CogVideoXImageToVideoPipeline",
|
@@ -156,6 +157,13 @@ else:
|
|
156
157
|
]
|
157
158
|
_import_structure["cogview3"] = ["CogView3PlusPipeline"]
|
158
159
|
_import_structure["cogview4"] = ["CogView4Pipeline", "CogView4ControlPipeline"]
|
160
|
+
_import_structure["consisid"] = ["ConsisIDPipeline"]
|
161
|
+
_import_structure["cosmos"] = [
|
162
|
+
"Cosmos2TextToImagePipeline",
|
163
|
+
"CosmosTextToWorldPipeline",
|
164
|
+
"CosmosVideoToWorldPipeline",
|
165
|
+
"Cosmos2VideoToWorldPipeline",
|
166
|
+
]
|
159
167
|
_import_structure["controlnet"].extend(
|
160
168
|
[
|
161
169
|
"BlipDiffusionControlNetPipeline",
|
@@ -221,11 +229,13 @@ else:
|
|
221
229
|
"EasyAnimateInpaintPipeline",
|
222
230
|
"EasyAnimateControlPipeline",
|
223
231
|
]
|
232
|
+
_import_structure["hidream_image"] = ["HiDreamImagePipeline"]
|
224
233
|
_import_structure["hunyuandit"] = ["HunyuanDiTPipeline"]
|
225
234
|
_import_structure["hunyuan_video"] = [
|
226
235
|
"HunyuanVideoPipeline",
|
227
236
|
"HunyuanSkyreelsImageToVideoPipeline",
|
228
237
|
"HunyuanVideoImageToVideoPipeline",
|
238
|
+
"HunyuanVideoFramepackPipeline",
|
229
239
|
]
|
230
240
|
_import_structure["kandinsky"] = [
|
231
241
|
"KandinskyCombinedPipeline",
|
@@ -264,7 +274,12 @@ else:
|
|
264
274
|
]
|
265
275
|
)
|
266
276
|
_import_structure["latte"] = ["LattePipeline"]
|
267
|
-
_import_structure["ltx"] = [
|
277
|
+
_import_structure["ltx"] = [
|
278
|
+
"LTXPipeline",
|
279
|
+
"LTXImageToVideoPipeline",
|
280
|
+
"LTXConditionPipeline",
|
281
|
+
"LTXLatentUpsamplePipeline",
|
282
|
+
]
|
268
283
|
_import_structure["lumina"] = ["LuminaPipeline", "LuminaText2ImgPipeline"]
|
269
284
|
_import_structure["lumina2"] = ["Lumina2Pipeline", "Lumina2Text2ImgPipeline"]
|
270
285
|
_import_structure["marigold"].extend(
|
@@ -277,10 +292,16 @@ else:
|
|
277
292
|
_import_structure["mochi"] = ["MochiPipeline"]
|
278
293
|
_import_structure["musicldm"] = ["MusicLDMPipeline"]
|
279
294
|
_import_structure["omnigen"] = ["OmniGenPipeline"]
|
295
|
+
_import_structure["visualcloze"] = ["VisualClozePipeline", "VisualClozeGenerationPipeline"]
|
280
296
|
_import_structure["paint_by_example"] = ["PaintByExamplePipeline"]
|
281
297
|
_import_structure["pia"] = ["PIAPipeline"]
|
282
298
|
_import_structure["pixart_alpha"] = ["PixArtAlphaPipeline", "PixArtSigmaPipeline"]
|
283
|
-
_import_structure["sana"] = [
|
299
|
+
_import_structure["sana"] = [
|
300
|
+
"SanaPipeline",
|
301
|
+
"SanaSprintPipeline",
|
302
|
+
"SanaControlNetPipeline",
|
303
|
+
"SanaSprintImg2ImgPipeline",
|
304
|
+
]
|
284
305
|
_import_structure["semantic_stable_diffusion"] = ["SemanticStableDiffusionPipeline"]
|
285
306
|
_import_structure["shap_e"] = ["ShapEImg2ImgPipeline", "ShapEPipeline"]
|
286
307
|
_import_structure["stable_audio"] = [
|
@@ -356,7 +377,7 @@ else:
|
|
356
377
|
"WuerstchenDecoderPipeline",
|
357
378
|
"WuerstchenPriorPipeline",
|
358
379
|
]
|
359
|
-
_import_structure["wan"] = ["WanPipeline", "WanImageToVideoPipeline", "WanVideoToVideoPipeline"]
|
380
|
+
_import_structure["wan"] = ["WanPipeline", "WanImageToVideoPipeline", "WanVideoToVideoPipeline", "WanVACEPipeline"]
|
360
381
|
try:
|
361
382
|
if not is_onnx_available():
|
362
383
|
raise OptionalDependencyNotAvailable()
|
@@ -516,6 +537,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
516
537
|
)
|
517
538
|
from .aura_flow import AuraFlowPipeline
|
518
539
|
from .blip_diffusion import BlipDiffusionPipeline
|
540
|
+
from .chroma import ChromaImg2ImgPipeline, ChromaPipeline
|
519
541
|
from .cogvideo import (
|
520
542
|
CogVideoXFunControlPipeline,
|
521
543
|
CogVideoXImageToVideoPipeline,
|
@@ -544,6 +566,12 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
544
566
|
StableDiffusionControlNetXSPipeline,
|
545
567
|
StableDiffusionXLControlNetXSPipeline,
|
546
568
|
)
|
569
|
+
from .cosmos import (
|
570
|
+
Cosmos2TextToImagePipeline,
|
571
|
+
Cosmos2VideoToWorldPipeline,
|
572
|
+
CosmosTextToWorldPipeline,
|
573
|
+
CosmosVideoToWorldPipeline,
|
574
|
+
)
|
547
575
|
from .deepfloyd_if import (
|
548
576
|
IFImg2ImgPipeline,
|
549
577
|
IFImg2ImgSuperResolutionPipeline,
|
@@ -585,8 +613,10 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
585
613
|
FluxPriorReduxPipeline,
|
586
614
|
ReduxImageEncoder,
|
587
615
|
)
|
616
|
+
from .hidream_image import HiDreamImagePipeline
|
588
617
|
from .hunyuan_video import (
|
589
618
|
HunyuanSkyreelsImageToVideoPipeline,
|
619
|
+
HunyuanVideoFramepackPipeline,
|
590
620
|
HunyuanVideoImageToVideoPipeline,
|
591
621
|
HunyuanVideoPipeline,
|
592
622
|
)
|
@@ -629,7 +659,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
629
659
|
LEditsPPPipelineStableDiffusion,
|
630
660
|
LEditsPPPipelineStableDiffusionXL,
|
631
661
|
)
|
632
|
-
from .ltx import LTXConditionPipeline, LTXImageToVideoPipeline, LTXPipeline
|
662
|
+
from .ltx import LTXConditionPipeline, LTXImageToVideoPipeline, LTXLatentUpsamplePipeline, LTXPipeline
|
633
663
|
from .lumina import LuminaPipeline, LuminaText2ImgPipeline
|
634
664
|
from .lumina2 import Lumina2Pipeline, Lumina2Text2ImgPipeline
|
635
665
|
from .marigold import (
|
@@ -662,7 +692,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
662
692
|
from .paint_by_example import PaintByExamplePipeline
|
663
693
|
from .pia import PIAPipeline
|
664
694
|
from .pixart_alpha import PixArtAlphaPipeline, PixArtSigmaPipeline
|
665
|
-
from .sana import SanaPipeline, SanaSprintPipeline
|
695
|
+
from .sana import SanaControlNetPipeline, SanaPipeline, SanaSprintImg2ImgPipeline, SanaSprintPipeline
|
666
696
|
from .semantic_stable_diffusion import SemanticStableDiffusionPipeline
|
667
697
|
from .shap_e import ShapEImg2ImgPipeline, ShapEPipeline
|
668
698
|
from .stable_audio import StableAudioPipeline, StableAudioProjectionModel
|
@@ -720,7 +750,8 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
720
750
|
UniDiffuserPipeline,
|
721
751
|
UniDiffuserTextDecoder,
|
722
752
|
)
|
723
|
-
from .
|
753
|
+
from .visualcloze import VisualClozeGenerationPipeline, VisualClozePipeline
|
754
|
+
from .wan import WanImageToVideoPipeline, WanPipeline, WanVACEPipeline, WanVideoToVideoPipeline
|
724
755
|
from .wuerstchen import (
|
725
756
|
WuerstchenCombinedPipeline,
|
726
757
|
WuerstchenDecoderPipeline,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright
|
1
|
+
# Copyright 2025 The RhymesAI and The HuggingFace Team.
|
2
2
|
# All rights reserved.
|
3
3
|
#
|
4
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -351,7 +351,7 @@ class AllegroPipeline(DiffusionPipeline):
|
|
351
351
|
def prepare_extra_step_kwargs(self, generator, eta):
|
352
352
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
353
353
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
354
|
-
# eta corresponds to η in DDIM paper: https://
|
354
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
355
355
|
# and should be between [0, 1]
|
356
356
|
|
357
357
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -514,7 +514,7 @@ class AllegroPipeline(DiffusionPipeline):
|
|
514
514
|
# &
|
515
515
|
caption = re.sub(r"&", "", caption)
|
516
516
|
|
517
|
-
# ip
|
517
|
+
# ip addresses:
|
518
518
|
caption = re.sub(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", " ", caption)
|
519
519
|
|
520
520
|
# article ids:
|
@@ -738,11 +738,11 @@ class AllegroPipeline(DiffusionPipeline):
|
|
738
738
|
Custom timesteps to use for the denoising process. If not defined, equal spaced `num_inference_steps`
|
739
739
|
timesteps are used. Must be in descending order.
|
740
740
|
guidance_scale (`float`, *optional*, defaults to 7.5):
|
741
|
-
Guidance scale as defined in [Classifier-Free Diffusion
|
742
|
-
`guidance_scale` is defined as `w` of equation 2.
|
743
|
-
Paper](https://
|
744
|
-
1`. Higher guidance scale encourages to generate videos that are closely linked to
|
745
|
-
usually at the expense of lower video quality.
|
741
|
+
Guidance scale as defined in [Classifier-Free Diffusion
|
742
|
+
Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
|
743
|
+
of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
|
744
|
+
`guidance_scale > 1`. Higher guidance scale encourages to generate videos that are closely linked to
|
745
|
+
the text `prompt`, usually at the expense of lower video quality.
|
746
746
|
num_videos_per_prompt (`int`, *optional*, defaults to 1):
|
747
747
|
The number of videos to generate per prompt.
|
748
748
|
num_frames: (`int`, *optional*, defaults to 88):
|
@@ -752,8 +752,8 @@ class AllegroPipeline(DiffusionPipeline):
|
|
752
752
|
width (`int`, *optional*, defaults to self.unet.config.sample_size):
|
753
753
|
The width in pixels of the generated video.
|
754
754
|
eta (`float`, *optional*, defaults to 0.0):
|
755
|
-
Corresponds to parameter eta (η) in the DDIM paper: https://
|
756
|
-
[`schedulers.DDIMScheduler`], will be ignored for others.
|
755
|
+
Corresponds to parameter eta (η) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
|
756
|
+
applies to [`schedulers.DDIMScheduler`], will be ignored for others.
|
757
757
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
758
758
|
One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
|
759
759
|
to make generation deterministic.
|
@@ -833,7 +833,7 @@ class AllegroPipeline(DiffusionPipeline):
|
|
833
833
|
device = self._execution_device
|
834
834
|
|
835
835
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
836
|
-
# of the Imagen paper: https://
|
836
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
837
837
|
# corresponds to doing no classifier free guidance.
|
838
838
|
do_classifier_free_guidance = guidance_scale > 1.0
|
839
839
|
|
@@ -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 ...image_processor import VaeImageProcessor
|
|
21
21
|
from ...models import UVit2DModel, VQModel
|
22
22
|
from ...schedulers import AmusedScheduler
|
23
23
|
from ...utils import is_torch_xla_available, replace_example_docstring
|
24
|
-
from ..pipeline_utils import DiffusionPipeline, ImagePipelineOutput
|
24
|
+
from ..pipeline_utils import DeprecatedPipelineMixin, DiffusionPipeline, ImagePipelineOutput
|
25
25
|
|
26
26
|
|
27
27
|
if is_torch_xla_available():
|
@@ -47,7 +47,8 @@ EXAMPLE_DOC_STRING = """
|
|
47
47
|
"""
|
48
48
|
|
49
49
|
|
50
|
-
class AmusedPipeline(DiffusionPipeline):
|
50
|
+
class AmusedPipeline(DeprecatedPipelineMixin, DiffusionPipeline):
|
51
|
+
_last_supported_version = "0.33.1"
|
51
52
|
image_processor: VaeImageProcessor
|
52
53
|
vqvae: VQModel
|
53
54
|
tokenizer: CLIPTokenizer
|
@@ -131,7 +132,7 @@ class AmusedPipeline(DiffusionPipeline):
|
|
131
132
|
generation deterministic.
|
132
133
|
latents (`torch.IntTensor`, *optional*):
|
133
134
|
Pre-generated tokens representing latent vectors in `self.vqvae`, to be used as inputs for image
|
134
|
-
|
135
|
+
generation. If not provided, the starting latents will be completely masked.
|
135
136
|
prompt_embeds (`torch.Tensor`, *optional*):
|
136
137
|
Pre-generated text embeddings. Can be used to easily tweak text inputs (prompt weighting). If not
|
137
138
|
provided, text embeddings are generated from the `prompt` input argument. A single vector from the
|
@@ -160,10 +161,10 @@ class AmusedPipeline(DiffusionPipeline):
|
|
160
161
|
micro_conditioning_aesthetic_score (`int`, *optional*, defaults to 6):
|
161
162
|
The targeted aesthetic score according to the laion aesthetic classifier. See
|
162
163
|
https://laion.ai/blog/laion-aesthetics/ and the micro-conditioning section of
|
163
|
-
https://
|
164
|
+
https://huggingface.co/papers/2307.01952.
|
164
165
|
micro_conditioning_crop_coord (`Tuple[int]`, *optional*, defaults to (0, 0)):
|
165
166
|
The targeted height, width crop coordinates. See the micro-conditioning section of
|
166
|
-
https://
|
167
|
+
https://huggingface.co/papers/2307.01952.
|
167
168
|
temperature (`Union[int, Tuple[int, int], List[int]]`, *optional*, defaults to (2, 0)):
|
168
169
|
Configures the temperature scheduler on `self.scheduler` see `AmusedScheduler#set_timesteps`.
|
169
170
|
|
@@ -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 ...image_processor import PipelineImageInput, VaeImageProcessor
|
|
21
21
|
from ...models import UVit2DModel, VQModel
|
22
22
|
from ...schedulers import AmusedScheduler
|
23
23
|
from ...utils import is_torch_xla_available, replace_example_docstring
|
24
|
-
from ..pipeline_utils import DiffusionPipeline, ImagePipelineOutput
|
24
|
+
from ..pipeline_utils import DeprecatedPipelineMixin, DiffusionPipeline, ImagePipelineOutput
|
25
25
|
|
26
26
|
|
27
27
|
if is_torch_xla_available():
|
@@ -57,7 +57,8 @@ EXAMPLE_DOC_STRING = """
|
|
57
57
|
"""
|
58
58
|
|
59
59
|
|
60
|
-
class AmusedImg2ImgPipeline(DiffusionPipeline):
|
60
|
+
class AmusedImg2ImgPipeline(DeprecatedPipelineMixin, DiffusionPipeline):
|
61
|
+
_last_supported_version = "0.33.1"
|
61
62
|
image_processor: VaeImageProcessor
|
62
63
|
vqvae: VQModel
|
63
64
|
tokenizer: CLIPTokenizer
|
@@ -179,10 +180,10 @@ class AmusedImg2ImgPipeline(DiffusionPipeline):
|
|
179
180
|
micro_conditioning_aesthetic_score (`int`, *optional*, defaults to 6):
|
180
181
|
The targeted aesthetic score according to the laion aesthetic classifier. See
|
181
182
|
https://laion.ai/blog/laion-aesthetics/ and the micro-conditioning section of
|
182
|
-
https://
|
183
|
+
https://huggingface.co/papers/2307.01952.
|
183
184
|
micro_conditioning_crop_coord (`Tuple[int]`, *optional*, defaults to (0, 0)):
|
184
185
|
The targeted height, width crop coordinates. See the micro-conditioning section of
|
185
|
-
https://
|
186
|
+
https://huggingface.co/papers/2307.01952.
|
186
187
|
temperature (`Union[int, Tuple[int, int], List[int]]`, *optional*, defaults to (2, 0)):
|
187
188
|
Configures the temperature scheduler on `self.scheduler` see `AmusedScheduler#set_timesteps`.
|
188
189
|
|
@@ -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.
|
@@ -22,7 +22,7 @@ from ...image_processor import PipelineImageInput, VaeImageProcessor
|
|
22
22
|
from ...models import UVit2DModel, VQModel
|
23
23
|
from ...schedulers import AmusedScheduler
|
24
24
|
from ...utils import is_torch_xla_available, replace_example_docstring
|
25
|
-
from ..pipeline_utils import DiffusionPipeline, ImagePipelineOutput
|
25
|
+
from ..pipeline_utils import DeprecatedPipelineMixin, DiffusionPipeline, ImagePipelineOutput
|
26
26
|
|
27
27
|
|
28
28
|
if is_torch_xla_available():
|
@@ -65,7 +65,8 @@ EXAMPLE_DOC_STRING = """
|
|
65
65
|
"""
|
66
66
|
|
67
67
|
|
68
|
-
class AmusedInpaintPipeline(DiffusionPipeline):
|
68
|
+
class AmusedInpaintPipeline(DeprecatedPipelineMixin, DiffusionPipeline):
|
69
|
+
_last_supported_version = "0.33.1"
|
69
70
|
image_processor: VaeImageProcessor
|
70
71
|
vqvae: VQModel
|
71
72
|
tokenizer: CLIPTokenizer
|
@@ -203,10 +204,10 @@ class AmusedInpaintPipeline(DiffusionPipeline):
|
|
203
204
|
micro_conditioning_aesthetic_score (`int`, *optional*, defaults to 6):
|
204
205
|
The targeted aesthetic score according to the laion aesthetic classifier. See
|
205
206
|
https://laion.ai/blog/laion-aesthetics/ and the micro-conditioning section of
|
206
|
-
https://
|
207
|
+
https://huggingface.co/papers/2307.01952.
|
207
208
|
micro_conditioning_crop_coord (`Tuple[int]`, *optional*, defaults to (0, 0)):
|
208
209
|
The targeted height, width crop coordinates. See the micro-conditioning section of
|
209
|
-
https://
|
210
|
+
https://huggingface.co/papers/2307.01952.
|
210
211
|
temperature (`Union[int, Tuple[int, int], List[int]]`, *optional*, defaults to (2, 0)):
|
211
212
|
Configures the temperature scheduler on `self.scheduler` see `AmusedScheduler#set_timesteps`.
|
212
213
|
|
@@ -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.
|
@@ -428,7 +428,7 @@ class AnimateDiffPipeline(
|
|
428
428
|
def prepare_extra_step_kwargs(self, generator, eta):
|
429
429
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
430
430
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
431
|
-
# eta corresponds to η in DDIM paper: https://
|
431
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
432
432
|
# and should be between [0, 1]
|
433
433
|
|
434
434
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -514,7 +514,7 @@ class AnimateDiffPipeline(
|
|
514
514
|
def prepare_latents(
|
515
515
|
self, batch_size, num_channels_latents, num_frames, height, width, dtype, device, generator, latents=None
|
516
516
|
):
|
517
|
-
# If FreeNoise is enabled, generate latents as described in Equation (7) of [FreeNoise](https://
|
517
|
+
# If FreeNoise is enabled, generate latents as described in Equation (7) of [FreeNoise](https://huggingface.co/papers/2310.15169)
|
518
518
|
if self.free_noise_enabled:
|
519
519
|
latents = self._prepare_latents_free_noise(
|
520
520
|
batch_size, num_channels_latents, num_frames, height, width, dtype, device, generator, latents
|
@@ -552,7 +552,7 @@ class AnimateDiffPipeline(
|
|
552
552
|
return self._clip_skip
|
553
553
|
|
554
554
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
555
|
-
# of the Imagen paper: https://
|
555
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
556
556
|
# corresponds to doing no classifier free guidance.
|
557
557
|
@property
|
558
558
|
def do_classifier_free_guidance(self):
|
@@ -621,8 +621,8 @@ class AnimateDiffPipeline(
|
|
621
621
|
The prompt or prompts to guide what to not include in image generation. If not defined, you need to
|
622
622
|
pass `negative_prompt_embeds` instead. Ignored when not using guidance (`guidance_scale < 1`).
|
623
623
|
eta (`float`, *optional*, defaults to 0.0):
|
624
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
625
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
624
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
625
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
626
626
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
627
627
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
628
628
|
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.
|
@@ -472,7 +472,7 @@ class AnimateDiffControlNetPipeline(
|
|
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())
|
@@ -630,7 +630,7 @@ class AnimateDiffControlNetPipeline(
|
|
630
630
|
def prepare_latents(
|
631
631
|
self, batch_size, num_channels_latents, num_frames, height, width, dtype, device, generator, latents=None
|
632
632
|
):
|
633
|
-
# If FreeNoise is enabled, generate latents as described in Equation (7) of [FreeNoise](https://
|
633
|
+
# If FreeNoise is enabled, generate latents as described in Equation (7) of [FreeNoise](https://huggingface.co/papers/2310.15169)
|
634
634
|
if self.free_noise_enabled:
|
635
635
|
latents = self._prepare_latents_free_noise(
|
636
636
|
batch_size, num_channels_latents, num_frames, height, width, dtype, device, generator, latents
|
@@ -700,7 +700,7 @@ class AnimateDiffControlNetPipeline(
|
|
700
700
|
return self._clip_skip
|
701
701
|
|
702
702
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
703
|
-
# of the Imagen paper: https://
|
703
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
704
704
|
# corresponds to doing no classifier free guidance.
|
705
705
|
@property
|
706
706
|
def do_classifier_free_guidance(self):
|
@@ -772,8 +772,8 @@ class AnimateDiffControlNetPipeline(
|
|
772
772
|
The prompt or prompts to guide what to not include in image generation. If not defined, you need to
|
773
773
|
pass `negative_prompt_embeds` instead. Ignored when not using guidance (`guidance_scale < 1`).
|
774
774
|
eta (`float`, *optional*, defaults to 0.0):
|
775
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
776
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
775
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
776
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
777
777
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
778
778
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
779
779
|
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.
|
@@ -125,7 +125,7 @@ def rescale_noise_cfg(noise_cfg, noise_pred_text, guidance_rescale=0.0):
|
|
125
125
|
r"""
|
126
126
|
Rescales `noise_cfg` tensor based on `guidance_rescale` to improve image quality and fix overexposure. Based on
|
127
127
|
Section 3.4 from [Common Diffusion Noise Schedules and Sample Steps are
|
128
|
-
Flawed](https://
|
128
|
+
Flawed](https://huggingface.co/papers/2305.08891).
|
129
129
|
|
130
130
|
Args:
|
131
131
|
noise_cfg (`torch.Tensor`):
|
@@ -652,7 +652,7 @@ class AnimateDiffSDXLPipeline(
|
|
652
652
|
def prepare_extra_step_kwargs(self, generator, eta):
|
653
653
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
654
654
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
655
|
-
# eta corresponds to η in DDIM paper: https://
|
655
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
656
656
|
# and should be between [0, 1]
|
657
657
|
|
658
658
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -844,7 +844,7 @@ class AnimateDiffSDXLPipeline(
|
|
844
844
|
return self._clip_skip
|
845
845
|
|
846
846
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
847
|
-
# of the Imagen paper: https://
|
847
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
848
848
|
# corresponds to doing no classifier free guidance.
|
849
849
|
@property
|
850
850
|
def do_classifier_free_guidance(self):
|
@@ -948,11 +948,11 @@ class AnimateDiffSDXLPipeline(
|
|
948
948
|
"Mixture of Denoisers" multi-pipeline setup, as elaborated in [**Refining the Image
|
949
949
|
Output**](https://huggingface.co/docs/diffusers/api/pipelines/stable_diffusion/stable_diffusion_xl#refining-the-image-output)
|
950
950
|
guidance_scale (`float`, *optional*, defaults to 5.0):
|
951
|
-
Guidance scale as defined in [Classifier-Free Diffusion
|
952
|
-
`guidance_scale` is defined as `w` of equation 2.
|
953
|
-
Paper](https://
|
954
|
-
1`. Higher guidance scale encourages to generate images that are closely linked to
|
955
|
-
usually at the expense of lower video quality.
|
951
|
+
Guidance scale as defined in [Classifier-Free Diffusion
|
952
|
+
Guidance](https://huggingface.co/papers/2207.12598). `guidance_scale` is defined as `w` of equation 2.
|
953
|
+
of [Imagen Paper](https://huggingface.co/papers/2205.11487). Guidance scale is enabled by setting
|
954
|
+
`guidance_scale > 1`. Higher guidance scale encourages to generate images that are closely linked to
|
955
|
+
the text `prompt`, usually at the expense of lower video quality.
|
956
956
|
negative_prompt (`str` or `List[str]`, *optional*):
|
957
957
|
The prompt or prompts not to guide the video generation. If not defined, one has to pass
|
958
958
|
`negative_prompt_embeds` instead. Ignored when not using guidance (i.e., ignored if `guidance_scale` is
|
@@ -963,8 +963,8 @@ class AnimateDiffSDXLPipeline(
|
|
963
963
|
num_videos_per_prompt (`int`, *optional*, defaults to 1):
|
964
964
|
The number of videos to generate per prompt.
|
965
965
|
eta (`float`, *optional*, defaults to 0.0):
|
966
|
-
Corresponds to parameter eta (η) in the DDIM paper: https://
|
967
|
-
[`schedulers.DDIMScheduler`], will be ignored for others.
|
966
|
+
Corresponds to parameter eta (η) in the DDIM paper: https://huggingface.co/papers/2010.02502. Only
|
967
|
+
applies to [`schedulers.DDIMScheduler`], will be ignored for others.
|
968
968
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
969
969
|
One or a list of [torch generator(s)](https://pytorch.org/docs/stable/generated/torch.Generator.html)
|
970
970
|
to make generation deterministic.
|
@@ -1003,9 +1003,10 @@ class AnimateDiffSDXLPipeline(
|
|
1003
1003
|
[diffusers.models.attention_processor](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/attention_processor.py).
|
1004
1004
|
guidance_rescale (`float`, *optional*, defaults to 0.0):
|
1005
1005
|
Guidance rescale factor proposed by [Common Diffusion Noise Schedules and Sample Steps are
|
1006
|
-
Flawed](https://
|
1007
|
-
[Common Diffusion Noise Schedules and Sample Steps are
|
1008
|
-
Guidance rescale factor should fix overexposure when
|
1006
|
+
Flawed](https://huggingface.co/papers/2305.08891) `guidance_scale` is defined as `φ` in equation 16. of
|
1007
|
+
[Common Diffusion Noise Schedules and Sample Steps are
|
1008
|
+
Flawed](https://huggingface.co/papers/2305.08891). Guidance rescale factor should fix overexposure when
|
1009
|
+
using zero terminal SNR.
|
1009
1010
|
original_size (`Tuple[int]`, *optional*, defaults to (1024, 1024)):
|
1010
1011
|
If `original_size` is not the same as `target_size` the image will appear to be down- or upsampled.
|
1011
1012
|
`original_size` defaults to `(height, width)` if not specified. Part of SDXL's micro-conditioning as
|
@@ -1252,7 +1253,7 @@ class AnimateDiffSDXLPipeline(
|
|
1252
1253
|
noise_pred = noise_pred_uncond + self.guidance_scale * (noise_pred_text - noise_pred_uncond)
|
1253
1254
|
|
1254
1255
|
if self.do_classifier_free_guidance and self.guidance_rescale > 0.0:
|
1255
|
-
# Based on 3.4. in https://
|
1256
|
+
# Based on 3.4. in https://huggingface.co/papers/2305.08891
|
1256
1257
|
noise_pred = rescale_noise_cfg(
|
1257
1258
|
noise_pred, noise_pred_text, guidance_rescale=self.guidance_rescale
|
1258
1259
|
)
|
@@ -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.
|
@@ -140,7 +140,7 @@ class AnimateDiffSparseControlNetPipeline(
|
|
140
140
|
):
|
141
141
|
r"""
|
142
142
|
Pipeline for controlled text-to-video generation using the method described in [SparseCtrl: Adding Sparse Controls
|
143
|
-
to Text-to-Video Diffusion Models](https://
|
143
|
+
to Text-to-Video Diffusion Models](https://huggingface.co/papers/2311.16933).
|
144
144
|
|
145
145
|
This model inherits from [`DiffusionPipeline`]. Check the superclass documentation for the generic methods
|
146
146
|
implemented for all pipelines (downloading, saving, running on a particular device, etc.).
|
@@ -475,7 +475,7 @@ class AnimateDiffSparseControlNetPipeline(
|
|
475
475
|
def prepare_extra_step_kwargs(self, generator, eta):
|
476
476
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
477
477
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
478
|
-
# eta corresponds to η in DDIM paper: https://
|
478
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
479
479
|
# and should be between [0, 1]
|
480
480
|
|
481
481
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -695,7 +695,7 @@ class AnimateDiffSparseControlNetPipeline(
|
|
695
695
|
return self._clip_skip
|
696
696
|
|
697
697
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
698
|
-
# of the Imagen paper: https://
|
698
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
699
699
|
# corresponds to doing no classifier free guidance.
|
700
700
|
@property
|
701
701
|
def do_classifier_free_guidance(self):
|
@@ -762,8 +762,8 @@ class AnimateDiffSparseControlNetPipeline(
|
|
762
762
|
The prompt or prompts to guide what to not include in image generation. If not defined, you need to
|
763
763
|
pass `negative_prompt_embeds` instead. Ignored when not using guidance (`guidance_scale < 1`).
|
764
764
|
eta (`float`, *optional*, defaults to 0.0):
|
765
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
766
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
765
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
766
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
767
767
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
768
768
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
769
769
|
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.
|
@@ -539,7 +539,7 @@ class AnimateDiffVideoToVideoPipeline(
|
|
539
539
|
def prepare_extra_step_kwargs(self, generator, eta):
|
540
540
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
541
541
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
542
|
-
# eta corresponds to η in DDIM paper: https://
|
542
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
543
543
|
# and should be between [0, 1]
|
544
544
|
|
545
545
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -725,7 +725,7 @@ class AnimateDiffVideoToVideoPipeline(
|
|
725
725
|
return self._clip_skip
|
726
726
|
|
727
727
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
728
|
-
# of the Imagen paper: https://
|
728
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
729
729
|
# corresponds to doing no classifier free guidance.
|
730
730
|
@property
|
731
731
|
def do_classifier_free_guidance(self):
|
@@ -805,8 +805,8 @@ class AnimateDiffVideoToVideoPipeline(
|
|
805
805
|
The prompt or prompts to guide what to not include in image generation. If not defined, you need to
|
806
806
|
pass `negative_prompt_embeds` instead. Ignored when not using guidance (`guidance_scale < 1`).
|
807
807
|
eta (`float`, *optional*, defaults to 0.0):
|
808
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
809
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
808
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
809
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
810
810
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
811
811
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
812
812
|
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.
|
@@ -571,7 +571,7 @@ class AnimateDiffVideoToVideoControlNetPipeline(
|
|
571
571
|
def prepare_extra_step_kwargs(self, generator, eta):
|
572
572
|
# prepare extra kwargs for the scheduler step, since not all schedulers have the same signature
|
573
573
|
# eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.
|
574
|
-
# eta corresponds to η in DDIM paper: https://
|
574
|
+
# eta corresponds to η in DDIM paper: https://huggingface.co/papers/2010.02502
|
575
575
|
# and should be between [0, 1]
|
576
576
|
|
577
577
|
accepts_eta = "eta" in set(inspect.signature(self.scheduler.step).parameters.keys())
|
@@ -890,7 +890,7 @@ class AnimateDiffVideoToVideoControlNetPipeline(
|
|
890
890
|
return self._clip_skip
|
891
891
|
|
892
892
|
# here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)
|
893
|
-
# of the Imagen paper: https://
|
893
|
+
# of the Imagen paper: https://huggingface.co/papers/2205.11487 . `guidance_scale = 1`
|
894
894
|
# corresponds to doing no classifier free guidance.
|
895
895
|
@property
|
896
896
|
def do_classifier_free_guidance(self):
|
@@ -975,8 +975,8 @@ class AnimateDiffVideoToVideoControlNetPipeline(
|
|
975
975
|
The prompt or prompts to guide what to not include in image generation. If not defined, you need to
|
976
976
|
pass `negative_prompt_embeds` instead. Ignored when not using guidance (`guidance_scale < 1`).
|
977
977
|
eta (`float`, *optional*, defaults to 0.0):
|
978
|
-
Corresponds to parameter eta (η) from the [DDIM](https://
|
979
|
-
to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
978
|
+
Corresponds to parameter eta (η) from the [DDIM](https://huggingface.co/papers/2010.02502) paper. Only
|
979
|
+
applies to the [`~schedulers.DDIMScheduler`], and is ignored in other schedulers.
|
980
980
|
generator (`torch.Generator` or `List[torch.Generator]`, *optional*):
|
981
981
|
A [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make
|
982
982
|
generation deterministic.
|