mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
Suggested changes
Co-Authored-By: Ryan Dick <14897797+RyanJDick@users.noreply.github.com>
This commit is contained in:
parent
6af659b1da
commit
5b84e117b2
@ -62,8 +62,6 @@ class T2IAdapterExt(ExtensionBase):
|
|||||||
image=self._image,
|
image=self._image,
|
||||||
latents_height=latents_height,
|
latents_height=latents_height,
|
||||||
latents_width=latents_width,
|
latents_width=latents_width,
|
||||||
max_unet_downscale=self._max_unet_downscale,
|
|
||||||
resize_mode=self._resize_mode,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def _run_model(
|
def _run_model(
|
||||||
@ -72,21 +70,28 @@ class T2IAdapterExt(ExtensionBase):
|
|||||||
image: Image,
|
image: Image,
|
||||||
latents_height: int,
|
latents_height: int,
|
||||||
latents_width: int,
|
latents_width: int,
|
||||||
max_unet_downscale: int,
|
|
||||||
resize_mode: CONTROLNET_RESIZE_VALUES,
|
|
||||||
):
|
):
|
||||||
input_height = latents_height // max_unet_downscale * model.total_downscale_factor
|
# Resize the T2I-Adapter input image.
|
||||||
input_width = latents_width // max_unet_downscale * model.total_downscale_factor
|
# We select the resize dimensions so that after the T2I-Adapter's total_downscale_factor is applied, the
|
||||||
|
# result will match the latent image's dimensions after max_unet_downscale is applied.
|
||||||
|
input_height = latents_height // self._max_unet_downscale * model.total_downscale_factor
|
||||||
|
input_width = latents_width // self._max_unet_downscale * model.total_downscale_factor
|
||||||
|
|
||||||
|
# Note: We have hard-coded `do_classifier_free_guidance=False`. This is because we only want to prepare
|
||||||
|
# a single image. If CFG is enabled, we will duplicate the resultant tensor after applying the
|
||||||
|
# T2I-Adapter model.
|
||||||
|
#
|
||||||
|
# Note: We re-use the `prepare_control_image(...)` from ControlNet for T2I-Adapter, because it has many
|
||||||
|
# of the same requirements (e.g. preserving binary masks during resize).
|
||||||
t2i_image = prepare_control_image(
|
t2i_image = prepare_control_image(
|
||||||
image=image,
|
image=image,
|
||||||
do_classifier_free_guidance=False,
|
do_classifier_free_guidance=False,
|
||||||
width=input_width,
|
width=input_width,
|
||||||
height=input_height,
|
height=input_height,
|
||||||
num_channels=model.config["in_channels"], # mypy treats this as a FrozenDict
|
num_channels=model.config["in_channels"],
|
||||||
device=model.device,
|
device=model.device,
|
||||||
dtype=model.dtype,
|
dtype=model.dtype,
|
||||||
resize_mode=resize_mode,
|
resize_mode=self._resize_mode,
|
||||||
)
|
)
|
||||||
|
|
||||||
return model(t2i_image)
|
return model(t2i_image)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user