diffusers 0.18.1__tar.gz → 0.18.2__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {diffusers-0.18.1/src/diffusers.egg-info → diffusers-0.18.2}/PKG-INFO +1 -1
- {diffusers-0.18.1 → diffusers-0.18.2}/setup.py +1 -1
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/__init__.py +1 -1
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/configuration_utils.py +2 -2
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/loaders.py +1 -1
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/pipeline_utils.py +10 -1
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/convert_from_ckpt.py +84 -31
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py +4 -2
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_upscale.py +11 -7
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl.py +13 -9
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion_xl/pipeline_stable_diffusion_xl_img2img.py +10 -7
- {diffusers-0.18.1 → diffusers-0.18.2/src/diffusers.egg-info}/PKG-INFO +1 -1
- {diffusers-0.18.1 → diffusers-0.18.2}/LICENSE +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/MANIFEST.in +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/README.md +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/pyproject.toml +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/setup.cfg +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/commands/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/commands/diffusers_cli.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/commands/env.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/dependency_versions_check.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/dependency_versions_table.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/experimental/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/experimental/rl/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/experimental/rl/value_guided_sampling.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/image_processor.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/activations.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/attention.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/attention_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/attention_processor.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/autoencoder_kl.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/controlnet.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/controlnet_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/cross_attention.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/dual_transformer_2d.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/embeddings.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/embeddings_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/modeling_flax_pytorch_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/modeling_flax_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/modeling_pytorch_flax_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/modeling_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/prior_transformer.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/resnet.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/resnet_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/t5_film_transformer.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/transformer_2d.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/transformer_temporal.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/unet_1d.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/unet_1d_blocks.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/unet_2d.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/unet_2d_blocks.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/unet_2d_blocks_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/unet_2d_condition.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/unet_2d_condition_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/unet_3d_blocks.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/unet_3d_condition.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/vae.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/vae_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/models/vq_model.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/optimization.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipeline_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/alt_diffusion/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/alt_diffusion/modeling_roberta_series.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/alt_diffusion/pipeline_alt_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/alt_diffusion/pipeline_alt_diffusion_img2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/audio_diffusion/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/audio_diffusion/mel.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/audio_diffusion/pipeline_audio_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/audioldm/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/audioldm/pipeline_audioldm.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/consistency_models/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/consistency_models/pipeline_consistency_models.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/controlnet/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/controlnet/multicontrolnet.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_img2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/controlnet/pipeline_controlnet_inpaint.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/controlnet/pipeline_flax_controlnet.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/dance_diffusion/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/dance_diffusion/pipeline_dance_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/ddim/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/ddim/pipeline_ddim.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/ddpm/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/ddpm/pipeline_ddpm.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/deepfloyd_if/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_img2img_superresolution.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_inpainting_superresolution.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/deepfloyd_if/pipeline_if_superresolution.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/deepfloyd_if/safety_checker.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/deepfloyd_if/timesteps.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/deepfloyd_if/watermark.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/dit/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/dit/pipeline_dit.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_img2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_inpaint.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky/pipeline_kandinsky_prior.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky/text_encoder.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky2_2/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_controlnet_img2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_img2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_inpainting.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/kandinsky2_2/pipeline_kandinsky2_2_prior_emb2emb.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/latent_diffusion/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/latent_diffusion/pipeline_latent_diffusion_superresolution.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/latent_diffusion_uncond/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/latent_diffusion_uncond/pipeline_latent_diffusion_uncond.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/onnx_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/paint_by_example/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/paint_by_example/image_encoder.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/paint_by_example/pipeline_paint_by_example.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/pipeline_flax_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/pndm/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/pndm/pipeline_pndm.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/repaint/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/repaint/pipeline_repaint.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/score_sde_ve/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/score_sde_ve/pipeline_score_sde_ve.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/semantic_stable_diffusion/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/semantic_stable_diffusion/pipeline_semantic_stable_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/shap_e/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/shap_e/camera.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/shap_e/pipeline_shap_e.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/shap_e/pipeline_shap_e_img2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/shap_e/renderer.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/spectrogram_diffusion/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/spectrogram_diffusion/continous_encoder.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/spectrogram_diffusion/midi_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/spectrogram_diffusion/notes_encoder.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/spectrogram_diffusion/pipeline_spectrogram_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_cycle_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_controlnet.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_img2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_flax_stable_diffusion_inpaint.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_img2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_inpaint.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_inpaint_legacy.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_upscale.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_attend_and_excite.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_controlnet.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_depth2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_diffedit.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_image_variation.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_img2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint_legacy.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_instruct_pix2pix.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_k_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_latent_upscale.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_ldm3d.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_model_editing.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_panorama.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_paradigms.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_pix2pix_zero.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_sag.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/pipeline_stable_unclip_img2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/safety_checker.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/safety_checker_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/stable_unclip_image_normalizer.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion_safe/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion_safe/pipeline_stable_diffusion_safe.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion_safe/safety_checker.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion_xl/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion_xl/watermark.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stochastic_karras_ve/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stochastic_karras_ve/pipeline_stochastic_karras_ve.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/text_to_video_synthesis/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_synth_img2img.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/text_to_video_synthesis/pipeline_text_to_video_zero.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/unclip/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/unclip/pipeline_unclip.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/unclip/pipeline_unclip_image_variation.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/unclip/text_proj.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/unidiffuser/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/unidiffuser/modeling_text_decoder.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/unidiffuser/modeling_uvit.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/unidiffuser/pipeline_unidiffuser.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/versatile_diffusion/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/versatile_diffusion/modeling_text_unet.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/versatile_diffusion/pipeline_versatile_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/versatile_diffusion/pipeline_versatile_diffusion_dual_guided.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/versatile_diffusion/pipeline_versatile_diffusion_image_variation.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/versatile_diffusion/pipeline_versatile_diffusion_text_to_image.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/vq_diffusion/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/vq_diffusion/pipeline_vq_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_consistency_models.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_ddim.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_ddim_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_ddim_inverse.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_ddim_parallel.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_ddpm.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_ddpm_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_ddpm_parallel.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_deis_multistep.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_dpmsolver_multistep.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_dpmsolver_multistep_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_dpmsolver_multistep_inverse.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_dpmsolver_sde.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_dpmsolver_singlestep.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_euler_ancestral_discrete.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_euler_discrete.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_heun_discrete.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_ipndm.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_k_dpm_2_ancestral_discrete.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_k_dpm_2_discrete.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_karras_ve.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_karras_ve_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_lms_discrete.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_lms_discrete_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_pndm.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_pndm_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_repaint.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_sde_ve.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_sde_ve_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_sde_vp.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_unclip.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_unipc_multistep.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_utils_flax.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/schedulers/scheduling_vq_diffusion.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/training_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/__init__.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/accelerate_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/constants.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/deprecation_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/doc_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_flax_and_transformers_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_flax_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_note_seq_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_onnx_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_pt_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_torch_and_librosa_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_torch_and_scipy_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_torch_and_torchsde_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_torch_and_transformers_and_invisible_watermark_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_torch_and_transformers_and_k_diffusion_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_torch_and_transformers_and_onnx_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_torch_and_transformers_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dummy_transformers_and_torch_and_note_seq_objects.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/dynamic_modules_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/hub_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/import_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/logging.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/model_card_template.md +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/outputs.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/pil_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/testing_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/utils/torch_utils.py +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers.egg-info/SOURCES.txt +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers.egg-info/dependency_links.txt +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers.egg-info/entry_points.txt +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers.egg-info/requires.txt +0 -0
- {diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers.egg-info/top_level.txt +0 -0
@@ -232,7 +232,7 @@ install_requires = [
|
|
232
232
|
|
233
233
|
setup(
|
234
234
|
name="diffusers",
|
235
|
-
version="0.18.
|
235
|
+
version="0.18.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)
|
236
236
|
description="Diffusers",
|
237
237
|
long_description=open("README.md", "r", encoding="utf-8").read(),
|
238
238
|
long_description_content_type="text/markdown",
|
@@ -607,7 +607,7 @@ def register_to_config(init):
|
|
607
607
|
|
608
608
|
# Take note of the parameters that were not present in the loaded config
|
609
609
|
if len(set(new_kwargs.keys()) - set(init_kwargs)) > 0:
|
610
|
-
new_kwargs["_use_default_values"] = set(new_kwargs.keys()) - set(init_kwargs)
|
610
|
+
new_kwargs["_use_default_values"] = list(set(new_kwargs.keys()) - set(init_kwargs))
|
611
611
|
|
612
612
|
new_kwargs = {**config_init_kwargs, **new_kwargs}
|
613
613
|
getattr(self, "register_to_config")(**new_kwargs)
|
@@ -655,7 +655,7 @@ def flax_register_to_config(cls):
|
|
655
655
|
|
656
656
|
# Take note of the parameters that were not present in the loaded config
|
657
657
|
if len(set(new_kwargs.keys()) - set(init_kwargs)) > 0:
|
658
|
-
new_kwargs["_use_default_values"] = set(new_kwargs.keys()) - set(init_kwargs)
|
658
|
+
new_kwargs["_use_default_values"] = list(set(new_kwargs.keys()) - set(init_kwargs))
|
659
659
|
|
660
660
|
getattr(self, "register_to_config")(**new_kwargs)
|
661
661
|
original_init(self, *args, **kwargs)
|
@@ -1394,7 +1394,7 @@ class FromSingleFileMixin:
|
|
1394
1394
|
use_auth_token = kwargs.pop("use_auth_token", None)
|
1395
1395
|
revision = kwargs.pop("revision", None)
|
1396
1396
|
extract_ema = kwargs.pop("extract_ema", False)
|
1397
|
-
image_size = kwargs.pop("image_size",
|
1397
|
+
image_size = kwargs.pop("image_size", None)
|
1398
1398
|
scheduler_type = kwargs.pop("scheduler_type", "pndm")
|
1399
1399
|
num_in_channels = kwargs.pop("num_in_channels", None)
|
1400
1400
|
upcast_attention = kwargs.pop("upcast_attention", None)
|
@@ -1213,6 +1213,15 @@ class DiffusionPipeline(ConfigMixin):
|
|
1213
1213
|
filenames = {sibling.rfilename for sibling in info.siblings}
|
1214
1214
|
model_filenames, variant_filenames = variant_compatible_siblings(filenames, variant=variant)
|
1215
1215
|
|
1216
|
+
if len(variant_filenames) == 0 and variant is not None:
|
1217
|
+
deprecation_message = (
|
1218
|
+
f"You are trying to load the model files of the `variant={variant}`, but no such modeling files are available."
|
1219
|
+
f"The default model files: {model_filenames} will be loaded instead. Make sure to not load from `variant={variant}`"
|
1220
|
+
"if such variant modeling files are not available. Doing so will lead to an error in v0.22.0 as defaulting to non-variant"
|
1221
|
+
"modeling files is deprecated."
|
1222
|
+
)
|
1223
|
+
deprecate("no variant default", "0.22.0", deprecation_message, standard_warn=False)
|
1224
|
+
|
1216
1225
|
# remove ignored filenames
|
1217
1226
|
model_filenames = set(model_filenames) - set(ignore_filenames)
|
1218
1227
|
variant_filenames = set(variant_filenames) - set(ignore_filenames)
|
@@ -1302,7 +1311,7 @@ class DiffusionPipeline(ConfigMixin):
|
|
1302
1311
|
snapshot_folder = Path(config_file).parent
|
1303
1312
|
pipeline_is_cached = all((snapshot_folder / f).is_file() for f in expected_files)
|
1304
1313
|
|
1305
|
-
if pipeline_is_cached:
|
1314
|
+
if pipeline_is_cached and not force_download:
|
1306
1315
|
# if the pipeline is cached, we can directly return it
|
1307
1316
|
# else call snapshot_download
|
1308
1317
|
return snapshot_folder
|
{diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/stable_diffusion/convert_from_ckpt.py
RENAMED
@@ -24,6 +24,7 @@ from transformers import (
|
|
24
24
|
AutoFeatureExtractor,
|
25
25
|
BertTokenizerFast,
|
26
26
|
CLIPImageProcessor,
|
27
|
+
CLIPTextConfig,
|
27
28
|
CLIPTextModel,
|
28
29
|
CLIPTextModelWithProjection,
|
29
30
|
CLIPTokenizer,
|
@@ -48,7 +49,7 @@ from ...schedulers import (
|
|
48
49
|
PNDMScheduler,
|
49
50
|
UnCLIPScheduler,
|
50
51
|
)
|
51
|
-
from ...utils import is_omegaconf_available, is_safetensors_available, logging
|
52
|
+
from ...utils import is_accelerate_available, is_omegaconf_available, is_safetensors_available, logging
|
52
53
|
from ...utils.import_utils import BACKENDS_MAPPING
|
53
54
|
from ..latent_diffusion.pipeline_latent_diffusion import LDMBertConfig, LDMBertModel
|
54
55
|
from ..paint_by_example import PaintByExampleImageEncoder
|
@@ -57,6 +58,10 @@ from .safety_checker import StableDiffusionSafetyChecker
|
|
57
58
|
from .stable_unclip_image_normalizer import StableUnCLIPImageNormalizer
|
58
59
|
|
59
60
|
|
61
|
+
if is_accelerate_available():
|
62
|
+
from accelerate import init_empty_weights
|
63
|
+
from accelerate.utils import set_module_tensor_to_device
|
64
|
+
|
60
65
|
logger = logging.get_logger(__name__) # pylint: disable=invalid-name
|
61
66
|
|
62
67
|
|
@@ -770,11 +775,12 @@ def convert_ldm_bert_checkpoint(checkpoint, config):
|
|
770
775
|
|
771
776
|
|
772
777
|
def convert_ldm_clip_checkpoint(checkpoint, local_files_only=False, text_encoder=None):
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
+
if text_encoder is None:
|
779
|
+
config_name = "openai/clip-vit-large-patch14"
|
780
|
+
config = CLIPTextConfig.from_pretrained(config_name)
|
781
|
+
|
782
|
+
with init_empty_weights():
|
783
|
+
text_model = CLIPTextModel(config)
|
778
784
|
|
779
785
|
keys = list(checkpoint.keys())
|
780
786
|
|
@@ -787,7 +793,8 @@ def convert_ldm_clip_checkpoint(checkpoint, local_files_only=False, text_encoder
|
|
787
793
|
if key.startswith(prefix):
|
788
794
|
text_model_dict[key[len(prefix + ".") :]] = checkpoint[key]
|
789
795
|
|
790
|
-
|
796
|
+
for param_name, param in text_model_dict.items():
|
797
|
+
set_module_tensor_to_device(text_model, param_name, "cpu", value=param)
|
791
798
|
|
792
799
|
return text_model
|
793
800
|
|
@@ -884,14 +891,26 @@ def convert_paint_by_example_checkpoint(checkpoint):
|
|
884
891
|
return model
|
885
892
|
|
886
893
|
|
887
|
-
def convert_open_clip_checkpoint(
|
894
|
+
def convert_open_clip_checkpoint(
|
895
|
+
checkpoint, config_name, prefix="cond_stage_model.model.", has_projection=False, **config_kwargs
|
896
|
+
):
|
888
897
|
# text_model = CLIPTextModel.from_pretrained("stabilityai/stable-diffusion-2", subfolder="text_encoder")
|
889
|
-
text_model = CLIPTextModelWithProjection.from_pretrained(
|
890
|
-
|
891
|
-
)
|
898
|
+
# text_model = CLIPTextModelWithProjection.from_pretrained(
|
899
|
+
# "laion/CLIP-ViT-bigG-14-laion2B-39B-b160k", projection_dim=1280
|
900
|
+
# )
|
901
|
+
config = CLIPTextConfig.from_pretrained(config_name, **config_kwargs)
|
902
|
+
|
903
|
+
with init_empty_weights():
|
904
|
+
text_model = CLIPTextModelWithProjection(config) if has_projection else CLIPTextModel(config)
|
892
905
|
|
893
906
|
keys = list(checkpoint.keys())
|
894
907
|
|
908
|
+
keys_to_ignore = []
|
909
|
+
if config_name == "stabilityai/stable-diffusion-2" and config.num_hidden_layers == 23:
|
910
|
+
# make sure to remove all keys > 22
|
911
|
+
keys_to_ignore += [k for k in keys if k.startswith("cond_stage_model.model.transformer.resblocks.23")]
|
912
|
+
keys_to_ignore += ["cond_stage_model.model.text_projection"]
|
913
|
+
|
895
914
|
text_model_dict = {}
|
896
915
|
|
897
916
|
if prefix + "text_projection" in checkpoint:
|
@@ -902,8 +921,8 @@ def convert_open_clip_checkpoint(checkpoint, prefix="cond_stage_model.model."):
|
|
902
921
|
text_model_dict["text_model.embeddings.position_ids"] = text_model.text_model.embeddings.get_buffer("position_ids")
|
903
922
|
|
904
923
|
for key in keys:
|
905
|
-
|
906
|
-
|
924
|
+
if key in keys_to_ignore:
|
925
|
+
continue
|
907
926
|
if key[len(prefix) :] in textenc_conversion_map:
|
908
927
|
if key.endswith("text_projection"):
|
909
928
|
value = checkpoint[key].T
|
@@ -931,7 +950,8 @@ def convert_open_clip_checkpoint(checkpoint, prefix="cond_stage_model.model."):
|
|
931
950
|
|
932
951
|
text_model_dict[new_key] = checkpoint[key]
|
933
952
|
|
934
|
-
|
953
|
+
for param_name, param in text_model_dict.items():
|
954
|
+
set_module_tensor_to_device(text_model, param_name, "cpu", value=param)
|
935
955
|
|
936
956
|
return text_model
|
937
957
|
|
@@ -1061,7 +1081,7 @@ def convert_controlnet_checkpoint(
|
|
1061
1081
|
def download_from_original_stable_diffusion_ckpt(
|
1062
1082
|
checkpoint_path: str,
|
1063
1083
|
original_config_file: str = None,
|
1064
|
-
image_size: int =
|
1084
|
+
image_size: Optional[int] = None,
|
1065
1085
|
prediction_type: str = None,
|
1066
1086
|
model_type: str = None,
|
1067
1087
|
extract_ema: bool = False,
|
@@ -1144,6 +1164,7 @@ def download_from_original_stable_diffusion_ckpt(
|
|
1144
1164
|
LDMTextToImagePipeline,
|
1145
1165
|
PaintByExamplePipeline,
|
1146
1166
|
StableDiffusionControlNetPipeline,
|
1167
|
+
StableDiffusionInpaintPipeline,
|
1147
1168
|
StableDiffusionPipeline,
|
1148
1169
|
StableDiffusionXLImg2ImgPipeline,
|
1149
1170
|
StableDiffusionXLPipeline,
|
@@ -1166,12 +1187,9 @@ def download_from_original_stable_diffusion_ckpt(
|
|
1166
1187
|
if not is_safetensors_available():
|
1167
1188
|
raise ValueError(BACKENDS_MAPPING["safetensors"][1])
|
1168
1189
|
|
1169
|
-
from safetensors import
|
1190
|
+
from safetensors.torch import load_file as safe_load
|
1170
1191
|
|
1171
|
-
checkpoint =
|
1172
|
-
with safe_open(checkpoint_path, framework="pt", device="cpu") as f:
|
1173
|
-
for key in f.keys():
|
1174
|
-
checkpoint[key] = f.get_tensor(key)
|
1192
|
+
checkpoint = safe_load(checkpoint_path, device="cpu")
|
1175
1193
|
else:
|
1176
1194
|
if device is None:
|
1177
1195
|
device = "cuda" if torch.cuda.is_available() else "cpu"
|
@@ -1183,7 +1201,7 @@ def download_from_original_stable_diffusion_ckpt(
|
|
1183
1201
|
if "global_step" in checkpoint:
|
1184
1202
|
global_step = checkpoint["global_step"]
|
1185
1203
|
else:
|
1186
|
-
logger.
|
1204
|
+
logger.debug("global_step key not found in model")
|
1187
1205
|
global_step = None
|
1188
1206
|
|
1189
1207
|
# NOTE: this while loop isn't great but this controlnet checkpoint has one additional
|
@@ -1230,8 +1248,15 @@ def download_from_original_stable_diffusion_ckpt(
|
|
1230
1248
|
model_type = "SDXL"
|
1231
1249
|
else:
|
1232
1250
|
model_type = "SDXL-Refiner"
|
1251
|
+
if image_size is None:
|
1252
|
+
image_size = 1024
|
1233
1253
|
|
1234
|
-
if num_in_channels is
|
1254
|
+
if num_in_channels is None and pipeline_class == StableDiffusionInpaintPipeline:
|
1255
|
+
num_in_channels = 9
|
1256
|
+
elif num_in_channels is None:
|
1257
|
+
num_in_channels = 4
|
1258
|
+
|
1259
|
+
if "unet_config" in original_config.model.params:
|
1235
1260
|
original_config["model"]["params"]["unet_config"]["params"]["in_channels"] = num_in_channels
|
1236
1261
|
|
1237
1262
|
if (
|
@@ -1263,7 +1288,6 @@ def download_from_original_stable_diffusion_ckpt(
|
|
1263
1288
|
num_train_timesteps = getattr(original_config.model.params, "timesteps", None) or 1000
|
1264
1289
|
|
1265
1290
|
if model_type in ["SDXL", "SDXL-Refiner"]:
|
1266
|
-
image_size = 1024
|
1267
1291
|
scheduler_dict = {
|
1268
1292
|
"beta_schedule": "scaled_linear",
|
1269
1293
|
"beta_start": 0.00085,
|
@@ -1279,7 +1303,6 @@ def download_from_original_stable_diffusion_ckpt(
|
|
1279
1303
|
}
|
1280
1304
|
scheduler = EulerDiscreteScheduler.from_config(scheduler_dict)
|
1281
1305
|
scheduler_type = "euler"
|
1282
|
-
vae_path = "stabilityai/sdxl-vae"
|
1283
1306
|
else:
|
1284
1307
|
beta_start = getattr(original_config.model.params, "linear_start", None) or 0.02
|
1285
1308
|
beta_end = getattr(original_config.model.params, "linear_end", None) or 0.085
|
@@ -1318,25 +1341,45 @@ def download_from_original_stable_diffusion_ckpt(
|
|
1318
1341
|
# Convert the UNet2DConditionModel model.
|
1319
1342
|
unet_config = create_unet_diffusers_config(original_config, image_size=image_size)
|
1320
1343
|
unet_config["upcast_attention"] = upcast_attention
|
1321
|
-
|
1344
|
+
with init_empty_weights():
|
1345
|
+
unet = UNet2DConditionModel(**unet_config)
|
1322
1346
|
|
1323
1347
|
converted_unet_checkpoint = convert_ldm_unet_checkpoint(
|
1324
1348
|
checkpoint, unet_config, path=checkpoint_path, extract_ema=extract_ema
|
1325
1349
|
)
|
1326
|
-
|
1350
|
+
|
1351
|
+
for param_name, param in converted_unet_checkpoint.items():
|
1352
|
+
set_module_tensor_to_device(unet, param_name, "cpu", value=param)
|
1327
1353
|
|
1328
1354
|
# Convert the VAE model.
|
1329
1355
|
if vae_path is None:
|
1330
1356
|
vae_config = create_vae_diffusers_config(original_config, image_size=image_size)
|
1331
1357
|
converted_vae_checkpoint = convert_ldm_vae_checkpoint(checkpoint, vae_config)
|
1332
1358
|
|
1333
|
-
|
1334
|
-
|
1359
|
+
if (
|
1360
|
+
"model" in original_config
|
1361
|
+
and "params" in original_config.model
|
1362
|
+
and "scale_factor" in original_config.model.params
|
1363
|
+
):
|
1364
|
+
vae_scaling_factor = original_config.model.params.scale_factor
|
1365
|
+
else:
|
1366
|
+
vae_scaling_factor = 0.18215 # default SD scaling factor
|
1367
|
+
|
1368
|
+
vae_config["scaling_factor"] = vae_scaling_factor
|
1369
|
+
|
1370
|
+
with init_empty_weights():
|
1371
|
+
vae = AutoencoderKL(**vae_config)
|
1372
|
+
|
1373
|
+
for param_name, param in converted_vae_checkpoint.items():
|
1374
|
+
set_module_tensor_to_device(vae, param_name, "cpu", value=param)
|
1335
1375
|
else:
|
1336
1376
|
vae = AutoencoderKL.from_pretrained(vae_path)
|
1337
1377
|
|
1338
1378
|
if model_type == "FrozenOpenCLIPEmbedder":
|
1339
|
-
|
1379
|
+
config_name = "stabilityai/stable-diffusion-2"
|
1380
|
+
config_kwargs = {"subfolder": "text_encoder"}
|
1381
|
+
|
1382
|
+
text_model = convert_open_clip_checkpoint(checkpoint, config_name, **config_kwargs)
|
1340
1383
|
tokenizer = CLIPTokenizer.from_pretrained("stabilityai/stable-diffusion-2", subfolder="tokenizer")
|
1341
1384
|
|
1342
1385
|
if stable_unclip is None:
|
@@ -1469,7 +1512,12 @@ def download_from_original_stable_diffusion_ckpt(
|
|
1469
1512
|
tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-large-patch14")
|
1470
1513
|
text_encoder = convert_ldm_clip_checkpoint(checkpoint, local_files_only=local_files_only)
|
1471
1514
|
tokenizer_2 = CLIPTokenizer.from_pretrained("laion/CLIP-ViT-bigG-14-laion2B-39B-b160k", pad_token="!")
|
1472
|
-
|
1515
|
+
|
1516
|
+
config_name = "laion/CLIP-ViT-bigG-14-laion2B-39B-b160k"
|
1517
|
+
config_kwargs = {"projection_dim": 1280}
|
1518
|
+
text_encoder_2 = convert_open_clip_checkpoint(
|
1519
|
+
checkpoint, config_name, prefix="conditioner.embedders.1.model.", has_projection=True, **config_kwargs
|
1520
|
+
)
|
1473
1521
|
|
1474
1522
|
pipe = StableDiffusionXLPipeline(
|
1475
1523
|
vae=vae,
|
@@ -1485,7 +1533,12 @@ def download_from_original_stable_diffusion_ckpt(
|
|
1485
1533
|
tokenizer = None
|
1486
1534
|
text_encoder = None
|
1487
1535
|
tokenizer_2 = CLIPTokenizer.from_pretrained("laion/CLIP-ViT-bigG-14-laion2B-39B-b160k", pad_token="!")
|
1488
|
-
|
1536
|
+
|
1537
|
+
config_name = "laion/CLIP-ViT-bigG-14-laion2B-39B-b160k"
|
1538
|
+
config_kwargs = {"projection_dim": 1280}
|
1539
|
+
text_encoder_2 = convert_open_clip_checkpoint(
|
1540
|
+
checkpoint, config_name, prefix="conditioner.embedders.0.model.", has_projection=True, **config_kwargs
|
1541
|
+
)
|
1489
1542
|
|
1490
1543
|
pipe = StableDiffusionXLImg2ImgPipeline(
|
1491
1544
|
vae=vae,
|
@@ -24,7 +24,7 @@ from transformers import CLIPImageProcessor, CLIPTextModel, CLIPTokenizer
|
|
24
24
|
|
25
25
|
from ...configuration_utils import FrozenDict
|
26
26
|
from ...image_processor import VaeImageProcessor
|
27
|
-
from ...loaders import LoraLoaderMixin, TextualInversionLoaderMixin
|
27
|
+
from ...loaders import FromSingleFileMixin, LoraLoaderMixin, TextualInversionLoaderMixin
|
28
28
|
from ...models import AutoencoderKL, UNet2DConditionModel
|
29
29
|
from ...schedulers import KarrasDiffusionSchedulers
|
30
30
|
from ...utils import deprecate, is_accelerate_available, is_accelerate_version, logging, randn_tensor
|
@@ -153,7 +153,9 @@ def prepare_mask_and_masked_image(image, mask, height, width, return_image: bool
|
|
153
153
|
return mask, masked_image
|
154
154
|
|
155
155
|
|
156
|
-
class StableDiffusionInpaintPipeline(
|
156
|
+
class StableDiffusionInpaintPipeline(
|
157
|
+
DiffusionPipeline, TextualInversionLoaderMixin, LoraLoaderMixin, FromSingleFileMixin
|
158
|
+
):
|
157
159
|
r"""
|
158
160
|
Pipeline for text-guided image inpainting using Stable Diffusion.
|
159
161
|
|
@@ -748,15 +748,19 @@ class StableDiffusionUpscalePipeline(DiffusionPipeline, TextualInversionLoaderMi
|
|
748
748
|
# make sure the VAE is in float32 mode, as it overflows in float16
|
749
749
|
self.vae.to(dtype=torch.float32)
|
750
750
|
|
751
|
-
use_torch_2_0_or_xformers =
|
752
|
-
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
751
|
+
use_torch_2_0_or_xformers = isinstance(
|
752
|
+
self.vae.decoder.mid_block.attentions[0].processor,
|
753
|
+
(
|
754
|
+
AttnProcessor2_0,
|
755
|
+
XFormersAttnProcessor,
|
756
|
+
LoRAXFormersAttnProcessor,
|
757
|
+
LoRAAttnProcessor2_0,
|
758
|
+
),
|
759
|
+
)
|
760
|
+
|
757
761
|
# if xformers or torch_2_0 is used attention block does not need
|
758
762
|
# to be in float32 which can save lots of memory
|
759
|
-
if
|
763
|
+
if use_torch_2_0_or_xformers:
|
760
764
|
self.vae.post_quant_conv.to(latents.dtype)
|
761
765
|
self.vae.decoder.conv_in.to(latents.dtype)
|
762
766
|
self.vae.decoder.mid_block.to(latents.dtype)
|
@@ -129,6 +129,7 @@ class StableDiffusionXLPipeline(DiffusionPipeline, FromSingleFileMixin):
|
|
129
129
|
self.register_to_config(force_zeros_for_empty_prompt=force_zeros_for_empty_prompt)
|
130
130
|
self.vae_scale_factor = 2 ** (len(self.vae.config.block_out_channels) - 1)
|
131
131
|
self.image_processor = VaeImageProcessor(vae_scale_factor=self.vae_scale_factor)
|
132
|
+
self.default_sample_size = self.unet.config.sample_size
|
132
133
|
|
133
134
|
self.watermark = StableDiffusionXLWatermarker()
|
134
135
|
|
@@ -652,8 +653,8 @@ class StableDiffusionXLPipeline(DiffusionPipeline, FromSingleFileMixin):
|
|
652
653
|
"not-safe-for-work" (nsfw) content, according to the `safety_checker`.
|
653
654
|
"""
|
654
655
|
# 0. Default height and width to unet
|
655
|
-
height = height or self.
|
656
|
-
width = width or self.
|
656
|
+
height = height or self.default_sample_size * self.vae_scale_factor
|
657
|
+
width = width or self.default_sample_size * self.vae_scale_factor
|
657
658
|
|
658
659
|
original_size = original_size or (height, width)
|
659
660
|
target_size = target_size or (height, width)
|
@@ -785,15 +786,18 @@ class StableDiffusionXLPipeline(DiffusionPipeline, FromSingleFileMixin):
|
|
785
786
|
# make sure the VAE is in float32 mode, as it overflows in float16
|
786
787
|
self.vae.to(dtype=torch.float32)
|
787
788
|
|
788
|
-
use_torch_2_0_or_xformers =
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
789
|
+
use_torch_2_0_or_xformers = isinstance(
|
790
|
+
self.vae.decoder.mid_block.attentions[0].processor,
|
791
|
+
(
|
792
|
+
AttnProcessor2_0,
|
793
|
+
XFormersAttnProcessor,
|
794
|
+
LoRAXFormersAttnProcessor,
|
795
|
+
LoRAAttnProcessor2_0,
|
796
|
+
),
|
797
|
+
)
|
794
798
|
# if xformers or torch_2_0 is used attention block does not need
|
795
799
|
# to be in float32 which can save lots of memory
|
796
|
-
if
|
800
|
+
if use_torch_2_0_or_xformers:
|
797
801
|
self.vae.post_quant_conv.to(latents.dtype)
|
798
802
|
self.vae.decoder.conv_in.to(latents.dtype)
|
799
803
|
self.vae.decoder.mid_block.to(latents.dtype)
|
@@ -859,15 +859,18 @@ class StableDiffusionXLImg2ImgPipeline(DiffusionPipeline, FromSingleFileMixin):
|
|
859
859
|
# make sure the VAE is in float32 mode, as it overflows in float16
|
860
860
|
self.vae.to(dtype=torch.float32)
|
861
861
|
|
862
|
-
use_torch_2_0_or_xformers =
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
862
|
+
use_torch_2_0_or_xformers = isinstance(
|
863
|
+
self.vae.decoder.mid_block.attentions[0].processor,
|
864
|
+
(
|
865
|
+
AttnProcessor2_0,
|
866
|
+
XFormersAttnProcessor,
|
867
|
+
LoRAXFormersAttnProcessor,
|
868
|
+
LoRAAttnProcessor2_0,
|
869
|
+
),
|
870
|
+
)
|
868
871
|
# if xformers or torch_2_0 is used attention block does not need
|
869
872
|
# to be in float32 which can save lots of memory
|
870
|
-
if
|
873
|
+
if use_torch_2_0_or_xformers:
|
871
874
|
self.vae.post_quant_conv.to(latents.dtype)
|
872
875
|
self.vae.decoder.conv_in.to(latents.dtype)
|
873
876
|
self.vae.decoder.mid_block.to(latents.dtype)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/experimental/rl/value_guided_sampling.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{diffusers-0.18.1 → diffusers-0.18.2}/src/diffusers/pipelines/consistency_models/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|