[Performance 4/6] Precompute is_sdxl_inpaint flag #15806
Merged
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.
Description
According to lllyasviel/stable-diffusion-webui-forge#716 (comment) , the check of whether the model is sdxl inpaint is calling
state_dict
on every sampling step.state_dict
is a very expensive function that costs ~40ms. This overhead is for all inference regardless of model type, which is dumb.This PR precomputes
is_sdxl_inpaint
flag so that we do not callstate_dict
on every sampling step.Original PR that introduce this change: #14390
Screenshots/videos:
Checklist: