From 5fc6767a4a2607742f8e7fec7abe98f10ee55915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Deltheil?= Date: Fri, 29 Sep 2023 14:34:45 +0200 Subject: [PATCH] add IP-Adapter plus (aka fine-grained features) --- .../convert_diffusers_ip_adapter.py | 49 +++- .../latent_diffusion/image_prompt.py | 265 ++++++++++++++++-- .../stable_diffusion_1/image_prompt.py | 51 +++- .../stable_diffusion_xl/image_prompt.py | 51 +++- tests/e2e/test_diffusion.py | 142 ++++++++++ tests/e2e/test_diffusion_ref/README.md | 3 + .../expected_image_ip_adapter_plus_statue.png | Bin 0 -> 275110 bytes ...ected_image_sdxl_ip_adapter_plus_woman.png | Bin 0 -> 1128772 bytes tests/e2e/test_diffusion_ref/statue.png | Bin 0 -> 338176 bytes 9 files changed, 525 insertions(+), 36 deletions(-) create mode 100644 tests/e2e/test_diffusion_ref/expected_image_ip_adapter_plus_statue.png create mode 100644 tests/e2e/test_diffusion_ref/expected_image_sdxl_ip_adapter_plus_woman.png create mode 100644 tests/e2e/test_diffusion_ref/statue.png diff --git a/scripts/conversion/convert_diffusers_ip_adapter.py b/scripts/conversion/convert_diffusers_ip_adapter.py index ead2065..f2a6b84 100644 --- a/scripts/conversion/convert_diffusers_ip_adapter.py +++ b/scripts/conversion/convert_diffusers_ip_adapter.py @@ -70,12 +70,14 @@ def main() -> None: assert isinstance(weights, dict) assert sorted(weights.keys()) == ["image_proj", "ip_adapter"] + fine_grained = "latents" in weights["image_proj"] # aka IP-Adapter plus + match len(weights["ip_adapter"]): case 32: - ip_adapter = SD1IPAdapter(target=SD1UNet(in_channels=4)) + ip_adapter = SD1IPAdapter(target=SD1UNet(in_channels=4), fine_grained=fine_grained) cross_attn_mapping = CROSS_ATTN_MAPPING["sd15"] case 140: - ip_adapter = SDXLIPAdapter(target=SDXLUNet(in_channels=4)) + ip_adapter = SDXLIPAdapter(target=SDXLUNet(in_channels=4), fine_grained=fine_grained) cross_attn_mapping = CROSS_ATTN_MAPPING["sdxl"] case _: raise ValueError("Unexpected number of keys in input checkpoint") @@ -86,12 +88,43 @@ def main() -> None: state_dict: dict[str, torch.Tensor] = {} image_proj_weights = weights["image_proj"] - image_proj_state_dict: dict[str, torch.Tensor] = { - "Linear.weight": image_proj_weights["proj.weight"], - "Linear.bias": image_proj_weights["proj.bias"], - "LayerNorm.weight": image_proj_weights["norm.weight"], - "LayerNorm.bias": image_proj_weights["norm.bias"], - } + image_proj_state_dict: dict[str, torch.Tensor] + + if fine_grained: + w = image_proj_weights + image_proj_state_dict = { + "LatentsEncoder.Parallel.Parameter.parameter": w["latents"].squeeze(0), # drop batch dim = 1 + "Linear_1.weight": w["proj_in.weight"], + "Linear_1.bias": w["proj_in.bias"], + "Linear_2.weight": w["proj_out.weight"], + "Linear_2.bias": w["proj_out.bias"], + "LayerNorm.weight": w["norm_out.weight"], + "LayerNorm.bias": w["norm_out.bias"], + } + for i in range(4): + t_pfx, s_pfx = f"Transformer.TransformerLayer_{i+1}.Residual_", f"layers.{i}." + image_proj_state_dict.update( + { + f"{t_pfx}1.Chain.PerceiverAttention.Distribute.LayerNorm_1.weight": w[f"{s_pfx}0.norm1.weight"], + f"{t_pfx}1.Chain.PerceiverAttention.Distribute.LayerNorm_1.bias": w[f"{s_pfx}0.norm1.bias"], + f"{t_pfx}1.Chain.PerceiverAttention.Distribute.LayerNorm_2.weight": w[f"{s_pfx}0.norm2.weight"], + f"{t_pfx}1.Chain.PerceiverAttention.Distribute.LayerNorm_2.bias": w[f"{s_pfx}0.norm2.bias"], + f"{t_pfx}1.Chain.PerceiverAttention.Parallel.Chain_2.Linear.weight": w[f"{s_pfx}0.to_q.weight"], + f"{t_pfx}1.Chain.PerceiverAttention.Parallel.Chain_1.Linear.weight": w[f"{s_pfx}0.to_kv.weight"], + f"{t_pfx}1.Chain.PerceiverAttention.Linear.weight": w[f"{s_pfx}0.to_out.weight"], + f"{t_pfx}2.Chain.LayerNorm.weight": w[f"{s_pfx}1.0.weight"], + f"{t_pfx}2.Chain.LayerNorm.bias": w[f"{s_pfx}1.0.bias"], + f"{t_pfx}2.Chain.FeedForward.Linear_1.weight": w[f"{s_pfx}1.1.weight"], + f"{t_pfx}2.Chain.FeedForward.Linear_2.weight": w[f"{s_pfx}1.3.weight"], + } + ) + else: + image_proj_state_dict = { + "Linear.weight": image_proj_weights["proj.weight"], + "Linear.bias": image_proj_weights["proj.bias"], + "LayerNorm.weight": image_proj_weights["norm.weight"], + "LayerNorm.bias": image_proj_weights["norm.bias"], + } ip_adapter.image_proj.load_state_dict(state_dict=image_proj_state_dict) for k, v in image_proj_state_dict.items(): diff --git a/src/refiners/foundationals/latent_diffusion/image_prompt.py b/src/refiners/foundationals/latent_diffusion/image_prompt.py index 1734729..0e67ced 100644 --- a/src/refiners/foundationals/latent_diffusion/image_prompt.py +++ b/src/refiners/foundationals/latent_diffusion/image_prompt.py @@ -1,14 +1,16 @@ from enum import IntEnum from functools import partial from typing import Generic, TypeVar, Any, Callable, TYPE_CHECKING +import math -from torch import Tensor, cat, zeros_like, device as Device, dtype as DType +from jaxtyping import Float +from torch import Tensor, cat, softmax, zeros_like, device as Device, dtype as DType from PIL import Image from refiners.fluxion.adapters.adapter import Adapter from refiners.fluxion.adapters.lora import Lora from refiners.foundationals.clip.image_encoder import CLIPImageEncoderH -from refiners.foundationals.latent_diffusion.cross_attention import CrossAttentionBlock2d +from refiners.fluxion.context import Contexts from refiners.fluxion.layers.attentions import ScaledDotProductAttention from refiners.fluxion.utils import image_to_tensor, normalize import refiners.fluxion.layers as fl @@ -26,25 +28,219 @@ class ImageProjection(fl.Chain): self, clip_image_embedding_dim: int = 1024, clip_text_embedding_dim: int = 768, - sequence_length: int = 4, + num_tokens: int = 4, device: Device | str | None = None, dtype: DType | None = None, ) -> None: self.clip_image_embedding_dim = clip_image_embedding_dim self.clip_text_embedding_dim = clip_text_embedding_dim - self.sequence_length = sequence_length + self.num_tokens = num_tokens super().__init__( fl.Linear( in_features=clip_image_embedding_dim, - out_features=clip_text_embedding_dim * sequence_length, + out_features=clip_text_embedding_dim * num_tokens, device=device, dtype=dtype, ), - fl.Reshape(sequence_length, clip_text_embedding_dim), + fl.Reshape(num_tokens, clip_text_embedding_dim), fl.LayerNorm(normalized_shape=clip_text_embedding_dim, device=device, dtype=dtype), ) +class FeedForward(fl.Chain): + def __init__( + self, + embedding_dim: int, + feedforward_dim: int, + device: Device | str | None = None, + dtype: DType | None = None, + ) -> None: + self.embedding_dim = embedding_dim + self.feedforward_dim = feedforward_dim + super().__init__( + fl.Linear( + in_features=self.embedding_dim, + out_features=self.feedforward_dim, + bias=False, + device=device, + dtype=dtype, + ), + fl.GeLU(), + fl.Linear( + in_features=self.feedforward_dim, + out_features=self.embedding_dim, + bias=False, + device=device, + dtype=dtype, + ), + ) + + +# Adapted from https://github.com/tencent-ailab/IP-Adapter/blob/6212981/ip_adapter/resampler.py +# See also: +# - https://github.com/mlfoundations/open_flamingo/blob/main/open_flamingo/src/helpers.py +# - https://github.com/lucidrains/flamingo-pytorch +class PerceiverScaledDotProductAttention(fl.Module): + def __init__(self, head_dim: int, num_heads: int) -> None: + super().__init__() + self.num_heads = num_heads + # See https://github.com/tencent-ailab/IP-Adapter/blob/6212981/ip_adapter/resampler.py#L69 + # -> "More stable with f16 than dividing afterwards" + self.scale = 1 / math.sqrt(math.sqrt(head_dim)) + + def forward( + self, + key_value: Float[Tensor, "batch sequence_length 2*head_dim*num_heads"], + query: Float[Tensor, "batch num_tokens head_dim*num_heads"], + ) -> Float[Tensor, "batch num_tokens head_dim*num_heads"]: + bs, length, _ = query.shape + key, value = key_value.chunk(2, dim=-1) + + q = self.reshape_tensor(query) + k = self.reshape_tensor(key) + v = self.reshape_tensor(value) + + attention = (q * self.scale) @ (k * self.scale).transpose(-2, -1) + attention = softmax(input=attention.float(), dim=-1).type(attention.dtype) + attention = attention @ v + + return attention.permute(0, 2, 1, 3).reshape(bs, length, -1) + + def reshape_tensor( + self, x: Float[Tensor, "batch length head_dim*num_heads"] + ) -> Float[Tensor, "batch num_heads length head_dim"]: + bs, length, _ = x.shape + x = x.view(bs, length, self.num_heads, -1) + x = x.transpose(1, 2) + x = x.reshape(bs, self.num_heads, length, -1) + return x + + +class PerceiverAttention(fl.Chain): + def __init__( + self, + embedding_dim: int, + head_dim: int = 64, + num_heads: int = 8, + device: Device | str | None = None, + dtype: DType | None = None, + ) -> None: + self.embedding_dim = embedding_dim + self.head_dim = head_dim + self.inner_dim = head_dim * num_heads + super().__init__( + fl.Distribute( + fl.LayerNorm(normalized_shape=self.embedding_dim, device=device, dtype=dtype), + fl.LayerNorm(normalized_shape=self.embedding_dim, device=device, dtype=dtype), + ), + fl.Parallel( + fl.Chain( + fl.Lambda(func=self.to_kv), + fl.Linear( + in_features=self.embedding_dim, + out_features=2 * self.inner_dim, + bias=False, + device=device, + dtype=dtype, + ), # Wkv + ), + fl.Chain( + fl.GetArg(index=1), + fl.Linear( + in_features=self.embedding_dim, + out_features=self.inner_dim, + bias=False, + device=device, + dtype=dtype, + ), # Wq + ), + ), + PerceiverScaledDotProductAttention(head_dim=head_dim, num_heads=num_heads), + fl.Linear( + in_features=self.inner_dim, out_features=self.embedding_dim, bias=False, device=device, dtype=dtype + ), + ) + + def to_kv(self, x: Tensor, latents: Tensor) -> Tensor: + return cat((x, latents), dim=-2) + + +class LatentsEncoder(fl.Chain): + def __init__( + self, + num_tokens: int, + embeddding_dim: int, + device: Device | str | None = None, + dtype: DType | None = None, + ) -> None: + super().__init__( + fl.Parallel(fl.Identity(), fl.Parameter(num_tokens, embeddding_dim, device=device, dtype=dtype)), + fl.Lambda(lambda x, p: p.expand(x.shape[0], -1, -1)), + ) + + +class Transformer(fl.Chain): + pass + + +class TransformerLayer(fl.Chain): + pass + + +class PerceiverResampler(fl.Chain): + def __init__( + self, + latents_dim: int = 1024, + num_attention_layers: int = 8, + num_attention_heads: int = 16, + head_dim: int = 64, + num_tokens: int = 8, + input_dim: int = 768, + output_dim: int = 1024, + device: Device | str | None = None, + dtype: DType | None = None, + ) -> None: + self.latents_dim = latents_dim + self.num_attention_layers = num_attention_layers + self.head_dim = head_dim + self.num_attention_heads = num_attention_heads + self.num_tokens = num_tokens + self.input_dim = input_dim + self.output_dim = output_dim + self.feedforward_dim = 4 * self.latents_dim + super().__init__( + fl.Linear(in_features=input_dim, out_features=latents_dim, device=device, dtype=dtype), + fl.SetContext(context="perceiver_resampler", key="x"), + LatentsEncoder(num_tokens=num_tokens, embeddding_dim=latents_dim, device=device, dtype=dtype), + Transformer( + TransformerLayer( + fl.Residual( + fl.Parallel(fl.UseContext(context="perceiver_resampler", key="x"), fl.Identity()), + PerceiverAttention( + embedding_dim=latents_dim, + head_dim=head_dim, + num_heads=num_attention_heads, + device=device, + dtype=dtype, + ), + ), + fl.Residual( + fl.LayerNorm(normalized_shape=latents_dim, device=device, dtype=dtype), + FeedForward( + embedding_dim=latents_dim, feedforward_dim=self.feedforward_dim, device=device, dtype=dtype + ), + ), + ) + for _ in range(num_attention_layers) + ), + fl.Linear(in_features=latents_dim, out_features=output_dim, device=device, dtype=dtype), + fl.LayerNorm(normalized_shape=output_dim, device=device, dtype=dtype), + ) + + def init_context(self) -> Contexts: + return {"perceiver_resampler": {"x": None}} + + class _CrossAttnIndex(IntEnum): TXT_CROSS_ATTN = 0 # text cross-attention IMG_CROSS_ATTN = 1 # image cross-attention @@ -164,32 +360,29 @@ class CrossAttentionAdapter(fl.Chain, Adapter[fl.Attention]): class IPAdapter(Generic[T], fl.Chain, Adapter[T]): # Prevent PyTorch module registration _clip_image_encoder: list[CLIPImageEncoderH] - _image_proj: list[ImageProjection] + _grid_image_encoder: list[CLIPImageEncoderH] + _image_proj: list[fl.Module] def __init__( self, target: T, - clip_image_encoder: CLIPImageEncoderH | None = None, + clip_image_encoder: CLIPImageEncoderH, + image_proj: fl.Module, scale: float = 1.0, + fine_grained: bool = False, weights: dict[str, Tensor] | None = None, ) -> None: with self.setup_adapter(target): super().__init__(target) - cross_attn_2d = target.ensure_find(CrossAttentionBlock2d) - - self._clip_image_encoder = [clip_image_encoder or CLIPImageEncoderH(device=target.device, dtype=target.dtype)] - self._image_proj = [ - ImageProjection( - clip_image_embedding_dim=self.clip_image_encoder.output_dim, - clip_text_embedding_dim=cross_attn_2d.context_embedding_dim, - device=target.device, - dtype=target.dtype, - ) - ] + self.fine_grained = fine_grained + self._clip_image_encoder = [clip_image_encoder] + if fine_grained: + self._grid_image_encoder = [self.convert_to_grid_features(clip_image_encoder)] + self._image_proj = [image_proj] self.sub_adapters = [ - CrossAttentionAdapter(target=cross_attn, scale=scale) + CrossAttentionAdapter(target=cross_attn, scale=scale, image_sequence_length=self.image_proj.num_tokens) for cross_attn in filter(lambda attn: type(attn) != fl.SelfAttention, target.layers(fl.Attention)) ] @@ -214,7 +407,12 @@ class IPAdapter(Generic[T], fl.Chain, Adapter[T]): return self._clip_image_encoder[0] @property - def image_proj(self) -> ImageProjection: + def grid_image_encoder(self) -> CLIPImageEncoderH: + assert hasattr(self, "_grid_image_encoder") + return self._grid_image_encoder[0] + + @property + def image_proj(self) -> fl.Module: return self._image_proj[0] def inject(self: "TIPAdapter", parent: fl.Chain | None = None) -> "TIPAdapter": @@ -228,10 +426,16 @@ class IPAdapter(Generic[T], fl.Chain, Adapter[T]): super().eject() # These should be concatenated to the CLIP text embedding before setting the UNet context - def compute_clip_image_embedding(self, image_prompt: Tensor | None) -> Tensor: - clip_embedding = self.clip_image_encoder(image_prompt) + def compute_clip_image_embedding(self, image_prompt: Tensor) -> Tensor: + image_encoder = self.clip_image_encoder if not self.fine_grained else self.grid_image_encoder + clip_embedding = image_encoder(image_prompt) conditional_embedding = self.image_proj(clip_embedding) - negative_embedding = self.image_proj(zeros_like(clip_embedding)) + if not self.fine_grained: + negative_embedding = self.image_proj(zeros_like(clip_embedding)) + else: + # See https://github.com/tencent-ailab/IP-Adapter/blob/d580c50/tutorial_train_plus.py#L351-L352 + clip_embedding = image_encoder(zeros_like(image_prompt)) + negative_embedding = self.image_proj(clip_embedding) return cat((negative_embedding, conditional_embedding)) def preprocess_image( @@ -247,3 +451,16 @@ class IPAdapter(Generic[T], fl.Chain, Adapter[T]): mean=[0.48145466, 0.4578275, 0.40821073] if mean is None else mean, std=[0.26862954, 0.26130258, 0.27577711] if std is None else std, ) + + @staticmethod + def convert_to_grid_features(clip_image_encoder: CLIPImageEncoderH) -> CLIPImageEncoderH: + encoder_clone = clip_image_encoder.structural_copy() + assert isinstance(encoder_clone[-1], fl.Linear) # final proj + assert isinstance(encoder_clone[-2], fl.LayerNorm) # final normalization + assert isinstance(encoder_clone[-3], fl.Lambda) # pooling (classif token) + for _ in range(3): + encoder_clone.pop() + transfomer_layers = encoder_clone[-1] + assert isinstance(transfomer_layers, fl.Chain) and len(transfomer_layers) == 32 + transfomer_layers.pop() + return encoder_clone diff --git a/src/refiners/foundationals/latent_diffusion/stable_diffusion_1/image_prompt.py b/src/refiners/foundationals/latent_diffusion/stable_diffusion_1/image_prompt.py index fe16034..d1e3379 100644 --- a/src/refiners/foundationals/latent_diffusion/stable_diffusion_1/image_prompt.py +++ b/src/refiners/foundationals/latent_diffusion/stable_diffusion_1/image_prompt.py @@ -1,6 +1,53 @@ -from refiners.foundationals.latent_diffusion.image_prompt import IPAdapter +from torch import Tensor + +from refiners.foundationals.clip.image_encoder import CLIPImageEncoderH +from refiners.foundationals.latent_diffusion.cross_attention import CrossAttentionBlock2d +from refiners.foundationals.latent_diffusion.image_prompt import IPAdapter, ImageProjection, PerceiverResampler from refiners.foundationals.latent_diffusion.stable_diffusion_1 import SD1UNet class SD1IPAdapter(IPAdapter[SD1UNet]): - pass + def __init__( + self, + target: SD1UNet, + clip_image_encoder: CLIPImageEncoderH | None = None, + image_proj: ImageProjection | PerceiverResampler | None = None, + scale: float = 1.0, + fine_grained: bool = False, + weights: dict[str, Tensor] | None = None, + ) -> None: + clip_image_encoder = clip_image_encoder or CLIPImageEncoderH(device=target.device, dtype=target.dtype) + + if image_proj is None: + cross_attn_2d = target.ensure_find(CrossAttentionBlock2d) + image_proj = ( + ImageProjection( + clip_image_embedding_dim=clip_image_encoder.output_dim, + clip_text_embedding_dim=cross_attn_2d.context_embedding_dim, + device=target.device, + dtype=target.dtype, + ) + if not fine_grained + else PerceiverResampler( + latents_dim=cross_attn_2d.context_embedding_dim, + num_attention_layers=4, + num_attention_heads=12, + head_dim=64, + num_tokens=16, + input_dim=clip_image_encoder.embedding_dim, # = dim before final projection + output_dim=cross_attn_2d.context_embedding_dim, + device=target.device, + dtype=target.dtype, + ) + ) + elif fine_grained: + assert isinstance(image_proj, PerceiverResampler) + + super().__init__( + target=target, + clip_image_encoder=clip_image_encoder, + image_proj=image_proj, + scale=scale, + fine_grained=fine_grained, + weights=weights, + ) diff --git a/src/refiners/foundationals/latent_diffusion/stable_diffusion_xl/image_prompt.py b/src/refiners/foundationals/latent_diffusion/stable_diffusion_xl/image_prompt.py index d78b00a..93d9e8b 100644 --- a/src/refiners/foundationals/latent_diffusion/stable_diffusion_xl/image_prompt.py +++ b/src/refiners/foundationals/latent_diffusion/stable_diffusion_xl/image_prompt.py @@ -1,6 +1,53 @@ -from refiners.foundationals.latent_diffusion.image_prompt import IPAdapter +from torch import Tensor + +from refiners.foundationals.clip.image_encoder import CLIPImageEncoderH +from refiners.foundationals.latent_diffusion.cross_attention import CrossAttentionBlock2d +from refiners.foundationals.latent_diffusion.image_prompt import IPAdapter, ImageProjection, PerceiverResampler from refiners.foundationals.latent_diffusion.stable_diffusion_xl import SDXLUNet class SDXLIPAdapter(IPAdapter[SDXLUNet]): - pass + def __init__( + self, + target: SDXLUNet, + clip_image_encoder: CLIPImageEncoderH | None = None, + image_proj: ImageProjection | PerceiverResampler | None = None, + scale: float = 1.0, + fine_grained: bool = False, + weights: dict[str, Tensor] | None = None, + ) -> None: + clip_image_encoder = clip_image_encoder or CLIPImageEncoderH(device=target.device, dtype=target.dtype) + + if image_proj is None: + cross_attn_2d = target.ensure_find(CrossAttentionBlock2d) + image_proj = ( + ImageProjection( + clip_image_embedding_dim=clip_image_encoder.output_dim, + clip_text_embedding_dim=cross_attn_2d.context_embedding_dim, + device=target.device, + dtype=target.dtype, + ) + if not fine_grained + else PerceiverResampler( + latents_dim=1280, # not `cross_attn_2d.context_embedding_dim` in this case + num_attention_layers=4, + num_attention_heads=20, + head_dim=64, + num_tokens=16, + input_dim=clip_image_encoder.embedding_dim, # = dim before final projection + output_dim=cross_attn_2d.context_embedding_dim, + device=target.device, + dtype=target.dtype, + ) + ) + elif fine_grained: + assert isinstance(image_proj, PerceiverResampler) + + super().__init__( + target=target, + clip_image_encoder=clip_image_encoder, + image_proj=image_proj, + scale=scale, + fine_grained=fine_grained, + weights=weights, + ) diff --git a/tests/e2e/test_diffusion.py b/tests/e2e/test_diffusion.py index 921bc9b..115e79b 100644 --- a/tests/e2e/test_diffusion.py +++ b/tests/e2e/test_diffusion.py @@ -54,6 +54,11 @@ def woman_image(ref_path: Path) -> Image.Image: return Image.open(ref_path / "woman.png").convert("RGB") +@pytest.fixture(scope="module") +def statue_image(ref_path: Path) -> Image.Image: + return Image.open(ref_path / "statue.png").convert("RGB") + + @pytest.fixture def expected_image_std_random_init(ref_path: Path) -> Image.Image: return Image.open(ref_path / "expected_std_random_init.png").convert("RGB") @@ -79,11 +84,21 @@ def expected_image_ip_adapter_woman(ref_path: Path) -> Image.Image: return Image.open(ref_path / "expected_image_ip_adapter_woman.png").convert("RGB") +@pytest.fixture +def expected_image_ip_adapter_plus_statue(ref_path: Path) -> Image.Image: + return Image.open(ref_path / "expected_image_ip_adapter_plus_statue.png").convert("RGB") + + @pytest.fixture def expected_image_sdxl_ip_adapter_woman(ref_path: Path) -> Image.Image: return Image.open(ref_path / "expected_image_sdxl_ip_adapter_woman.png").convert("RGB") +@pytest.fixture +def expected_image_sdxl_ip_adapter_plus_woman(ref_path: Path) -> Image.Image: + return Image.open(ref_path / "expected_image_sdxl_ip_adapter_plus_woman.png").convert("RGB") + + @pytest.fixture def expected_image_ip_adapter_controlnet(ref_path: Path) -> Image.Image: return Image.open(ref_path / "expected_ip_adapter_controlnet.png").convert("RGB") @@ -255,6 +270,15 @@ def ip_adapter_weights(test_weights_path: Path) -> Path: return ip_adapter_weights +@pytest.fixture(scope="module") +def ip_adapter_plus_weights(test_weights_path: Path) -> Path: + ip_adapter_weights = test_weights_path / "ip-adapter-plus_sd15.safetensors" + if not ip_adapter_weights.is_file(): + warn(f"could not find weights at {ip_adapter_weights}, skipping") + pytest.skip(allow_module_level=True) + return ip_adapter_weights + + @pytest.fixture(scope="module") def sdxl_ip_adapter_weights(test_weights_path: Path) -> Path: ip_adapter_weights = test_weights_path / "ip-adapter_sdxl_vit-h.safetensors" @@ -264,6 +288,15 @@ def sdxl_ip_adapter_weights(test_weights_path: Path) -> Path: return ip_adapter_weights +@pytest.fixture(scope="module") +def sdxl_ip_adapter_plus_weights(test_weights_path: Path) -> Path: + ip_adapter_weights = test_weights_path / "ip-adapter-plus_sdxl_vit-h.safetensors" + if not ip_adapter_weights.is_file(): + warn(f"could not find weights at {ip_adapter_weights}, skipping") + pytest.skip(allow_module_level=True) + return ip_adapter_weights + + @pytest.fixture(scope="module") def image_encoder_weights(test_weights_path: Path) -> Path: image_encoder_weights = test_weights_path / "CLIPImageEncoderH.safetensors" @@ -1189,6 +1222,115 @@ def test_diffusion_ip_adapter_controlnet( ensure_similar_images(predicted_image, expected_image_ip_adapter_controlnet) +@torch.no_grad() +def test_diffusion_ip_adapter_plus( + sd15_ddim_lda_ft_mse: StableDiffusion_1, + ip_adapter_plus_weights: Path, + image_encoder_weights: Path, + statue_image: Image.Image, + expected_image_ip_adapter_plus_statue: Image.Image, + test_device: torch.device, +): + sd15 = sd15_ddim_lda_ft_mse.to(dtype=torch.float16) + n_steps = 50 + + prompt = "best quality, high quality" + negative_prompt = "monochrome, lowres, bad anatomy, worst quality, low quality" + + ip_adapter = SD1IPAdapter( + target=sd15.unet, weights=load_from_safetensors(ip_adapter_plus_weights), fine_grained=True + ) + ip_adapter.clip_image_encoder.load_from_safetensors(image_encoder_weights) + ip_adapter.inject() + + clip_text_embedding = sd15.compute_clip_text_embedding(text=prompt, negative_text=negative_prompt) + clip_image_embedding = ip_adapter.compute_clip_image_embedding(ip_adapter.preprocess_image(statue_image)) + + negative_text_embedding, conditional_text_embedding = clip_text_embedding.chunk(2) + negative_image_embedding, conditional_image_embedding = clip_image_embedding.chunk(2) + + clip_text_embedding = torch.cat( + ( + torch.cat([negative_text_embedding, negative_image_embedding], dim=1), + torch.cat([conditional_text_embedding, conditional_image_embedding], dim=1), + ) + ) + + sd15.set_num_inference_steps(n_steps) + + manual_seed(42) # seed=42 is used in the official IP-Adapter demo + x = torch.randn(1, 4, 64, 64, device=test_device, dtype=torch.float16) + + for step in sd15.steps: + x = sd15( + x, + step=step, + clip_text_embedding=clip_text_embedding, + condition_scale=7.5, + ) + predicted_image = sd15.lda.decode_latents(x) + predicted_image.save("output.png") + + ensure_similar_images(predicted_image, expected_image_ip_adapter_plus_statue, min_psnr=35, min_ssim=0.98) + + +@torch.no_grad() +def test_diffusion_sdxl_ip_adapter_plus( + sdxl_ddim: StableDiffusion_XL, + sdxl_ip_adapter_plus_weights: Path, + image_encoder_weights: Path, + woman_image: Image.Image, + expected_image_sdxl_ip_adapter_plus_woman: Image.Image, + test_device: torch.device, +): + sdxl = sdxl_ddim.to(dtype=torch.float16) + n_steps = 30 + + prompt = "best quality, high quality" + negative_prompt = "monochrome, lowres, bad anatomy, worst quality, low quality" + + ip_adapter = SDXLIPAdapter( + target=sdxl.unet, weights=load_from_safetensors(sdxl_ip_adapter_plus_weights), fine_grained=True + ) + ip_adapter.clip_image_encoder.load_from_safetensors(image_encoder_weights) + ip_adapter.inject() + + clip_text_embedding, pooled_text_embedding = sdxl.compute_clip_text_embedding( + text=prompt, negative_text=negative_prompt + ) + clip_image_embedding = ip_adapter.compute_clip_image_embedding(ip_adapter.preprocess_image(woman_image)) + + negative_text_embedding, conditional_text_embedding = clip_text_embedding.chunk(2) + negative_image_embedding, conditional_image_embedding = clip_image_embedding.chunk(2) + + clip_text_embedding = torch.cat( + ( + torch.cat([negative_text_embedding, negative_image_embedding], dim=1), + torch.cat([conditional_text_embedding, conditional_image_embedding], dim=1), + ) + ) + time_ids = sdxl.default_time_ids + sdxl.set_num_inference_steps(n_steps) + + manual_seed(2) + x = torch.randn(1, 4, 128, 128, device=test_device, dtype=torch.float16) + + for step in sdxl.steps: + x = sdxl( + x, + step=step, + clip_text_embedding=clip_text_embedding, + pooled_text_embedding=pooled_text_embedding, + time_ids=time_ids, + condition_scale=5, + ) + sdxl.lda.to(dtype=torch.float32) + predicted_image = sdxl.lda.decode_latents(x.to(dtype=torch.float32)) + predicted_image.save("output.png") + + ensure_similar_images(predicted_image, expected_image_sdxl_ip_adapter_plus_woman) + + @torch.no_grad() def test_sdxl_random_init( sdxl_ddim: StableDiffusion_XL, expected_sdxl_ddim_random_init: Image.Image, test_device: torch.device diff --git a/tests/e2e/test_diffusion_ref/README.md b/tests/e2e/test_diffusion_ref/README.md index ece1f96..ca58f65 100644 --- a/tests/e2e/test_diffusion_ref/README.md +++ b/tests/e2e/test_diffusion_ref/README.md @@ -41,6 +41,7 @@ Special cases: - `expected_image_sdxl_ip_adapter_woman.png` - `expected_ip_adapter_controlnet.png` - `expected_t2i_adapter_xl_canny.png` + - `expected_image_sdxl_ip_adapter_plus_woman.png` ## Other images @@ -68,6 +69,8 @@ Special cases: - `woman.png` [comes from tencent-ailab/IP-Adapter](https://github.com/tencent-ailab/IP-Adapter/blob/8b96670cc5c8ef00278b42c0c7b62fe8a74510b9/assets/images/woman.png). +- `statue.png` [comes from tencent-ailab/IP-Adapter](https://github.com/tencent-ailab/IP-Adapter/blob/d580c50a291566bbf9fc7ac0f760506607297e6d/assets/images/statue.png). + ## VAE without randomness ```diff diff --git a/tests/e2e/test_diffusion_ref/expected_image_ip_adapter_plus_statue.png b/tests/e2e/test_diffusion_ref/expected_image_ip_adapter_plus_statue.png new file mode 100644 index 0000000000000000000000000000000000000000..d719faa834034b3dd4c11d77af45e5ba6c567f1f GIT binary patch literal 275110 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