1. 14 Feb, 2025 1 commit
    • Aryan's avatar
      Module Group Offloading (#10503) · 9a147b82
      Aryan authored
      
      
      * update
      
      * fix
      
      * non_blocking; handle parameters and buffers
      
      * update
      
      * Group offloading with cuda stream prefetching (#10516)
      
      * cuda stream prefetch
      
      * remove breakpoints
      
      * update
      
      * copy model hook implementation from pab
      
      * update; ~very workaround based implementation but it seems to work as expected; needs cleanup and rewrite
      
      * more workarounds to make it actually work
      
      * cleanup
      
      * rewrite
      
      * update
      
      * make sure to sync current stream before overwriting with pinned params
      
      not doing so will lead to erroneous computations on the GPU and cause bad results
      
      * better check
      
      * update
      
      * remove hook implementation to not deal with merge conflict
      
      * re-add hook changes
      
      * why use more memory when less memory do trick
      
      * why still use slightly more memory when less memory do trick
      
      * optimise
      
      * add model tests
      
      * add pipeline tests
      
      * update docs
      
      * add layernorm and groupnorm
      
      * address review comments
      
      * improve tests; add docs
      
      * improve docs
      
      * Apply suggestions from code review
      Co-authored-by: default avatarSteven Liu <59462357+stevhliu@users.noreply.github.com>
      
      * apply suggestions from code review
      
      * update tests
      
      * apply suggestions from review
      
      * enable_group_offloading -> enable_group_offload for naming consistency
      
      * raise errors if multiple offloading strategies used; add relevant tests
      
      * handle .to() when group offload applied
      
      * refactor some repeated code
      
      * remove unintentional change from merge conflict
      
      * handle .cuda()
      
      ---------
      Co-authored-by: default avatarSteven Liu <59462357+stevhliu@users.noreply.github.com>
      9a147b82
  2. 22 Jan, 2025 1 commit
    • Aryan's avatar
      [core] Layerwise Upcasting (#10347) · beacaa55
      Aryan authored
      
      
      * update
      
      * update
      
      * make style
      
      * remove dynamo disable
      
      * add coauthor
      Co-Authored-By: default avatarDhruv Nair <dhruv.nair@gmail.com>
      
      * update
      
      * update
      
      * update
      
      * update mixin
      
      * add some basic tests
      
      * update
      
      * update
      
      * non_blocking
      
      * improvements
      
      * update
      
      * norm.* -> norm
      
      * apply suggestions from review
      
      * add example
      
      * update hook implementation to the latest changes from pyramid attention broadcast
      
      * deinitialize should raise an error
      
      * update doc page
      
      * Apply suggestions from code review
      Co-authored-by: default avatarSteven Liu <59462357+stevhliu@users.noreply.github.com>
      
      * update docs
      
      * update
      
      * refactor
      
      * fix _always_upcast_modules for asym ae and vq_model
      
      * fix lumina embedding forward to not depend on weight dtype
      
      * refactor tests
      
      * add simple lora inference tests
      
      * _always_upcast_modules -> _precision_sensitive_module_patterns
      
      * remove todo comments about review; revert changes to self.dtype in unets because .dtype on ModelMixin should be able to handle fp8 weight case
      
      * check layer dtypes in lora test
      
      * fix UNet1DModelTests::test_layerwise_upcasting_inference
      
      * _precision_sensitive_module_patterns -> _skip_layerwise_casting_patterns based on feedback
      
      * skip test in NCSNppModelTests
      
      * skip tests for AutoencoderTinyTests
      
      * skip tests for AutoencoderOobleckTests
      
      * skip tests for UNet1DModelTests - unsupported pytorch operations
      
      * layerwise_upcasting -> layerwise_casting
      
      * skip tests for UNetRLModelTests; needs next pytorch release for currently unimplemented operation support
      
      * add layerwise fp8 pipeline test
      
      * use xfail
      
      * Apply suggestions from code review
      Co-authored-by: default avatarDhruv Nair <dhruv.nair@gmail.com>
      
      * add assertion with fp32 comparison; add tolerance to fp8-fp32 vs fp32-fp32 comparison (required for a few models' test to pass)
      
      * add note about memory consumption on tesla CI runner for failing test
      
      ---------
      Co-authored-by: default avatarDhruv Nair <dhruv.nair@gmail.com>
      Co-authored-by: default avatarSteven Liu <59462357+stevhliu@users.noreply.github.com>
      beacaa55
  3. 09 Jan, 2025 1 commit
  4. 19 Dec, 2024 1 commit
  5. 24 Sep, 2024 1 commit
  6. 12 Sep, 2024 1 commit
  7. 03 Sep, 2024 1 commit
    • Aryan's avatar
      [tests] remove/speedup some low signal tests (#9285) · 24053832
      Aryan authored
      * remove 2 shapes from SDFunctionTesterMixin::test_vae_tiling
      
      * combine freeu enable/disable test to reduce many inference runs
      
      * remove low signal unet test for signature
      
      * remove low signal embeddings test
      
      * remove low signal progress bar test from PipelineTesterMixin
      
      * combine ip-adapter single and multi tests to save many inferences
      
      * fix broken tests
      
      * Update tests/pipelines/test_pipelines_common.py
      
      * Update tests/pipelines/test_pipelines_common.py
      
      * add progress bar tests
      24053832
  8. 26 Jun, 2024 1 commit
  9. 24 Jun, 2024 1 commit
  10. 13 Jun, 2024 1 commit
  11. 06 Jun, 2024 1 commit
  12. 29 May, 2024 1 commit
  13. 10 May, 2024 1 commit
    • Mark Van Aken's avatar
      #7535 Update FloatTensor type hints to Tensor (#7883) · be4afa0b
      Mark Van Aken authored
      * find & replace all FloatTensors to Tensor
      
      * apply formatting
      
      * Update torch.FloatTensor to torch.Tensor in the remaining files
      
      * formatting
      
      * Fix the rest of the places where FloatTensor is used as well as in documentation
      
      * formatting
      
      * Update new file from FloatTensor to Tensor
      be4afa0b
  14. 09 May, 2024 2 commits
  15. 02 May, 2024 1 commit
  16. 10 Apr, 2024 2 commits
    • Sayak Paul's avatar
      [Tests] reduce the model sizes in the SD fast tests (#7580) · b2323aa2
      Sayak Paul authored
      * give it a shot.
      
      * print.
      
      * correct assertion.
      
      * gather results from the rest of the tests.
      
      * change the assertion values where needed.
      
      * remove print statements.
      b2323aa2
    • Sayak Paul's avatar
      [Core] add "balanced" `device_map` support to pipelines (#6857) · 3e4a6bd2
      Sayak Paul authored
      
      
      * get device <-> component mapping when using multiple gpus.
      
      * condition the device_map bits.
      
      * relax condition
      
      * device_map progress.
      
      * device_map enhancement
      
      * some cleaning up and debugging
      
      * Apply suggestions from code review
      Co-authored-by: default avatarMarc Sun <57196510+SunMarc@users.noreply.github.com>
      
      * incorporate suggestions from PR.
      
      * remove multi-gpu condition for now.
      
      * guard check the component -> device mapping
      
      * fix: device_memory variable
      
      * dispatching transformers model to have force_hooks=True
      
      * better guarding for transformers device_map
      
      * introduce support balanced_low_memory and balanced_ultra_low_memory.
      
      * remove device_map patch.
      
      * fix: intermediate variable scoping.
      
      * fix: condition in cpu offload.
      
      * fix: flax class restrictions.
      
      * remove modifications from cpu_offload and model_offload
      
      * incorporate changes.
      
      * add a simple forward pass test
      
      * add: torch_device in get_inputs()
      
      * add: tests
      
      * remove print
      
      * safe-guard to(), model offloading and cpu offloading when balanced is used as a device_map.
      
      * style
      
      * remove .
      
      * safeguard device_map with more checks and remove invalid device_mapping strategues.
      
      * make  a class attribute and adjust tests accordingly.
      
      * fix device_map check
      
      * fix test
      
      * adjust comment
      
      * fix: device_map attribute
      
      * fix: dispatching.
      
      * max_memory test for pipeline
      
      * version guard the tests
      
      * fix guard.
      
      * address review feedback.
      
      * reset_device_map method.
      
      * add: test for reset_hf_device_map
      
      * fix a couple things.
      
      * add reset_device_map() in the error message.
      
      * add tests for checking reset_device_map doesn't have unintended consequences.
      
      * fix reset_device_map and offloading tests.
      
      * create _get_final_device_map utility.
      
      * hf_device_map -> _hf_device_map
      
      * add documentation
      
      * add notes suggested by Marc.
      
      * styling.
      
      * Apply suggestions from code review
      Co-authored-by: default avatarSteven Liu <59462357+stevhliu@users.noreply.github.com>
      Co-authored-by: default avatarPedro Cuenca <pedro@huggingface.co>
      
      * move updates within gpu condition.
      
      * other docs related things
      
      * note on ignore a device not specified in .
      
      * provide a suggestion if device mapping errors out.
      
      * fix: typo.
      
      * _hf_device_map -> hf_device_map
      
      * Empty-Commit
      
      * add: example hf_device_map.
      
      ---------
      Co-authored-by: default avatarMarc Sun <57196510+SunMarc@users.noreply.github.com>
      Co-authored-by: default avatarSteven Liu <59462357+stevhliu@users.noreply.github.com>
      Co-authored-by: default avatarPedro Cuenca <pedro@huggingface.co>
      3e4a6bd2
  17. 04 Apr, 2024 1 commit
    • UmerHA's avatar
      Skip `test_freeu_enabled ` on MPS (#7570) · 71f49a5d
      UmerHA authored
      * Skip `test_freeu_enabled ` on MPS
      
      * Small fixes
      
      - import skip_mps correctly
      - disable all instances of test_freeu_enabled
      
      * Empty commit to trigger tests
      
      * Empty commit to trigger CI
      71f49a5d
  18. 29 Mar, 2024 2 commits
    • Dhruv Nair's avatar
      Memory clean up on all Slow Tests (#7514) · 4d39b748
      Dhruv Nair authored
      
      
      * update
      
      * update
      
      ---------
      Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
      4d39b748
    • Sayak Paul's avatar
      [Tests] Speed up some fast pipeline tests (#7477) · fac76169
      Sayak Paul authored
      * speed up test_vae_slicing in animatediff
      
      * speed up test_karras_schedulers_shape for attend and excite.
      
      * style.
      
      * get the static slices out.
      
      * specify torch print options.
      
      * modify
      
      * test run with controlnet
      
      * specify kwarg
      
      * fix: things
      
      * not None
      
      * flatten
      
      * controlnet img2img
      
      * complete controlet sd
      
      * finish more
      
      * finish more
      
      * finish more
      
      * finish more
      
      * finish the final batch
      
      * add cpu check for expected_pipe_slice.
      
      * finish the rest
      
      * remove print
      
      * style
      
      * fix ssd1b controlnet test
      
      * checking ssd1b
      
      * disable the test.
      
      * make the test_ip_adapter_single controlnet test more robust
      
      * fix: simple inpaint
      
      * multi
      
      * disable panorama
      
      * enable again
      
      * panorama is shaky so leave it for now
      
      * remove print
      
      * raise tolerance.
      fac76169
  19. 19 Mar, 2024 1 commit
  20. 14 Mar, 2024 1 commit
    • M. Tolga Cangöz's avatar
      [`Tests`] Update a deprecated parameter in test files and fix several typos (#7277) · 5d848ec0
      M. Tolga Cangöz authored
      * Add properties and `IPAdapterTesterMixin` tests for `StableDiffusionPanoramaPipeline`
      
      * Fix variable name typo and update comments
      
      * Update deprecated `output_type="numpy"` to "np" in test files
      
      * Discard changes to src/diffusers/pipelines/stable_diffusion_panorama/pipeline_stable_diffusion_panorama.py
      
      * Update test_stable_diffusion_panorama.py
      
      * Update numbers in README.md
      
      * Update get_guidance_scale_embedding method to use timesteps instead of w
      
      * Update number of checkpoints in README.md
      
      * Add type hints and fix var name
      
      * Fix PyTorch's convention for inplace functions
      
      * Fix a typo
      
      * Revert "Fix PyTorch's convention for inplace functions"
      
      This reverts commit 74350cf65b2c9aa77f08bec7937d7a8b13edb509.
      
      * Fix typos
      
      * Indent
      
      * Refactor get_guidance_scale_embedding method in LEditsPPPipelineStableDiffusionXL class
      5d848ec0
  21. 27 Feb, 2024 1 commit
  22. 23 Feb, 2024 1 commit
  23. 08 Feb, 2024 1 commit
  24. 26 Jan, 2024 1 commit
  25. 23 Jan, 2024 3 commits
    • Dhruv Nair's avatar
      [Refactor] Update from single file (#6428) · fee93c81
      Dhruv Nair authored
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update'
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * up
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * up
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update'
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * update
      
      * clean
      
      * update
      
      * update
      
      * clean up
      
      * clean up
      
      * update
      
      * clean
      
      * clean
      
      * update
      
      * updaet
      
      * clean up
      
      * fix docs
      
      * update
      
      * update
      
      * Revert "update"
      
      This reverts commit dbfb8f1ea9c61a2b4e02f926245be2b3d387e577.
      
      * update
      
      * update
      
      * update
      
      * update
      
      * fix controlnet
      
      * fix scheduler
      
      * fix controlnet tests
      fee93c81
    • Sayak Paul's avatar
      [Tests] Test for passing local config file to `from_single_file()` (#6638) · 5308cce9
      Sayak Paul authored
      make config file local too.
      5308cce9
    • YiYi Xu's avatar
      fix dpm related slow test failure (#6680) · 318556b2
      YiYi Xu authored
      
      
      fix
      Co-authored-by: default avataryiyixuxu <yixu310@gmail,com>
      318556b2
  26. 09 Jan, 2024 1 commit
  27. 26 Dec, 2023 1 commit
  28. 22 Dec, 2023 1 commit
  29. 18 Dec, 2023 1 commit
  30. 16 Dec, 2023 1 commit
  31. 10 Dec, 2023 1 commit
    • Aryan V S's avatar
      IP adapter support for most pipelines (#5900) · 88bdd97c
      Aryan V S authored
      
      
      * support ip-adapter in src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_upscale.py
      
      * support ip-adapter in src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_attend_and_excite.py
      
      * support ip-adapter in src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_instruct_pix2pix.py
      
      * update tests
      
      * support ip-adapter in src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_panorama.py
      
      * support ip-adapter in src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_sag.py
      
      * support ip-adapter in src/diffusers/pipelines/stable_diffusion_safe/pipeline_stable_diffusion_safe.py
      
      * support ip-adapter in src/diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_text2img.py
      
      * support ip-adapter in src/diffusers/pipelines/latent_consistency_models/pipeline_latent_consistency_img2img.py
      
      * support ip-adapter in src/diffusers/pipelines/stable_diffusion/pipeline_stable_diffusion_ldm3d.py
      
      * revert changes to sd_attend_and_excite and sd_upscale
      
      * make style
      
      * fix broken tests
      
      * update ip-adapter implementation to latest
      
      * apply suggestions from review
      
      ---------
      Co-authored-by: default avatarYiYi Xu <yixu310@gmail.com>
      Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
      88bdd97c
  32. 27 Nov, 2023 1 commit
    • dg845's avatar
      Add Custom Timesteps Support to LCMScheduler and Supported Pipelines (#5874) · 67d07074
      dg845 authored
      * Add custom timesteps support to LCMScheduler.
      
      * Add custom timesteps support to StableDiffusionPipeline.
      
      * Add custom timesteps support to StableDiffusionXLPipeline.
      
      * Add custom timesteps support to remaining Stable Diffusion pipelines which support LCMScheduler (img2img, inpaint).
      
      * Add custom timesteps support to remaining Stable Diffusion XL pipelines which support LCMScheduler (img2img, inpaint).
      
      * Add custom timesteps support to StableDiffusionControlNetPipeline.
      
      * Add custom timesteps support to T21 Stable Diffusion (XL) Adapters.
      
      * Clean up Stable Diffusion inpaint tests.
      
      * Manually add support for custom timesteps to AltDiffusion pipelines since make fix-copies doesn't appear to work correctly (it deletes the whole pipeline).
      
      * make style
      
      * Refactor pipeline timestep handling into the retrieve_timesteps function.
      67d07074
  33. 21 Nov, 2023 1 commit
  34. 16 Nov, 2023 1 commit
  35. 09 Nov, 2023 1 commit