[WIP] Check UNet shapes in StableDiffusionInpaintPipeline __init__ #2853
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a warning in
StableDiffusionInpaintPipeline's__init__method if the user initializes the pipeline with a UNet withunet.config.in_channelsother than 9. This follows up on #2799 .This is because a Stable Diffusion inpainting model typically has 9 input channels: 4 for the latent (encoded) base image (
num_channels_latents), 1 for the inpainting mask (num_channels_mask), and 4 for the latent masked image (num_channels_masked_image). However, a valid SD inpainting model could have a different number of input channels, which is why we raise a warning instead of an exception; the precise condition that must be satisfied is thatnum_channels_latents + num_channels_mask + num_channels_masked_image == self.unet.config.in_channels, which is checked in the__call__method. See #2799 for more details.