1. 26 Sep, 2023 2 commits
  2. 18 Sep, 2023 2 commits
  3. 11 Sep, 2023 1 commit
    • Dhruv Nair's avatar
      Lazy Import for Diffusers (#4829) · b6e0b016
      Dhruv Nair authored
      
      
      * initial commit
      
      * move modules to import struct
      
      * add dummy objects and _LazyModule
      
      * add lazy import to schedulers
      
      * clean up unused imports
      
      * lazy import on models module
      
      * lazy import for schedulers module
      
      * add lazy import to pipelines module
      
      * lazy import altdiffusion
      
      * lazy import audio diffusion
      
      * lazy import audioldm
      
      * lazy import consistency model
      
      * lazy import controlnet
      
      * lazy import dance diffusion ddim ddpm
      
      * lazy import deepfloyd
      
      * lazy import kandinksy
      
      * lazy imports
      
      * lazy import semantic diffusion
      
      * lazy imports
      
      * lazy import stable diffusion
      
      * move sd output to its own module
      
      * clean up
      
      * lazy import t2iadapter
      
      * lazy import unclip
      
      * lazy import versatile and vq diffsuion
      
      * lazy import vq diffusion
      
      * helper to fetch objects from modules
      
      * lazy import sdxl
      
      * lazy import txt2vid
      
      * lazy import stochastic karras
      
      * fix model imports
      
      * fix bug
      
      * lazy import
      
      * clean up
      
      * clean up
      
      * fixes for tests
      
      * fixes for tests
      
      * clean up
      
      * remove import of torch_utils from utils module
      
      * clean up
      
      * clean up
      
      * fix mistake import statement
      
      * dedicated modules for exporting and loading
      
      * remove testing utils from utils module
      
      * fixes from  merge conflicts
      
      * Update src/diffusers/pipelines/kandinsky2_2/__init__.py
      
      * fix docs
      
      * fix alt diffusion copied from
      
      * fix check dummies
      
      * fix more docs
      
      * remove accelerate import from utils module
      
      * add type checking
      
      * make style
      
      * fix check dummies
      
      * remove torch import from xformers check
      
      * clean up error message
      
      * fixes after upstream merges
      
      * dummy objects fix
      
      * fix tests
      
      * remove unused module import
      
      ---------
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      b6e0b016
  4. 04 Sep, 2023 1 commit
  5. 01 Sep, 2023 1 commit
  6. 04 Aug, 2023 1 commit
  7. 01 Aug, 2023 1 commit
    • Dhruv Nair's avatar
      Cleanup pass for flaky Slow Tests for Stable diffusion (#4415) · 6f4355f8
      Dhruv Nair authored
      * update expected slice so img2img compile tests pass
      
      * use default attn processor
      
      * use default attn processor and update expected slice value to pass test
      
      * use default attn processor
      
      * set default attn processor and update expected slice
      
      * set default attn processor and change precision for check
      
      * set unet to use default attn processor
      6f4355f8
  8. 20 Jul, 2023 1 commit
  9. 11 Jul, 2023 1 commit
  10. 03 Jul, 2023 1 commit
    • Patrick von Platen's avatar
      Correct controlnet out of list error (#3928) · 2e8668f0
      Patrick von Platen authored
      * Correct controlnet out of list error
      
      * Apply suggestions from code review
      
      * correct tests
      
      * correct tests
      
      * fix
      
      * test all
      
      * Apply suggestions from code review
      
      * test all
      
      * test all
      
      * Apply suggestions from code review
      
      * Apply suggestions from code review
      
      * fix more tests
      
      * Fix more
      
      * Apply suggestions from code review
      
      * finish
      
      * Apply suggestions from code review
      
      * Update src/diffusers/schedulers/scheduling_k_dpm_2_ancestral_discrete.py
      
      * finish
      2e8668f0
  11. 05 Jun, 2023 1 commit
  12. 30 May, 2023 1 commit
  13. 26 May, 2023 1 commit
    • Patrick von Platen's avatar
      [Stable Diffusion Inpainting] Allow standard text-to-img checkpoints to be... · d114d80f
      Patrick von Platen authored
      [Stable Diffusion Inpainting] Allow standard text-to-img checkpoints to be useable for SD inpainting (#3533)
      
      * Add default to inpaint
      
      * Make sure controlnet also works with normal sd for inpaint
      
      * Add tests
      
      * improve
      
      * Correct encode images function
      
      * Correct inpaint controlnet
      
      * Improve text2img inpanit
      
      * make style
      
      * up
      
      * up
      
      * up
      
      * up
      
      * fix more
      d114d80f
  14. 23 May, 2023 1 commit
    • Pedro Cuenca's avatar
      Run `torch.compile` tests in separate subprocesses (#3503) · bde2cb5d
      Pedro Cuenca authored
      * Run ControlNet compile test in a separate subprocess
      
      `torch.compile()` spawns several subprocesses and the GPU memory used
      was not reclaimed after the test ran. This approach was taken from
      `transformers`.
      
      * Style
      
      * Prepare a couple more compile tests to run in subprocess.
      
      * Use require_torch_2 decorator.
      
      * Test inpaint_compile in subprocess.
      
      * Run img2img compile test in subprocess.
      
      * Run stable diffusion compile test in subprocess.
      
      * style
      
      * Temporarily trigger on pr to test.
      
      * Revert "Temporarily trigger on pr to test."
      
      This reverts commit 82d76868ddf9cc634a9f14b2b0aef1d5433cd750.
      bde2cb5d
  15. 22 May, 2023 1 commit
    • Patrick von Platen's avatar
      Refactor full determinism (#3485) · 51843fd7
      Patrick von Platen authored
      * up
      
      * fix more
      
      * Apply suggestions from code review
      
      * fix more
      
      * fix more
      
      * Check it
      
      * Remove 16:8
      
      * fix more
      
      * fix more
      
      * fix more
      
      * up
      
      * up
      
      * Test only stable diffusion
      
      * Test only two files
      
      * up
      
      * Try out spinning up processes that can be killed
      
      * up
      
      * Apply suggestions from code review
      
      * up
      
      * up
      51843fd7
  16. 17 May, 2023 2 commits
    • Glaceon-Hyy's avatar
      Add inpaint lora scale support (#3460) · 88295f92
      Glaceon-Hyy authored
      
      
      * add inpaint lora scale support
      
      * add inpaint lora scale test
      
      ---------
      Co-authored-by: default avataryueyang.hyy <yueyang.hyy@alibaba-inc.com>
      88295f92
    • Rupert Menneer's avatar
      Adding 'strength' parameter to StableDiffusionInpaintingPipeline (#3424) · c09c4f3a
      Rupert Menneer authored
      
      
      * Added explanation of 'strength' parameter
      
      * Added get_timesteps function which relies on new strength parameter
      
      * Added `strength` parameter which defaults to 1.
      
      * Swapped ordering so `noise_timestep` can be calculated before masking the image
      
      this is required when you aren't applying 100% noise to the masked region, e.g. strength < 1.
      
      * Added strength to check_inputs, throws error if out of range
      
      * Changed `prepare_latents` to initialise latents w.r.t strength
      
      inspired from the stable diffusion img2img pipeline, init latents are initialised by converting the init image into a VAE latent and adding noise (based upon the strength parameter passed in), e.g. random when strength = 1, or the init image at strength = 0.
      
      * WIP: Added a unit test for the new strength parameter in the StableDiffusionInpaintingPipeline
      
      still need to add correct regression values
      
      * Created a is_strength_max to initialise from pure random noise
      
      * Updated unit tests w.r.t new strength parameter + fixed new strength unit test
      
      * renamed parameter to avoid confusion with variable of same name
      
      * Updated regression values for new strength test - now passes
      
      * removed 'copied from' comment as this method is now different and divergent from the cpy
      
      * Update src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_inpaint.py
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      
      * Ensure backwards compatibility for prepare_mask_and_masked_image
      
      created a return_image boolean and initialised to false
      
      * Ensure backwards compatibility for prepare_latents
      
      * Fixed copy check typo
      
      * Fixes w.r.t backward compibility changes
      
      * make style
      
      * keep function argument ordering same for backwards compatibility in callees with copied from statements
      
      * make fix-copies
      
      ---------
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      Co-authored-by: default avatarWilliam Berman <WLBberman@gmail.com>
      c09c4f3a
  17. 16 May, 2023 1 commit
    • Patrick von Platen's avatar
      Refactor controlnet and add img2img and inpaint (#3386) · 886575ee
      Patrick von Platen authored
      * refactor controlnet and add img2img and inpaint
      
      * First draft to get pipelines to work
      
      * make style
      
      * Fix more
      
      * Fix more
      
      * More tests
      
      * Fix more
      
      * Make inpainting work
      
      * make style and more tests
      
      * Apply suggestions from code review
      
      * up
      
      * make style
      
      * Fix imports
      
      * Fix more
      
      * Fix more
      
      * Improve examples
      
      * add test
      
      * Make sure import is correctly deprecated
      
      * Make sure everything works in compile mode
      
      * make sure authorship is correctly attributed
      886575ee
  18. 11 May, 2023 1 commit
    • Sayak Paul's avatar
      [Tests] better determinism (#3374) · 90f5f3c4
      Sayak Paul authored
      * enable deterministic pytorch and cuda operations.
      
      * disable manual seeding.
      
      * make style && make quality for unet_2d tests.
      
      * enable determinism for the unet2dconditional model.
      
      * add CUBLAS_WORKSPACE_CONFIG for better reproducibility.
      
      * relax tolerance (very weird issue, though).
      
      * revert to torch manual_seed() where needed.
      
      * relax more tolerance.
      
      * better placement of the cuda variable and relax more tolerance.
      
      * enable determinism for 3d condition model.
      
      * relax tolerance.
      
      * add: determinism to alt_diffusion.
      
      * relax tolerance for alt diffusion.
      
      * dance diffusion.
      
      * dance diffusion is flaky.
      
      * test_dict_tuple_outputs_equivalent edit.
      
      * fix two more tests.
      
      * fix more ddim tests.
      
      * fix: argument.
      
      * change to diff in place of difference.
      
      * fix: test_save_load call.
      
      * test_save_load_float16 call.
      
      * fix: expected_max_diff
      
      * fix: paint by example.
      
      * relax tolerance.
      
      * add determinism to 1d unet model.
      
      * torch 2.0 regressions seem to be brutal
      
      * determinism to vae.
      
      * add reason to skipping.
      
      * up tolerance.
      
      * determinism to vq.
      
      * determinism to cuda.
      
      * determinism to the generic test pipeline file.
      
      * refactor general pipelines testing a bit.
      
      * determinism to alt diffusion i2i
      
      * up tolerance for alt diff i2i and audio diff
      
      * up tolerance.
      
      * determinism to audioldm
      
      * increase tolerance for audioldm lms.
      
      * increase tolerance for paint by paint.
      
      * increase tolerance for repaint.
      
      * determinism to cycle diffusion and sd 1.
      
      * relax tol for cycle diffusion 🚲
      
      * relax tol for sd 1.0
      
      * relax tol for controlnet.
      
      * determinism to img var.
      
      * relax tol for img variation.
      
      * tolerance to i2i sd
      
      * make style
      
      * determinism to inpaint.
      
      * relax tolerance for inpaiting.
      
      * determinism for inpainting legacy
      
      * relax tolerance.
      
      * determinism to instruct pix2pix
      
      * determinism to model editing.
      
      * model editing tolerance.
      
      * panorama determinism
      
      * determinism to pix2pix zero.
      
      * determinism to sag.
      
      * sd 2. determinism
      
      * sd. tolerance
      
      * disallow tf32 matmul.
      
      * relax tolerance is all you need.
      
      * make style and determinism to sd 2 depth
      
      * relax tolerance for depth.
      
      * tolerance to diffedit.
      
      * tolerance to sd 2 inpaint.
      
      * up tolerance.
      
      * determinism in upscaling.
      
      * tolerance in upscaler.
      
      * more tolerance relaxation.
      
      * determinism to v pred.
      
      * up tol for v_pred
      
      * unclip determinism
      
      * determinism to unclip img2img
      
      * determinism to text to video.
      
      * determinism to last set of tests
      
      * up tol.
      
      * vq cumsum doesn't have a deterministic kernel
      
      * relax tol
      
      * relax tol
      90f5f3c4
  19. 10 May, 2023 2 commits
    • Patrick von Platen's avatar
      make style · 82e6fa56
      Patrick von Platen authored
      82e6fa56
    • Rupert Menneer's avatar
      StableDiffusionInpaintingPipeline - resize image w.r.t height and width (#3322) · edb087a2
      Rupert Menneer authored
      
      
      * StableDiffusionInpaintingPipeline now resizes input images and masks w.r.t to passed input height and width. Default is already set to 512. This addresses the common tensor mismatch error. Also moved type check into relevant funciton to keep main pipeline body tidy.
      
      * Fixed StableDiffusionInpaintingPrepareMaskAndMaskedImageTests
      
      Due to previous commit these tests were failing as height and width need to be passed into the prepare_mask_and_masked_image function, I have updated the code and added a height/width variable per unit test as it seemed more appropriate than the current hard coded solution
      
      * Added a resolution test to StableDiffusionInpaintPipelineSlowTests
      
      this unit test simply gets the input and resizes it into some that would fail (e.g. would throw a tensor mismatch error/not a mult of 8). Then passes it through the pipeline and verifies it produces output with correct dims w.r.t the passed height and width
      
      ---------
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      edb087a2
  20. 09 May, 2023 1 commit
  21. 02 May, 2023 1 commit
  22. 13 Apr, 2023 1 commit
  23. 18 Mar, 2023 1 commit
  24. 03 Mar, 2023 1 commit
  25. 01 Mar, 2023 2 commits
  26. 07 Feb, 2023 1 commit
  27. 25 Jan, 2023 1 commit
    • Patrick von Platen's avatar
      Reproducibility 3/3 (#1924) · 6ba2231d
      Patrick von Platen authored
      
      
      * make tests deterministic
      
      * run slow tests
      
      * prepare for testing
      
      * finish
      
      * refactor
      
      * add print statements
      
      * finish more
      
      * correct some test failures
      
      * more fixes
      
      * set up to correct tests
      
      * more corrections
      
      * up
      
      * fix more
      
      * more prints
      
      * add
      
      * up
      
      * up
      
      * up
      
      * uP
      
      * uP
      
      * more fixes
      
      * uP
      
      * up
      
      * up
      
      * up
      
      * up
      
      * fix more
      
      * up
      
      * up
      
      * clean tests
      
      * up
      
      * up
      
      * up
      
      * more fixes
      
      * Apply suggestions from code review
      Co-authored-by: default avatarSuraj Patil <surajp815@gmail.com>
      
      * make
      
      * correct
      
      * finish
      
      * finish
      Co-authored-by: default avatarSuraj Patil <surajp815@gmail.com>
      6ba2231d
  28. 25 Dec, 2022 1 commit
  29. 19 Dec, 2022 1 commit
  30. 16 Dec, 2022 1 commit
  31. 13 Dec, 2022 1 commit
  32. 06 Dec, 2022 1 commit
    • Anton Lozhkov's avatar
      Standardize fast pipeline tests with PipelineTestMixin (#1526) · 02d83c9f
      Anton Lozhkov authored
      
      
      * [WIP] Standardize fast pipeline tests with PipelineTestMixin
      
      * refactor the sd tests a bit
      
      * add more common tests
      
      * add xformers
      
      * add progressbar test
      
      * cleanup
      
      * upd fp16
      
      * CycleDiffusionPipelineFastTests
      
      * DanceDiffusionPipelineFastTests
      
      * AltDiffusionPipelineFastTests
      
      * StableDiffusion2PipelineFastTests
      
      * StableDiffusion2InpaintPipelineFastTests
      
      * StableDiffusionImageVariationPipelineFastTests
      
      * StableDiffusionImg2ImgPipelineFastTests
      
      * StableDiffusionInpaintPipelineFastTests
      
      * remove unused mixins
      
      * quality
      
      * add missing inits
      
      * try to fix mps tests
      
      * fix mps tests
      
      * add mps warmups
      
      * skip for some pipelines
      
      * style
      
      * Update tests/test_pipelines_common.py
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
      02d83c9f
  33. 05 Dec, 2022 1 commit
  34. 24 Nov, 2022 2 commits