1. 01 Sep, 2023 2 commits
    • Dhruv Nair's avatar
      Test Cleanup Precision issues (#4812) · 189e9f01
      Dhruv Nair authored
      
      
      * proposal for flaky tests
      
      * more precision fixes
      
      * move more tests to use cosine distance
      
      * more test fixes
      
      * clean up
      
      * use default attn
      
      * clean up
      
      * update expected value
      
      * make style
      
      * make style
      
      * Apply suggestions from code review
      
      * Update src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_img2img.py
      
      * make style
      
      * fix failing tests
      
      ---------
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      189e9f01
    • Nguyễn Công Tú Anh's avatar
      Add GLIGEN Text Image implementation (#4777) · 38466c36
      Nguyễn Công Tú Anh authored
      * Add GLIGEN Text Image implementation
      
      * add style transfer from image
      
      * fix check_repository_consistency
      
      * add convert script GLIGEN model to Diffusers
      
      * rename attention type
      
      * fix style code
      
      * remove PositionNetTextImage
      
      * Revert "fix check_repository_consistency"
      
      This reverts commit 15f098c96e00bb9e67b831161615b30a2d28d815.
      
      * change attention type name
      
      * update docs for GLIGEN
      
      * change examples with hf-document-image
      
      * fix style
      
      * add CLIPImageProjection for GLIGEN
      
      * Add new encode_prompt, load project matrix in pipe init
      
      * move CLIPImageProjection to stable_diffusion
      
      * add comment
      38466c36
  2. 30 Aug, 2023 1 commit
  3. 29 Aug, 2023 4 commits
    • Patrick von Platen's avatar
      make style · a76f2ad5
      Patrick von Platen authored
      a76f2ad5
    • VitjanZ's avatar
      Support saving multiple t2i adapter models under one checkpoint (#4798) · 7200daa4
      VitjanZ authored
      
      
      * adding save and load for MultiAdapter, adding test
      
      * Apply suggestions from code review
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      
      * Adding changes from review test_stable_diffusion_adapter
      
      * import sorting fix
      
      ---------
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      7200daa4
    • Patrick von Platen's avatar
      Fuse loras (#4473) · c583f3b4
      Patrick von Platen authored
      
      
      * Fuse loras
      
      * initial implementation.
      
      * add slow test one.
      
      * styling
      
      * add: test for checking efficiency
      
      * print
      
      * position
      
      * place model offload correctly
      
      * style
      
      * style.
      
      * unfuse test.
      
      * final checks
      
      * remove warning test
      
      * remove warnings altogether
      
      * debugging
      
      * tighten up tests.
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * denugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debuging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * suit up the generator initialization a bit.
      
      * remove print
      
      * update assertion.
      
      * debugging
      
      * remove print.
      
      * fix: assertions.
      
      * style
      
      * can generator be a problem?
      
      * generator
      
      * correct tests.
      
      * support text encoder lora fusion.
      
      * tighten up tests.
      
      ---------
      Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
      c583f3b4
    • Chong Mou's avatar
      add models for T2I-Adapter-XL (#4696) · 12358b98
      Chong Mou authored
      
      
      * T2I-Adapter-XL
      
      * update
      
      * update
      
      * add pipeline
      
      * modify pipeline
      
      * modify pipeline
      
      * modify pipeline
      
      * modify pipeline
      
      * modify pipeline
      
      * modify modeling_text_unet
      
      * fix styling.
      
      * fix: copies.
      
      * adapter settings
      
      * new test case
      
      * new test case
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * revert prints.
      
      * new test case
      
      * remove print
      
      * org test case
      
      * add test_pipeline
      
      * styling.
      
      * fix copies.
      
      * modify test parameter
      
      * style.
      
      * add adapter-xl doc
      
      * double quotes in docs
      
      * Fix potential type mismatch
      
      * style.
      
      ---------
      Co-authored-by: default avatarsayakpaul <spsayakpaul@gmail.com>
      12358b98
  4. 28 Aug, 2023 1 commit
    • Patrick von Platen's avatar
      [LoRA Attn Processors] Refactor LoRA Attn Processors (#4765) · 766aa50f
      Patrick von Platen authored
      * [LoRA Attn] Refactor LoRA attn
      
      * correct for network alphas
      
      * fix more
      
      * fix more tests
      
      * fix more tests
      
      * Move below
      
      * Finish
      
      * better version
      
      * correct serialization format
      
      * fix
      
      * fix more
      
      * fix more
      
      * fix more
      
      * Apply suggestions from code review
      
      * Update src/diffusers/pipelines/stable_diffusion/pipeline_onnx_stable_diffusion_img2img.py
      
      * deprecation
      
      * relax atol for slow test slighly
      
      * Finish tests
      
      * make style
      
      * make style
      766aa50f
  5. 26 Aug, 2023 1 commit
  6. 24 Aug, 2023 1 commit
  7. 23 Aug, 2023 1 commit
    • Ollin Boer Bohan's avatar
      Fix AutoencoderTiny encoder scaling convention (#4682) · 052bf328
      Ollin Boer Bohan authored
      * Fix AutoencoderTiny encoder scaling convention
      
        * Add [-1, 1] -> [0, 1] rescaling to EncoderTiny
      
        * Move [0, 1] -> [-1, 1] rescaling from AutoencoderTiny.decode to DecoderTiny
          (i.e. immediately after the final conv, as early as possible)
      
        * Fix missing [0, 255] -> [0, 1] rescaling in AutoencoderTiny.forward
      
        * Update AutoencoderTinyIntegrationTests to protect against scaling issues.
          The new test constructs a simple image, round-trips it through AutoencoderTiny,
          and confirms the decoded result is approximately equal to the source image.
          This test checks behavior with and without tiling enabled.
          This test will fail if new AutoencoderTiny scaling issues are introduced.
      
        * Context: Raw TAESD weights expect images in [0, 1], but diffusers'
          convention represents images with zero-centered values in [-1, 1],
          so AutoencoderTiny needs to scale / unscale images at the start of
          encoding and at the end of decoding in order to work with diffusers.
      
      * Re-add existing AutoencoderTiny test, update golden values
      
      * Add comments to AutoencoderTiny.forward
      052bf328
  8. 21 Aug, 2023 1 commit
    • Sanchit Gandhi's avatar
      Add AudioLDM 2 (#4549) · 7a24977c
      Sanchit Gandhi authored
      
      
      * from audioldm
      
      * unet down + mid
      
      * vae, clap, flan-t5
      
      * start sequence audio mae
      
      * iterate on audioldm encoder
      
      * finish encoder
      
      * finish weight conversion
      
      * text pre-processing
      
      * gpt2 pre-processing
      
      * fix projection model
      
      * working
      
      * unet equivalence
      
      * finish in base
      
      * add unet cond
      
      * finish unet
      
      * finish custom unet
      
      * start clean-up
      
      * revert base unet changes
      
      * refactor pre-processing
      
      * tests: from audioldm
      
      * fix some tests
      
      * more fixes
      
      * iterate on tests
      
      * make fix copies
      
      * harden fast tests
      
      * slow integration tests
      
      * finish tests
      
      * update checkpoint
      
      * update copyright
      
      * docs
      
      * remove outdated method
      
      * add docstring
      
      * make style
      
      * remove decode latents
      
      * enable cpu offload
      
      * (text_encoder_1, tokenizer_1) -> (text_encoder, tokenizer)
      
      * more clean up
      
      * more refactor
      
      * build pr docs
      
      * Update docs/source/en/api/pipelines/audioldm2.md
      Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
      
      * small clean
      
      * tidy conversion
      
      * update for large checkpoint
      
      * generate -> generate_language_model
      
      * full clap model
      
      * shrink clap-audio in tests
      
      * fix large integration test
      
      * fix fast tests
      
      * use generation config
      
      * make style
      
      * update docs
      
      * finish docs
      
      * finish doc
      
      * update tests
      
      * fix last test
      
      * syntax
      
      * finalise tests
      
      * refactor projection model in prep for TTS
      
      * fix fast tests
      
      * style
      
      ---------
      Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
      7a24977c
  9. 18 Aug, 2023 1 commit
  10. 17 Aug, 2023 2 commits
  11. 16 Aug, 2023 1 commit
    • nikhil-masterful's avatar
      Add GLIGEN implementation (#4441) · da5ab51d
      nikhil-masterful authored
      * Add GLIGEN implementation
      
      * GLIGEN: Fix code quality check failures
      
      * GLIGEN: Fix Import block un-sorted or un-formatted failures
      
      * GLIGEN: Fix check_repository_consistency failures
      
      * GLIGEN: Add 'PositionNet' to versatile_diffusion/modeling_text_unet.py
      
      * GLIGEN: check_repository_consistency: fix 'copy does not match' error
      
      * GLIGEN: Fix review comments (1)
      
      * GLIGEN: Fix E721 Do not compare types, use `isinstance()` failures
      
      * GLIGEN : Ensure _encode_prompt() copy matches to StableDiffusionPipeline
      
      * GLIGEN: Fix ruff E721 failure in unidiffuser/test_unidiffuser.py
      
      * GLIGEN: doc_builder: restyle pipeline_stable_diffusion_gligen.py
      
      * GIGLEN: reset files unrelated to gligen
      
      * GLIGEN: Fix documentation comments (1)
      
      * GLIGEN: Fix review comments (2)
      
      * GLIGEN: Added FastTest
      
      * GLIGEN: Fix review comments (3)
      da5ab51d
  12. 15 Aug, 2023 1 commit
  13. 11 Aug, 2023 1 commit
  14. 07 Aug, 2023 1 commit
  15. 04 Aug, 2023 1 commit
  16. 02 Aug, 2023 1 commit
    • Sayak Paul's avatar
      [Feat] add tiny Autoencoder for (almost) instant decoding (#4384) · 18fc40c1
      Sayak Paul authored
      
      
      * add: model implementation of tiny autoencoder.
      
      * add: inits.
      
      * push the latest devs.
      
      * add: conversion script and finish.
      
      * add: scaling factor args.
      
      * debugging
      
      * fix denormalization.
      
      * fix: positional argument.
      
      * handle use_torch_2_0_or_xformers.
      
      * handle post_quant_conv
      
      * handle dtype
      
      * fix: sdxl image processor for tiny ae.
      
      * fix: sdxl image processor for tiny ae.
      
      * unify upcasting logic.
      
      * copied from madness.
      
      * remove trailing whitespace.
      
      * set is_tiny_vae = False
      
      * address PR comments.
      
      * change to AutoencoderTiny
      
      * make act_fn an str throughout
      
      * fix: apply_forward_hook decorator call
      
      * get rid of the special is_tiny_vae flag.
      
      * directly scale the output.
      
      * fix dummies?
      
      * fix: act_fn.
      
      * get rid of the Clamp() layer.
      
      * bring back copied from.
      
      * movement of the blocks to appropriate modules.
      
      * add: docstrings to AutoencoderTiny
      
      * add: documentation.
      
      * changes to the conversion script.
      
      * add doc entry.
      
      * settle tests.
      
      * style
      
      * add one slow test.
      
      * fix
      
      * fix 2
      
      * fix 2
      
      * fix: 4
      
      * fix: 5
      
      * finish integration tests
      
      * Apply suggestions from code review
      Co-authored-by: default avatarSteven Liu <59462357+stevhliu@users.noreply.github.com>
      
      * style
      
      ---------
      Co-authored-by: default avatarSteven Liu <59462357+stevhliu@users.noreply.github.com>
      18fc40c1
  17. 31 Jul, 2023 1 commit
    • Nishant Rajadhyaksha's avatar
      Update docs of unet_1d.py (#4394) · 6c49d542
      Nishant Rajadhyaksha authored
      Update unet_1d.py
      
      highlighting the way the modules are actually fed in the main code as the order matters because no skip block attaches time embeds whilst others do not
      6c49d542
  18. 28 Jul, 2023 1 commit
    • Sayak Paul's avatar
      [Feat] Support SDXL Kohya-style LoRA (#4287) · 4a4cdd6b
      Sayak Paul authored
      
      
      * sdxl lora changes.
      
      * better name replacement.
      
      * better replacement.
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * remove print.
      
      * print state dict keys.
      
      * print
      
      * distingisuih better
      
      * debuggable.
      
      * fxi: tyests
      
      * fix: arg from training script.
      
      * access from class.
      
      * run style
      
      * debug
      
      * save intermediate
      
      * some simplifications for SDXL LoRA
      
      * styling
      
      * unet config is not needed in diffusers format.
      
      * fix: dynamic SGM block mapping for SDXL kohya loras (#4322)
      
      * Use lora compatible layers for linear proj_in/proj_out (#4323)
      
      * improve condition for using the sgm_diffusers mapping
      
      * informative comment.
      
      * load compatible keys and embedding layer maaping.
      
      * Get SDXL 1.0 example lora to load
      
      * simplify
      
      * specif ranks and hidden sizes.
      
      * better handling of k rank and hidden
      
      * debug
      
      * debug
      
      * debug
      
      * debug
      
      * debug
      
      * fix: alpha keys
      
      * add check for handling LoRAAttnAddedKVProcessor
      
      * sanity comment
      
      * modifications for text encoder SDXL
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * denugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * up
      
      * up
      
      * up
      
      * up
      
      * up
      
      * up
      
      * unneeded comments.
      
      * unneeded comments.
      
      * kwargs for the other attention processors.
      
      * kwargs for the other attention processors.
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * improve
      
      * debugging
      
      * debugging
      
      * more print
      
      * Fix alphas
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * debugging
      
      * clean up
      
      * clean up.
      
      * debugging
      
      * fix: text
      
      ---------
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      Co-authored-by: default avatarBatuhan Taskaya <batuhan@python.org>
      4a4cdd6b
  19. 27 Jul, 2023 1 commit
  20. 26 Jul, 2023 1 commit
  21. 25 Jul, 2023 4 commits
  22. 21 Jul, 2023 1 commit
  23. 20 Jul, 2023 2 commits
  24. 19 Jul, 2023 2 commits
  25. 18 Jul, 2023 1 commit
    • Sayak Paul's avatar
      [Core] add: controlnet support for SDXL (#4038) · 3eb498e7
      Sayak Paul authored
      * add: controlnet sdxl.
      
      * modifications to controlnet.
      
      * run styling.
      
      * add: __init__.pys
      
      * incorporate https://github.com/huggingface/diffusers/pull/4019
      
       changes.
      
      * run make fix-copies.
      
      * resize the conditioning images.
      
      * remove autocast.
      
      * run styling.
      
      * disable autocast.
      
      * debugging
      
      * device placement.
      
      * back to autocast.
      
      * remove comment.
      
      * save some memory by reusing the vae and unet in the pipeline.
      
      * apply styling.
      
      * Allow low precision sd xl
      
      * finish
      
      * finish
      
      * changes to accommodate the improved VAE.
      
      * modifications to how we handle vae encoding in the training.
      
      * make style
      
      * make existing controlnet fast tests pass.
      
      * change vae checkpoint cli arg.
      
      * fix: vae pretrained paths.
      
      * fix: steps in get_scheduler().
      
      * debugging.
      
      * debugging./
      
      * fix: weight conversion.
      
      * add: docs.
      
      * add: limited tests./
      
      * add: datasets to the requirements.
      
      * update docstrings and incorporate the usage of watermarking.
      
      * incorporate fix from #4083
      
      * fix watermarking dependency handling.
      
      * run make-fix-copies.
      
      * Empty-Commit
      
      * Update requirements_sdxl.txt
      
      * remove vae upcasting part.
      
      * Apply suggestions from code review
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      
      * run make style
      
      * run make fix-copies.
      
      * disable suppot for multicontrolnet.
      
      * Apply suggestions from code review
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      
      * run make fix-copies.
      
      * dtyle/.
      
      * fix-copies.
      
      ---------
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      3eb498e7
  26. 17 Jul, 2023 1 commit
    • Will Berman's avatar
      t2i pipeline (#3932) · a0597f33
      Will Berman authored
      
      
      * Quick implementation of t2i-adapter
      
      Load adapter module with from_pretrained
      
      Prototyping generalized adapter framework
      
      Writeup doc string for sideload framework(WIP) + some minor update on implementation
      
      Update adapter models
      
      Remove old adapter optional args in UNet
      
      Add StableDiffusionAdapterPipeline unit test
      
      Handle cpu offload in StableDiffusionAdapterPipeline
      
      Auto correct coding style
      
      Update model repo name to "RzZ/sd-v1-4-adapter-pipeline"
      
      Refactor MultiAdapter to better compatible with config system
      
      Export MultiAdapter
      
      Create pipeline document template from controlnet
      
      Create dummy objects
      
      Supproting new AdapterLight model
      
      Fix StableDiffusionAdapterPipeline common pipeline test
      
      [WIP] Update adapter pipeline document
      
      Handle num_inference_steps in StableDiffusionAdapterPipeline
      
      Update definition of Adapter "channels_in"
      
      Update documents
      
      Apply code style
      
      Fix doc typo and merge error
      
      Update doc string and example
      
      Quality of life improvement
      
      Remove redundant code and file from prototyping
      
      Remove unused pageage
      
      Remove comments
      
      Fix title
      
      Fix typo
      
      Add conditioning scale arg
      
      Bring back old implmentation
      
      Offload sideload
      
      Add supply info on document
      
      Update src/diffusers/models/adapter.py
      Co-authored-by: default avatarWill Berman <wlbberman@gmail.com>
      
      Update MultiAdapter constructor
      
      Swap out custom checkpoint and update pipeline constructor
      
      Update docment
      
      Apply suggestions from code review
      Co-authored-by: default avatarWill Berman <wlbberman@gmail.com>
      
      Correcting style
      
      Following single-file policy
      
      Update auto size in image preprocess func
      
      Update src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_adapter.py
      Co-authored-by: default avatarWill Berman <wlbberman@gmail.com>
      
      fix copies
      
      Update adapter pipeline behavior
      
      Add adapter_conditioning_scale doc string
      
      Add the missing doc string
      
      Apply suggestions from code review
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      
      Fix few bugs from suggestion
      
      Handle L-mode PIL image as control image
      
      Rename to differentiate adapter resblock
      
      Update src/diffusers/models/adapter.py
      Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
      
      Fix typo
      
      Update adapter parameter name
      
      Update test case and code style
      
      Fix copies
      
      Fix typo
      
      Update src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_adapter.py
      Co-authored-by: default avatarWill Berman <wlbberman@gmail.com>
      
      Update Adapter class name
      
      Add checkpoint converting script
      
      Fix style
      
      Fix-copies
      
      Remove dev script
      
      Apply suggestions from code review
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      
      Updates for parameter rename
      
      Fix convert_adapter
      
      remove main
      
      fix diff
      
      more
      
      refactoring
      
      more
      
      more
      
      small fixes
      
      refactor
      
      tests
      
      more slow tests
      
      more tests
      
      Update docs/source/en/api/pipelines/overview.mdx
      Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
      
      add community contributor to docs
      
      Update docs/source/en/api/pipelines/stable_diffusion/adapter.mdx
      Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
      
      Update docs/source/en/api/pipelines/stable_diffusion/adapter.mdx
      Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
      
      Update docs/source/en/api/pipelines/stable_diffusion/adapter.mdx
      Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
      
      Update docs/source/en/api/pipelines/stable_diffusion/adapter.mdx
      Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
      
      Update docs/source/en/api/pipelines/stable_diffusion/adapter.mdx
      Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
      
      fix
      
      remove from_adapters
      
      license
      
      paper link
      
      docs
      
      more url fixes
      
      more docs
      
      fix
      
      fixes
      
      fix
      
      fix
      
      * fix sample inplace add
      
      * additional_kwargs -> additional_residuals
      
      * move t2i adapter pipeline to own module
      
      * preprocess -> _preprocess_adapter_image
      
      * add TencentArc to license
      
      * fix example code links
      
      * add image converter and fix example doc string
      
      * fix links
      
      * clearer additional residual application
      
      ---------
      Co-authored-by: default avatarHimariO <dsfhe49854@gmail.com>
      a0597f33
  27. 14 Jul, 2023 1 commit
  28. 11 Jul, 2023 1 commit
  29. 09 Jul, 2023 1 commit
    • Will Berman's avatar
      Refactor LoRA (#3778) · c2a28c34
      Will Berman authored
      
      
      * refactor to support patching LoRA into T5
      
      instantiate the lora linear layer on the same device as the regular linear layer
      
      get lora rank from state dict
      
      tests
      
      fmt
      
      can create lora layer in float32 even when rest of model is float16
      
      fix loading model hook
      
      remove load_lora_weights_ and T5 dispatching
      
      remove Unet#attn_processors_state_dict
      
      docstrings
      
      * text encoder monkeypatch class method
      
      * fix test
      
      ---------
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      c2a28c34
  30. 07 Jul, 2023 1 commit