• dg845's avatar
    Add Latent Consistency Models Pipeline (#5448) · 958e17da
    dg845 authored
    
    
    * initial commit for LatentConsistencyModelPipeline and LCMScheduler based on the community pipeline
    
    * Add callback and freeu support.
    
    * apply suggestions from review
    
    * Clean up LCMScheduler
    
    * Remove timeindex argument to LCMScheduler.step.
    
    * Add support for clipping or thresholding the predicted original sample.
    
    * Remove unused methods and arguments in LCMScheduler.
    
    * Improve comment about (lack of) negative prompt support.
    
    * Change input guidance_scale to match the StableDiffusionPipeline (Imagen) CFG formulation.
    
    * Move lcm_origin_steps from pipeline __call__ to LCMScheduler.__init__/config (as origin_steps).
    
    * Fix typo when clipping/thresholding in LCMScheduler.
    
    * Add some initial LCMScheduler tests.
    
    * add type annotations from review
    
    * Fix type annotation bug.
    
    * Override test_add_noise_device in LCMSchedulerTest since hardcoded timesteps doesn't work under default settings.
    
    * Add generator argument pipeline prepare_latents call.
    
    * Cast LCMScheduler.timesteps to long in set_timesteps.
    
    * Add onestep and multistep full loop scheduler tests.
    
    * Set default height/width to None and don't hardcode guidance scale embedding dim.
    
    * Add initial LatentConsistencyPipeline fast and slow tests.
    
    * Add initial documentation for LatentConsistencyModelPipeline and LCMScheduler.
    
    * Make remaining failing fast tests pass.
    
    * make style
    
    * Make original_inference_steps configurable from pipeline __call__ again.
    
    * make style
    
    * Remove guidance_rescale arg from pipeline __call__ since LCM currently doesn't support CFG.
    
    * Make LCMScheduler defaults match config of LCM_Dreamshaper_v7 checkpoint.
    
    * Fix LatentConsistencyPipeline slow tests and add dummy expected slices.
    
    * Add checks for original_steps in LCMScheduler.set_timesteps.
    
    * make fix-copies
    
    * Improve LatentConsistencyModelPipeline docs.
    
    * Apply suggestions from code review
    Co-authored-by: default avatarAryan V S <avs050602@gmail.com>
    
    * Apply suggestions from code review
    Co-authored-by: default avatarAryan V S <avs050602@gmail.com>
    
    * Apply suggestions from code review
    Co-authored-by: default avatarAryan V S <avs050602@gmail.com>
    
    * Update src/diffusers/schedulers/scheduling_lcm.py
    
    * Apply suggestions from code review
    Co-authored-by: default avatarAryan V S <avs050602@gmail.com>
    
    * finish
    
    ---------
    Co-authored-by: default avatarSayak Paul <spsayakpaul@gmail.com>
    Co-authored-by: default avatarPatrick von Platen <patrick.v.platen@gmail.com>
    Co-authored-by: default avatarAryan V S <avs050602@gmail.com>
    958e17da
__init__.py 19.1 KB