diffusers 0.29.0__tar.gz → 0.29.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {diffusers-0.29.0/src/diffusers.egg-info → diffusers-0.29.2}/PKG-INFO +76 -2
- {diffusers-0.29.0 → diffusers-0.29.2}/setup.py +1 -1
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/__init__.py +7 -1
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/lora.py +3 -4
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/lora_conversion_utils.py +145 -110
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/single_file.py +12 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/single_file_model.py +10 -8
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/single_file_utils.py +33 -23
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/__init__.py +2 -0
- diffusers-0.29.2/src/diffusers/models/controlnet_sd3.py +418 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/modeling_utils.py +10 -3
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/transformer_2d.py +4 -2
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/transformer_sd3.py +17 -8
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/__init__.py +9 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/auto_pipeline.py +8 -0
- diffusers-0.29.2/src/diffusers/pipelines/controlnet_sd3/__init__.py +53 -0
- diffusers-0.29.2/src/diffusers/pipelines/controlnet_sd3/pipeline_stable_diffusion_3_controlnet.py +1062 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py +23 -5
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3_img2img.py +23 -5
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_pt_objects.py +30 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_torch_and_transformers_objects.py +15 -0
- {diffusers-0.29.0 → diffusers-0.29.2/src/diffusers.egg-info}/PKG-INFO +76 -2
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers.egg-info/SOURCES.txt +3 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/LICENSE +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/MANIFEST.in +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/README.md +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/pyproject.toml +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/setup.cfg +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/callbacks.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/commands/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/commands/diffusers_cli.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/commands/env.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/commands/fp16_safetensors.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/configuration_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/dependency_versions_check.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/dependency_versions_table.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/experimental/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/experimental/rl/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/experimental/rl/value_guided_sampling.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/image_processor.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/autoencoder.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/controlnet.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/ip_adapter.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/peft.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/textual_inversion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/unet.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/unet_loader_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/loaders/utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/activations.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/adapter.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/attention.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/attention_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/attention_processor.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/autoencoder_asym_kl.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/autoencoder_kl.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/autoencoder_kl_temporal_decoder.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/autoencoder_tiny.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/consistency_decoder_vae.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/vae.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/autoencoders/vq_model.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/controlnet.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/controlnet_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/controlnet_xs.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/downsampling.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/embeddings.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/embeddings_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/lora.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/model_loading_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/modeling_flax_pytorch_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/modeling_flax_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/modeling_outputs.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/modeling_pytorch_flax_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/normalization.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/resnet.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/resnet_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/dit_transformer_2d.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/dual_transformer_2d.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/hunyuan_transformer_2d.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/pixart_transformer_2d.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/prior_transformer.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/t5_film_transformer.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/transformers/transformer_temporal.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_1d.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_1d_blocks.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_2d.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_2d_blocks.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_2d_blocks_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_2d_condition.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_2d_condition_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_3d_blocks.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_3d_condition.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_i2vgen_xl.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_kandinsky3.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_motion_model.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_spatio_temporal_condition.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/unet_stable_cascade.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/unets/uvit_2d.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/upsampling.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/vae_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/models/vq_model.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/optimization.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/amused/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/amused/pipeline_amused.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/amused/pipeline_amused_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/amused/pipeline_amused_inpaint.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/animatediff/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/animatediff/pipeline_animatediff.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/animatediff/pipeline_animatediff_sdxl.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/animatediff/pipeline_animatediff_video2video.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/animatediff/pipeline_output.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/audioldm/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/audioldm/pipeline_audioldm.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/audioldm2/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/audioldm2/modeling_audioldm2.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/audioldm2/pipeline_audioldm2.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/blip_diffusion/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/blip_diffusion/blip_image_processing.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/blip_diffusion/modeling_blip2.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/blip_diffusion/modeling_ctx_clip.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/blip_diffusion/pipeline_blip_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/consistency_models/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/consistency_models/pipeline_consistency_models.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/multicontrolnet.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_blip_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_inpaint.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_inpaint_sd_xl.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_sd_xl_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet/pipeline_flax_controlnet.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet_xs/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/controlnet_xs/pipeline_controlnet_xs_sd_xl.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/dance_diffusion/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/dance_diffusion/pipeline_dance_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ddim/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ddim/pipeline_ddim.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ddpm/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ddpm/pipeline_ddpm.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img_superresolution.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting_superresolution.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_superresolution.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_output.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/safety_checker.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/timesteps.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deepfloyd_if/watermark.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/alt_diffusion/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/alt_diffusion/modeling_roberta_series.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/alt_diffusion/pipeline_alt_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/alt_diffusion/pipeline_alt_diffusion_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/alt_diffusion/pipeline_output.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/audio_diffusion/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/audio_diffusion/mel.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/audio_diffusion/pipeline_audio_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/latent_diffusion_uncond/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/latent_diffusion_uncond/pipeline_latent_diffusion_uncond.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/pndm/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/pndm/pipeline_pndm.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/repaint/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/repaint/pipeline_repaint.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/score_sde_ve/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/score_sde_ve/pipeline_score_sde_ve.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/continuous_encoder.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/midi_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/notes_encoder.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/spectrogram_diffusion/pipeline_spectrogram_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_cycle_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_onnx_stable_diffusion_inpaint_legacy.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_inpaint_legacy.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_model_editing.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_paradigms.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stable_diffusion_variants/pipeline_stable_diffusion_pix2pix_zero.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stochastic_karras_ve/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/stochastic_karras_ve/pipeline_stochastic_karras_ve.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/versatile_diffusion/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/versatile_diffusion/modeling_text_unet.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_dual_guided.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_image_variation.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/versatile_diffusion/pipeline_versatile_diffusion_text_to_image.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/vq_diffusion/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/deprecated/vq_diffusion/pipeline_vq_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/dit/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/dit/pipeline_dit.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/free_init_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/hunyuandit/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/hunyuandit/pipeline_hunyuandit.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/i2vgen_xl/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/i2vgen_xl/pipeline_i2vgen_xl.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_combined.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_inpaint.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_prior.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky/text_encoder.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_combined.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpainting.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior_emb2emb.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky3/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky3/convert_kandinsky3_unet.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky3/pipeline_kandinsky3.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/kandinsky3/pipeline_kandinsky3_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/latent_consistency_models/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_text2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/latent_diffusion/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion_superresolution.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ledits_pp/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ledits_pp/pipeline_leditspp_stable_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ledits_pp/pipeline_leditspp_stable_diffusion_xl.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/ledits_pp/pipeline_output.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/marigold/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/marigold/marigold_image_processing.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/marigold/pipeline_marigold_depth.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/marigold/pipeline_marigold_normals.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/musicldm/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/musicldm/pipeline_musicldm.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/onnx_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/paint_by_example/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/paint_by_example/image_encoder.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/paint_by_example/pipeline_paint_by_example.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pia/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pia/pipeline_pia.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pipeline_flax_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pipeline_loading_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pipeline_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pixart_alpha/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pixart_alpha/pipeline_pixart_alpha.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/pixart_alpha/pipeline_pixart_sigma.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/semantic_stable_diffusion/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/semantic_stable_diffusion/pipeline_output.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/semantic_stable_diffusion/pipeline_semantic_stable_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/shap_e/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/shap_e/camera.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/shap_e/pipeline_shap_e.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/shap_e/pipeline_shap_e_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/shap_e/renderer.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_cascade/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_combined.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_cascade/pipeline_stable_cascade_prior.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/clip_image_project_model.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/convert_from_ckpt.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_inpaint.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_inpaint.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_upscale.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_output.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_depth2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_image_variation.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_instruct_pix2pix.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_latent_upscale.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_upscale.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/safety_checker.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/safety_checker_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion/stable_unclip_image_normalizer.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_3/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_3/pipeline_output.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_attend_and_excite/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_attend_and_excite/pipeline_stable_diffusion_attend_and_excite.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_diffedit/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_diffedit/pipeline_stable_diffusion_diffedit.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_gligen/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_gligen/pipeline_stable_diffusion_gligen_text_image.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_k_diffusion/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_k_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_k_diffusion/pipeline_stable_diffusion_xl_k_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_ldm3d/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_ldm3d/pipeline_stable_diffusion_ldm3d.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_panorama/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_panorama/pipeline_stable_diffusion_panorama.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_safe/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_safe/pipeline_output.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_safe/pipeline_stable_diffusion_safe.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_safe/safety_checker.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_sag/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_sag/pipeline_stable_diffusion_sag.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_flax_stable_diffusion_xl.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_output.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_inpaint.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_instruct_pix2pix.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_diffusion_xl/watermark.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_video_diffusion/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/stable_video_diffusion/pipeline_stable_video_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/t2i_adapter/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_adapter.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/t2i_adapter/pipeline_stable_diffusion_xl_adapter.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/text_to_video_synthesis/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_output.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth_img2img.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero_sdxl.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unclip/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unclip/pipeline_unclip.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unclip/pipeline_unclip_image_variation.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unclip/text_proj.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unidiffuser/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unidiffuser/modeling_text_decoder.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unidiffuser/modeling_uvit.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/unidiffuser/pipeline_unidiffuser.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/modeling_paella_vq_model.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/modeling_wuerstchen_common.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/modeling_wuerstchen_diffnext.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/modeling_wuerstchen_prior.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/pipeline_wuerstchen.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/pipeline_wuerstchen_combined.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/pipelines/wuerstchen/pipeline_wuerstchen_prior.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/py.typed +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/deprecated/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/deprecated/scheduling_karras_ve.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/deprecated/scheduling_sde_vp.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_amused.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_consistency_decoder.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_consistency_models.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddim.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddim_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddim_inverse.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddim_parallel.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddpm.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddpm_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddpm_parallel.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ddpm_wuerstchen.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_deis_multistep.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_dpmsolver_multistep_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_dpmsolver_sde.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_edm_dpmsolver_multistep.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_edm_euler.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_euler_ancestral_discrete.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_euler_discrete.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_euler_discrete_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_flow_match_euler_discrete.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_heun_discrete.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_ipndm.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_k_dpm_2_ancestral_discrete.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_k_dpm_2_discrete.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_karras_ve_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_lcm.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_lms_discrete.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_lms_discrete_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_pndm.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_pndm_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_repaint.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_sasolver.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_sde_ve.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_sde_ve_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_tcd.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_unclip.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_unipc_multistep.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_utils_flax.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/schedulers/scheduling_vq_diffusion.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/training_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/__init__.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/accelerate_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/constants.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/deprecation_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/doc_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_flax_and_transformers_objects.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_flax_objects.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_note_seq_objects.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_onnx_objects.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_torch_and_librosa_objects.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_torch_and_scipy_objects.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_torch_and_torchsde_objects.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_torch_and_transformers_and_k_diffusion_objects.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_torch_and_transformers_and_onnx_objects.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dummy_transformers_and_torch_and_note_seq_objects.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/dynamic_modules_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/export_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/hub_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/import_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/loading_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/logging.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/model_card_template.md +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/outputs.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/peft_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/pil_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/state_dict_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/testing_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/torch_utils.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/utils/versions.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers/video_processor.py +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers.egg-info/dependency_links.txt +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers.egg-info/entry_points.txt +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers.egg-info/requires.txt +0 -0
- {diffusers-0.29.0 → diffusers-0.29.2}/src/diffusers.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: diffusers
|
3
|
-
Version: 0.29.
|
3
|
+
Version: 0.29.2
|
4
4
|
Summary: State-of-the-art diffusion in PyTorch and JAX.
|
5
5
|
Home-page: https://github.com/huggingface/diffusers
|
6
6
|
Author: The Hugging Face team (past and future) with the help of all our contributors (https://github.com/huggingface/diffusers/graphs/contributors)
|
@@ -20,14 +20,88 @@ Classifier: Programming Language :: Python :: 3.9
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.10
|
21
21
|
Requires-Python: >=3.8.0
|
22
22
|
Description-Content-Type: text/markdown
|
23
|
+
License-File: LICENSE
|
24
|
+
Requires-Dist: importlib_metadata
|
25
|
+
Requires-Dist: filelock
|
26
|
+
Requires-Dist: huggingface-hub>=0.23.2
|
27
|
+
Requires-Dist: numpy
|
28
|
+
Requires-Dist: regex!=2019.12.17
|
29
|
+
Requires-Dist: requests
|
30
|
+
Requires-Dist: safetensors>=0.3.1
|
31
|
+
Requires-Dist: Pillow
|
23
32
|
Provides-Extra: quality
|
33
|
+
Requires-Dist: urllib3<=2.0.0; extra == "quality"
|
34
|
+
Requires-Dist: isort>=5.5.4; extra == "quality"
|
35
|
+
Requires-Dist: ruff==0.1.5; extra == "quality"
|
36
|
+
Requires-Dist: hf-doc-builder>=0.3.0; extra == "quality"
|
24
37
|
Provides-Extra: docs
|
38
|
+
Requires-Dist: hf-doc-builder>=0.3.0; extra == "docs"
|
25
39
|
Provides-Extra: training
|
40
|
+
Requires-Dist: accelerate>=0.29.3; extra == "training"
|
41
|
+
Requires-Dist: datasets; extra == "training"
|
42
|
+
Requires-Dist: protobuf<4,>=3.20.3; extra == "training"
|
43
|
+
Requires-Dist: tensorboard; extra == "training"
|
44
|
+
Requires-Dist: Jinja2; extra == "training"
|
45
|
+
Requires-Dist: peft>=0.6.0; extra == "training"
|
26
46
|
Provides-Extra: test
|
47
|
+
Requires-Dist: compel==0.1.8; extra == "test"
|
48
|
+
Requires-Dist: GitPython<3.1.19; extra == "test"
|
49
|
+
Requires-Dist: datasets; extra == "test"
|
50
|
+
Requires-Dist: Jinja2; extra == "test"
|
51
|
+
Requires-Dist: invisible-watermark>=0.2.0; extra == "test"
|
52
|
+
Requires-Dist: k-diffusion>=0.0.12; extra == "test"
|
53
|
+
Requires-Dist: librosa; extra == "test"
|
54
|
+
Requires-Dist: parameterized; extra == "test"
|
55
|
+
Requires-Dist: pytest; extra == "test"
|
56
|
+
Requires-Dist: pytest-timeout; extra == "test"
|
57
|
+
Requires-Dist: pytest-xdist; extra == "test"
|
58
|
+
Requires-Dist: requests-mock==1.10.0; extra == "test"
|
59
|
+
Requires-Dist: safetensors>=0.3.1; extra == "test"
|
60
|
+
Requires-Dist: sentencepiece!=0.1.92,>=0.1.91; extra == "test"
|
61
|
+
Requires-Dist: scipy; extra == "test"
|
62
|
+
Requires-Dist: torchvision; extra == "test"
|
63
|
+
Requires-Dist: transformers>=4.25.1; extra == "test"
|
27
64
|
Provides-Extra: torch
|
65
|
+
Requires-Dist: torch>=1.4; extra == "torch"
|
66
|
+
Requires-Dist: accelerate>=0.29.3; extra == "torch"
|
28
67
|
Provides-Extra: flax
|
68
|
+
Requires-Dist: jax>=0.4.1; extra == "flax"
|
69
|
+
Requires-Dist: jaxlib>=0.4.1; extra == "flax"
|
70
|
+
Requires-Dist: flax>=0.4.1; extra == "flax"
|
29
71
|
Provides-Extra: dev
|
30
|
-
|
72
|
+
Requires-Dist: urllib3<=2.0.0; extra == "dev"
|
73
|
+
Requires-Dist: isort>=5.5.4; extra == "dev"
|
74
|
+
Requires-Dist: ruff==0.1.5; extra == "dev"
|
75
|
+
Requires-Dist: hf-doc-builder>=0.3.0; extra == "dev"
|
76
|
+
Requires-Dist: compel==0.1.8; extra == "dev"
|
77
|
+
Requires-Dist: GitPython<3.1.19; extra == "dev"
|
78
|
+
Requires-Dist: datasets; extra == "dev"
|
79
|
+
Requires-Dist: Jinja2; extra == "dev"
|
80
|
+
Requires-Dist: invisible-watermark>=0.2.0; extra == "dev"
|
81
|
+
Requires-Dist: k-diffusion>=0.0.12; extra == "dev"
|
82
|
+
Requires-Dist: librosa; extra == "dev"
|
83
|
+
Requires-Dist: parameterized; extra == "dev"
|
84
|
+
Requires-Dist: pytest; extra == "dev"
|
85
|
+
Requires-Dist: pytest-timeout; extra == "dev"
|
86
|
+
Requires-Dist: pytest-xdist; extra == "dev"
|
87
|
+
Requires-Dist: requests-mock==1.10.0; extra == "dev"
|
88
|
+
Requires-Dist: safetensors>=0.3.1; extra == "dev"
|
89
|
+
Requires-Dist: sentencepiece!=0.1.92,>=0.1.91; extra == "dev"
|
90
|
+
Requires-Dist: scipy; extra == "dev"
|
91
|
+
Requires-Dist: torchvision; extra == "dev"
|
92
|
+
Requires-Dist: transformers>=4.25.1; extra == "dev"
|
93
|
+
Requires-Dist: accelerate>=0.29.3; extra == "dev"
|
94
|
+
Requires-Dist: datasets; extra == "dev"
|
95
|
+
Requires-Dist: protobuf<4,>=3.20.3; extra == "dev"
|
96
|
+
Requires-Dist: tensorboard; extra == "dev"
|
97
|
+
Requires-Dist: Jinja2; extra == "dev"
|
98
|
+
Requires-Dist: peft>=0.6.0; extra == "dev"
|
99
|
+
Requires-Dist: hf-doc-builder>=0.3.0; extra == "dev"
|
100
|
+
Requires-Dist: torch>=1.4; extra == "dev"
|
101
|
+
Requires-Dist: accelerate>=0.29.3; extra == "dev"
|
102
|
+
Requires-Dist: jax>=0.4.1; extra == "dev"
|
103
|
+
Requires-Dist: jaxlib>=0.4.1; extra == "dev"
|
104
|
+
Requires-Dist: flax>=0.4.1; extra == "dev"
|
31
105
|
|
32
106
|
<!---
|
33
107
|
Copyright 2022 - The HuggingFace Team. All rights reserved.
|
@@ -254,7 +254,7 @@ version_range_max = max(sys.version_info[1], 10) + 1
|
|
254
254
|
|
255
255
|
setup(
|
256
256
|
name="diffusers",
|
257
|
-
version="0.29.
|
257
|
+
version="0.29.2", # expected format is one of x.y.z.dev0, or x.y.z.rc1 or x.y.z (no to dashes, yes to dots)
|
258
258
|
description="State-of-the-art diffusion in PyTorch and JAX.",
|
259
259
|
long_description=open("README.md", "r", encoding="utf-8").read(),
|
260
260
|
long_description_content_type="text/markdown",
|
@@ -1,4 +1,4 @@
|
|
1
|
-
__version__ = "0.29.
|
1
|
+
__version__ = "0.29.2"
|
2
2
|
|
3
3
|
from typing import TYPE_CHECKING
|
4
4
|
|
@@ -91,6 +91,8 @@ else:
|
|
91
91
|
"MultiAdapter",
|
92
92
|
"PixArtTransformer2DModel",
|
93
93
|
"PriorTransformer",
|
94
|
+
"SD3ControlNetModel",
|
95
|
+
"SD3MultiControlNetModel",
|
94
96
|
"SD3Transformer2DModel",
|
95
97
|
"StableCascadeUNet",
|
96
98
|
"T2IAdapter",
|
@@ -278,6 +280,7 @@ else:
|
|
278
280
|
"StableCascadeCombinedPipeline",
|
279
281
|
"StableCascadeDecoderPipeline",
|
280
282
|
"StableCascadePriorPipeline",
|
283
|
+
"StableDiffusion3ControlNetPipeline",
|
281
284
|
"StableDiffusion3Img2ImgPipeline",
|
282
285
|
"StableDiffusion3Pipeline",
|
283
286
|
"StableDiffusionAdapterPipeline",
|
@@ -501,6 +504,8 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
501
504
|
MultiAdapter,
|
502
505
|
PixArtTransformer2DModel,
|
503
506
|
PriorTransformer,
|
507
|
+
SD3ControlNetModel,
|
508
|
+
SD3MultiControlNetModel,
|
504
509
|
SD3Transformer2DModel,
|
505
510
|
T2IAdapter,
|
506
511
|
T5FilmDecoder,
|
@@ -666,6 +671,7 @@ if TYPE_CHECKING or DIFFUSERS_SLOW_IMPORT:
|
|
666
671
|
StableCascadeCombinedPipeline,
|
667
672
|
StableCascadeDecoderPipeline,
|
668
673
|
StableCascadePriorPipeline,
|
674
|
+
StableDiffusion3ControlNetPipeline,
|
669
675
|
StableDiffusion3Img2ImgPipeline,
|
670
676
|
StableDiffusion3Pipeline,
|
671
677
|
StableDiffusionAdapterPipeline,
|
@@ -42,7 +42,7 @@ from ..utils import (
|
|
42
42
|
set_adapter_layers,
|
43
43
|
set_weights_and_activate_adapters,
|
44
44
|
)
|
45
|
-
from .lora_conversion_utils import
|
45
|
+
from .lora_conversion_utils import _convert_non_diffusers_lora_to_diffusers, _maybe_map_sgm_blocks_to_diffusers
|
46
46
|
|
47
47
|
|
48
48
|
if is_transformers_available():
|
@@ -287,7 +287,7 @@ class LoraLoaderMixin:
|
|
287
287
|
if unet_config is not None:
|
288
288
|
# use unet config to remap block numbers
|
289
289
|
state_dict = _maybe_map_sgm_blocks_to_diffusers(state_dict, unet_config)
|
290
|
-
state_dict, network_alphas =
|
290
|
+
state_dict, network_alphas = _convert_non_diffusers_lora_to_diffusers(state_dict)
|
291
291
|
|
292
292
|
return state_dict, network_alphas
|
293
293
|
|
@@ -395,8 +395,7 @@ class LoraLoaderMixin:
|
|
395
395
|
# their prefixes.
|
396
396
|
keys = list(state_dict.keys())
|
397
397
|
only_text_encoder = all(key.startswith(cls.text_encoder_name) for key in keys)
|
398
|
-
|
399
|
-
if any(key.startswith(cls.unet_name) for key in keys) and not only_text_encoder:
|
398
|
+
if not only_text_encoder:
|
400
399
|
# Load the layers corresponding to UNet.
|
401
400
|
logger.info(f"Loading {cls.unet_name}.")
|
402
401
|
unet.load_attn_procs(
|
@@ -123,134 +123,76 @@ def _maybe_map_sgm_blocks_to_diffusers(state_dict, unet_config, delimiter="_", b
|
|
123
123
|
return new_state_dict
|
124
124
|
|
125
125
|
|
126
|
-
def
|
126
|
+
def _convert_non_diffusers_lora_to_diffusers(state_dict, unet_name="unet", text_encoder_name="text_encoder"):
|
127
|
+
"""
|
128
|
+
Converts a non-Diffusers LoRA state dict to a Diffusers compatible state dict.
|
129
|
+
|
130
|
+
Args:
|
131
|
+
state_dict (`dict`): The state dict to convert.
|
132
|
+
unet_name (`str`, optional): The name of the U-Net module in the Diffusers model. Defaults to "unet".
|
133
|
+
text_encoder_name (`str`, optional): The name of the text encoder module in the Diffusers model. Defaults to
|
134
|
+
"text_encoder".
|
135
|
+
|
136
|
+
Returns:
|
137
|
+
`tuple`: A tuple containing the converted state dict and a dictionary of alphas.
|
138
|
+
"""
|
127
139
|
unet_state_dict = {}
|
128
140
|
te_state_dict = {}
|
129
141
|
te2_state_dict = {}
|
130
142
|
network_alphas = {}
|
131
|
-
is_unet_dora_lora = any("dora_scale" in k and "lora_unet_" in k for k in state_dict)
|
132
|
-
is_te_dora_lora = any("dora_scale" in k and ("lora_te_" in k or "lora_te1_" in k) for k in state_dict)
|
133
|
-
is_te2_dora_lora = any("dora_scale" in k and "lora_te2_" in k for k in state_dict)
|
134
143
|
|
135
|
-
|
144
|
+
# Check for DoRA-enabled LoRAs.
|
145
|
+
dora_present_in_unet = any("dora_scale" in k and "lora_unet_" in k for k in state_dict)
|
146
|
+
dora_present_in_te = any("dora_scale" in k and ("lora_te_" in k or "lora_te1_" in k) for k in state_dict)
|
147
|
+
dora_present_in_te2 = any("dora_scale" in k and "lora_te2_" in k for k in state_dict)
|
148
|
+
if dora_present_in_unet or dora_present_in_te or dora_present_in_te2:
|
136
149
|
if is_peft_version("<", "0.9.0"):
|
137
150
|
raise ValueError(
|
138
151
|
"You need `peft` 0.9.0 at least to use DoRA-enabled LoRAs. Please upgrade your installation of `peft`."
|
139
152
|
)
|
140
153
|
|
141
|
-
#
|
142
|
-
|
143
|
-
for key in
|
154
|
+
# Iterate over all LoRA weights.
|
155
|
+
all_lora_keys = list(state_dict.keys())
|
156
|
+
for key in all_lora_keys:
|
157
|
+
if not key.endswith("lora_down.weight"):
|
158
|
+
continue
|
159
|
+
|
160
|
+
# Extract LoRA name.
|
144
161
|
lora_name = key.split(".")[0]
|
162
|
+
|
163
|
+
# Find corresponding up weight and alpha.
|
145
164
|
lora_name_up = lora_name + ".lora_up.weight"
|
146
165
|
lora_name_alpha = lora_name + ".alpha"
|
147
166
|
|
167
|
+
# Handle U-Net LoRAs.
|
148
168
|
if lora_name.startswith("lora_unet_"):
|
149
|
-
diffusers_name = key
|
150
|
-
|
151
|
-
if "input.blocks" in diffusers_name:
|
152
|
-
diffusers_name = diffusers_name.replace("input.blocks", "down_blocks")
|
153
|
-
else:
|
154
|
-
diffusers_name = diffusers_name.replace("down.blocks", "down_blocks")
|
169
|
+
diffusers_name = _convert_unet_lora_key(key)
|
155
170
|
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
diffusers_name = diffusers_name.replace("mid.block", "mid_block")
|
160
|
-
if "output.blocks" in diffusers_name:
|
161
|
-
diffusers_name = diffusers_name.replace("output.blocks", "up_blocks")
|
162
|
-
else:
|
163
|
-
diffusers_name = diffusers_name.replace("up.blocks", "up_blocks")
|
164
|
-
|
165
|
-
diffusers_name = diffusers_name.replace("transformer.blocks", "transformer_blocks")
|
166
|
-
diffusers_name = diffusers_name.replace("to.q.lora", "to_q_lora")
|
167
|
-
diffusers_name = diffusers_name.replace("to.k.lora", "to_k_lora")
|
168
|
-
diffusers_name = diffusers_name.replace("to.v.lora", "to_v_lora")
|
169
|
-
diffusers_name = diffusers_name.replace("to.out.0.lora", "to_out_lora")
|
170
|
-
diffusers_name = diffusers_name.replace("proj.in", "proj_in")
|
171
|
-
diffusers_name = diffusers_name.replace("proj.out", "proj_out")
|
172
|
-
diffusers_name = diffusers_name.replace("emb.layers", "time_emb_proj")
|
173
|
-
|
174
|
-
# SDXL specificity.
|
175
|
-
if "emb" in diffusers_name and "time.emb.proj" not in diffusers_name:
|
176
|
-
pattern = r"\.\d+(?=\D*$)"
|
177
|
-
diffusers_name = re.sub(pattern, "", diffusers_name, count=1)
|
178
|
-
if ".in." in diffusers_name:
|
179
|
-
diffusers_name = diffusers_name.replace("in.layers.2", "conv1")
|
180
|
-
if ".out." in diffusers_name:
|
181
|
-
diffusers_name = diffusers_name.replace("out.layers.3", "conv2")
|
182
|
-
if "downsamplers" in diffusers_name or "upsamplers" in diffusers_name:
|
183
|
-
diffusers_name = diffusers_name.replace("op", "conv")
|
184
|
-
if "skip" in diffusers_name:
|
185
|
-
diffusers_name = diffusers_name.replace("skip.connection", "conv_shortcut")
|
186
|
-
|
187
|
-
# LyCORIS specificity.
|
188
|
-
if "time.emb.proj" in diffusers_name:
|
189
|
-
diffusers_name = diffusers_name.replace("time.emb.proj", "time_emb_proj")
|
190
|
-
if "conv.shortcut" in diffusers_name:
|
191
|
-
diffusers_name = diffusers_name.replace("conv.shortcut", "conv_shortcut")
|
192
|
-
|
193
|
-
# General coverage.
|
194
|
-
if "transformer_blocks" in diffusers_name:
|
195
|
-
if "attn1" in diffusers_name or "attn2" in diffusers_name:
|
196
|
-
diffusers_name = diffusers_name.replace("attn1", "attn1.processor")
|
197
|
-
diffusers_name = diffusers_name.replace("attn2", "attn2.processor")
|
198
|
-
unet_state_dict[diffusers_name] = state_dict.pop(key)
|
199
|
-
unet_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
|
200
|
-
elif "ff" in diffusers_name:
|
201
|
-
unet_state_dict[diffusers_name] = state_dict.pop(key)
|
202
|
-
unet_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
|
203
|
-
elif any(key in diffusers_name for key in ("proj_in", "proj_out")):
|
204
|
-
unet_state_dict[diffusers_name] = state_dict.pop(key)
|
205
|
-
unet_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
|
206
|
-
else:
|
207
|
-
unet_state_dict[diffusers_name] = state_dict.pop(key)
|
208
|
-
unet_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
|
171
|
+
# Store down and up weights.
|
172
|
+
unet_state_dict[diffusers_name] = state_dict.pop(key)
|
173
|
+
unet_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
|
209
174
|
|
210
|
-
if
|
175
|
+
# Store DoRA scale if present.
|
176
|
+
if dora_present_in_unet:
|
211
177
|
dora_scale_key_to_replace = "_lora.down." if "_lora.down." in diffusers_name else ".lora.down."
|
212
178
|
unet_state_dict[
|
213
179
|
diffusers_name.replace(dora_scale_key_to_replace, ".lora_magnitude_vector.")
|
214
180
|
] = state_dict.pop(key.replace("lora_down.weight", "dora_scale"))
|
215
181
|
|
182
|
+
# Handle text encoder LoRAs.
|
216
183
|
elif lora_name.startswith(("lora_te_", "lora_te1_", "lora_te2_")):
|
184
|
+
diffusers_name = _convert_text_encoder_lora_key(key, lora_name)
|
185
|
+
|
186
|
+
# Store down and up weights for te or te2.
|
217
187
|
if lora_name.startswith(("lora_te_", "lora_te1_")):
|
218
|
-
|
188
|
+
te_state_dict[diffusers_name] = state_dict.pop(key)
|
189
|
+
te_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
|
219
190
|
else:
|
220
|
-
key_to_replace = "lora_te2_"
|
221
|
-
|
222
|
-
diffusers_name = key.replace(key_to_replace, "").replace("_", ".")
|
223
|
-
diffusers_name = diffusers_name.replace("text.model", "text_model")
|
224
|
-
diffusers_name = diffusers_name.replace("self.attn", "self_attn")
|
225
|
-
diffusers_name = diffusers_name.replace("q.proj.lora", "to_q_lora")
|
226
|
-
diffusers_name = diffusers_name.replace("k.proj.lora", "to_k_lora")
|
227
|
-
diffusers_name = diffusers_name.replace("v.proj.lora", "to_v_lora")
|
228
|
-
diffusers_name = diffusers_name.replace("out.proj.lora", "to_out_lora")
|
229
|
-
diffusers_name = diffusers_name.replace("text.projection", "text_projection")
|
230
|
-
|
231
|
-
if "self_attn" in diffusers_name:
|
232
|
-
if lora_name.startswith(("lora_te_", "lora_te1_")):
|
233
|
-
te_state_dict[diffusers_name] = state_dict.pop(key)
|
234
|
-
te_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
|
235
|
-
else:
|
236
|
-
te2_state_dict[diffusers_name] = state_dict.pop(key)
|
237
|
-
te2_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
|
238
|
-
elif "mlp" in diffusers_name:
|
239
|
-
# Be aware that this is the new diffusers convention and the rest of the code might
|
240
|
-
# not utilize it yet.
|
241
|
-
diffusers_name = diffusers_name.replace(".lora.", ".lora_linear_layer.")
|
242
|
-
if lora_name.startswith(("lora_te_", "lora_te1_")):
|
243
|
-
te_state_dict[diffusers_name] = state_dict.pop(key)
|
244
|
-
te_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
|
245
|
-
else:
|
246
|
-
te2_state_dict[diffusers_name] = state_dict.pop(key)
|
247
|
-
te2_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
|
248
|
-
# OneTrainer specificity
|
249
|
-
elif "text_projection" in diffusers_name and lora_name.startswith("lora_te2_"):
|
250
191
|
te2_state_dict[diffusers_name] = state_dict.pop(key)
|
251
192
|
te2_state_dict[diffusers_name.replace(".down.", ".up.")] = state_dict.pop(lora_name_up)
|
252
193
|
|
253
|
-
|
194
|
+
# Store DoRA scale if present.
|
195
|
+
if dora_present_in_te or dora_present_in_te2:
|
254
196
|
dora_scale_key_to_replace_te = (
|
255
197
|
"_lora.down." if "_lora.down." in diffusers_name else ".lora_linear_layer."
|
256
198
|
)
|
@@ -263,22 +205,18 @@ def _convert_kohya_lora_to_diffusers(state_dict, unet_name="unet", text_encoder_
|
|
263
205
|
diffusers_name.replace(dora_scale_key_to_replace_te, ".lora_magnitude_vector.")
|
264
206
|
] = state_dict.pop(key.replace("lora_down.weight", "dora_scale"))
|
265
207
|
|
266
|
-
#
|
208
|
+
# Store alpha if present.
|
267
209
|
if lora_name_alpha in state_dict:
|
268
210
|
alpha = state_dict.pop(lora_name_alpha).item()
|
269
|
-
|
270
|
-
prefix = "unet."
|
271
|
-
elif lora_name_alpha.startswith(("lora_te_", "lora_te1_")):
|
272
|
-
prefix = "text_encoder."
|
273
|
-
else:
|
274
|
-
prefix = "text_encoder_2."
|
275
|
-
new_name = prefix + diffusers_name.split(".lora.")[0] + ".alpha"
|
276
|
-
network_alphas.update({new_name: alpha})
|
211
|
+
network_alphas.update(_get_alpha_name(lora_name_alpha, diffusers_name, alpha))
|
277
212
|
|
213
|
+
# Check if any keys remain.
|
278
214
|
if len(state_dict) > 0:
|
279
215
|
raise ValueError(f"The following keys have not been correctly renamed: \n\n {', '.join(state_dict.keys())}")
|
280
216
|
|
281
|
-
logger.info("
|
217
|
+
logger.info("Non-diffusers checkpoint detected.")
|
218
|
+
|
219
|
+
# Construct final state dict.
|
282
220
|
unet_state_dict = {f"{unet_name}.{module_name}": params for module_name, params in unet_state_dict.items()}
|
283
221
|
te_state_dict = {f"{text_encoder_name}.{module_name}": params for module_name, params in te_state_dict.items()}
|
284
222
|
te2_state_dict = (
|
@@ -291,3 +229,100 @@ def _convert_kohya_lora_to_diffusers(state_dict, unet_name="unet", text_encoder_
|
|
291
229
|
|
292
230
|
new_state_dict = {**unet_state_dict, **te_state_dict}
|
293
231
|
return new_state_dict, network_alphas
|
232
|
+
|
233
|
+
|
234
|
+
def _convert_unet_lora_key(key):
|
235
|
+
"""
|
236
|
+
Converts a U-Net LoRA key to a Diffusers compatible key.
|
237
|
+
"""
|
238
|
+
diffusers_name = key.replace("lora_unet_", "").replace("_", ".")
|
239
|
+
|
240
|
+
# Replace common U-Net naming patterns.
|
241
|
+
diffusers_name = diffusers_name.replace("input.blocks", "down_blocks")
|
242
|
+
diffusers_name = diffusers_name.replace("down.blocks", "down_blocks")
|
243
|
+
diffusers_name = diffusers_name.replace("middle.block", "mid_block")
|
244
|
+
diffusers_name = diffusers_name.replace("mid.block", "mid_block")
|
245
|
+
diffusers_name = diffusers_name.replace("output.blocks", "up_blocks")
|
246
|
+
diffusers_name = diffusers_name.replace("up.blocks", "up_blocks")
|
247
|
+
diffusers_name = diffusers_name.replace("transformer.blocks", "transformer_blocks")
|
248
|
+
diffusers_name = diffusers_name.replace("to.q.lora", "to_q_lora")
|
249
|
+
diffusers_name = diffusers_name.replace("to.k.lora", "to_k_lora")
|
250
|
+
diffusers_name = diffusers_name.replace("to.v.lora", "to_v_lora")
|
251
|
+
diffusers_name = diffusers_name.replace("to.out.0.lora", "to_out_lora")
|
252
|
+
diffusers_name = diffusers_name.replace("proj.in", "proj_in")
|
253
|
+
diffusers_name = diffusers_name.replace("proj.out", "proj_out")
|
254
|
+
diffusers_name = diffusers_name.replace("emb.layers", "time_emb_proj")
|
255
|
+
|
256
|
+
# SDXL specific conversions.
|
257
|
+
if "emb" in diffusers_name and "time.emb.proj" not in diffusers_name:
|
258
|
+
pattern = r"\.\d+(?=\D*$)"
|
259
|
+
diffusers_name = re.sub(pattern, "", diffusers_name, count=1)
|
260
|
+
if ".in." in diffusers_name:
|
261
|
+
diffusers_name = diffusers_name.replace("in.layers.2", "conv1")
|
262
|
+
if ".out." in diffusers_name:
|
263
|
+
diffusers_name = diffusers_name.replace("out.layers.3", "conv2")
|
264
|
+
if "downsamplers" in diffusers_name or "upsamplers" in diffusers_name:
|
265
|
+
diffusers_name = diffusers_name.replace("op", "conv")
|
266
|
+
if "skip" in diffusers_name:
|
267
|
+
diffusers_name = diffusers_name.replace("skip.connection", "conv_shortcut")
|
268
|
+
|
269
|
+
# LyCORIS specific conversions.
|
270
|
+
if "time.emb.proj" in diffusers_name:
|
271
|
+
diffusers_name = diffusers_name.replace("time.emb.proj", "time_emb_proj")
|
272
|
+
if "conv.shortcut" in diffusers_name:
|
273
|
+
diffusers_name = diffusers_name.replace("conv.shortcut", "conv_shortcut")
|
274
|
+
|
275
|
+
# General conversions.
|
276
|
+
if "transformer_blocks" in diffusers_name:
|
277
|
+
if "attn1" in diffusers_name or "attn2" in diffusers_name:
|
278
|
+
diffusers_name = diffusers_name.replace("attn1", "attn1.processor")
|
279
|
+
diffusers_name = diffusers_name.replace("attn2", "attn2.processor")
|
280
|
+
elif "ff" in diffusers_name:
|
281
|
+
pass
|
282
|
+
elif any(key in diffusers_name for key in ("proj_in", "proj_out")):
|
283
|
+
pass
|
284
|
+
else:
|
285
|
+
pass
|
286
|
+
|
287
|
+
return diffusers_name
|
288
|
+
|
289
|
+
|
290
|
+
def _convert_text_encoder_lora_key(key, lora_name):
|
291
|
+
"""
|
292
|
+
Converts a text encoder LoRA key to a Diffusers compatible key.
|
293
|
+
"""
|
294
|
+
if lora_name.startswith(("lora_te_", "lora_te1_")):
|
295
|
+
key_to_replace = "lora_te_" if lora_name.startswith("lora_te_") else "lora_te1_"
|
296
|
+
else:
|
297
|
+
key_to_replace = "lora_te2_"
|
298
|
+
|
299
|
+
diffusers_name = key.replace(key_to_replace, "").replace("_", ".")
|
300
|
+
diffusers_name = diffusers_name.replace("text.model", "text_model")
|
301
|
+
diffusers_name = diffusers_name.replace("self.attn", "self_attn")
|
302
|
+
diffusers_name = diffusers_name.replace("q.proj.lora", "to_q_lora")
|
303
|
+
diffusers_name = diffusers_name.replace("k.proj.lora", "to_k_lora")
|
304
|
+
diffusers_name = diffusers_name.replace("v.proj.lora", "to_v_lora")
|
305
|
+
diffusers_name = diffusers_name.replace("out.proj.lora", "to_out_lora")
|
306
|
+
diffusers_name = diffusers_name.replace("text.projection", "text_projection")
|
307
|
+
|
308
|
+
if "self_attn" in diffusers_name or "text_projection" in diffusers_name:
|
309
|
+
pass
|
310
|
+
elif "mlp" in diffusers_name:
|
311
|
+
# Be aware that this is the new diffusers convention and the rest of the code might
|
312
|
+
# not utilize it yet.
|
313
|
+
diffusers_name = diffusers_name.replace(".lora.", ".lora_linear_layer.")
|
314
|
+
return diffusers_name
|
315
|
+
|
316
|
+
|
317
|
+
def _get_alpha_name(lora_name_alpha, diffusers_name, alpha):
|
318
|
+
"""
|
319
|
+
Gets the correct alpha name for the Diffusers model.
|
320
|
+
"""
|
321
|
+
if lora_name_alpha.startswith("lora_unet_"):
|
322
|
+
prefix = "unet."
|
323
|
+
elif lora_name_alpha.startswith(("lora_te_", "lora_te1_")):
|
324
|
+
prefix = "text_encoder."
|
325
|
+
else:
|
326
|
+
prefix = "text_encoder_2."
|
327
|
+
new_name = prefix + diffusers_name.split(".lora.")[0] + ".alpha"
|
328
|
+
return {new_name: alpha}
|
@@ -28,9 +28,11 @@ from .single_file_utils import (
|
|
28
28
|
_legacy_load_safety_checker,
|
29
29
|
_legacy_load_scheduler,
|
30
30
|
create_diffusers_clip_model_from_ldm,
|
31
|
+
create_diffusers_t5_model_from_checkpoint,
|
31
32
|
fetch_diffusers_config,
|
32
33
|
fetch_original_config,
|
33
34
|
is_clip_model_in_single_file,
|
35
|
+
is_t5_in_single_file,
|
34
36
|
load_single_file_checkpoint,
|
35
37
|
)
|
36
38
|
|
@@ -118,6 +120,16 @@ def load_single_file_sub_model(
|
|
118
120
|
is_legacy_loading=is_legacy_loading,
|
119
121
|
)
|
120
122
|
|
123
|
+
elif is_transformers_model and is_t5_in_single_file(checkpoint):
|
124
|
+
loaded_sub_model = create_diffusers_t5_model_from_checkpoint(
|
125
|
+
class_obj,
|
126
|
+
checkpoint=checkpoint,
|
127
|
+
config=cached_model_config_path,
|
128
|
+
subfolder=name,
|
129
|
+
torch_dtype=torch_dtype,
|
130
|
+
local_files_only=local_files_only,
|
131
|
+
)
|
132
|
+
|
121
133
|
elif is_tokenizer and is_legacy_loading:
|
122
134
|
loaded_sub_model = _legacy_load_clip_tokenizer(
|
123
135
|
class_obj, checkpoint=checkpoint, config=cached_model_config_path, local_files_only=local_files_only
|
@@ -276,16 +276,18 @@ class FromOriginalModelMixin:
|
|
276
276
|
|
277
277
|
if is_accelerate_available():
|
278
278
|
unexpected_keys = load_model_dict_into_meta(model, diffusers_format_checkpoint, dtype=torch_dtype)
|
279
|
-
if model._keys_to_ignore_on_load_unexpected is not None:
|
280
|
-
for pat in model._keys_to_ignore_on_load_unexpected:
|
281
|
-
unexpected_keys = [k for k in unexpected_keys if re.search(pat, k) is None]
|
282
279
|
|
283
|
-
if len(unexpected_keys) > 0:
|
284
|
-
logger.warning(
|
285
|
-
f"Some weights of the model checkpoint were not used when initializing {cls.__name__}: \n {[', '.join(unexpected_keys)]}"
|
286
|
-
)
|
287
280
|
else:
|
288
|
-
model.load_state_dict(diffusers_format_checkpoint)
|
281
|
+
_, unexpected_keys = model.load_state_dict(diffusers_format_checkpoint, strict=False)
|
282
|
+
|
283
|
+
if model._keys_to_ignore_on_load_unexpected is not None:
|
284
|
+
for pat in model._keys_to_ignore_on_load_unexpected:
|
285
|
+
unexpected_keys = [k for k in unexpected_keys if re.search(pat, k) is None]
|
286
|
+
|
287
|
+
if len(unexpected_keys) > 0:
|
288
|
+
logger.warning(
|
289
|
+
f"Some weights of the model checkpoint were not used when initializing {cls.__name__}: \n {[', '.join(unexpected_keys)]}"
|
290
|
+
)
|
289
291
|
|
290
292
|
if torch_dtype is not None:
|
291
293
|
model.to(torch_dtype)
|