• 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
pipeline_controlnet_inpaint.py 60.1 KB