Skip to content

Commit f60751f

Browse files
committed
Corrected forward() of IPAdapterTimeImageProjectionBlock
1 parent ea32e13 commit f60751f

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/diffusers/models/embeddings.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2133,18 +2133,20 @@ def __init__(
21332133
self.adaln_proj = nn.Linear(hidden_dim, 4 * hidden_dim)
21342134
self.adaln_norm = nn.LayerNorm(hidden_dim)
21352135

2136-
# Custom scale cannot be passed in constructor
2136+
# Set scale and fuse KV
21372137
self.attn.scale = 1 / math.sqrt(math.sqrt(dim_head))
21382138
self.attn.fuse_projections()
21392139
self.attn.to_k = None
21402140
self.attn.to_v = None
21412141

21422142
def forward(self, x, latents, timestep_emb):
2143-
shift_msa, scale_msa, shift_mlp, scale_mlp = self.adaln_proj(self.adaln_silu(timestep_emb))
2143+
emb = self.adaln_proj(self.adaln_silu(timestep_emb))
2144+
shift_msa, scale_msa, shift_mlp, scale_mlp = emb.chunk(4, dim=1)
21442145

2146+
residual = latents
21452147
x = self.ln0(x)
21462148
latents = self.ln1(latents) * (1 + scale_msa[:, None]) + shift_msa[:, None]
2147-
latents = self.attn(x, latents) + latents
2149+
latents = self.attn(latents, torch.cat((x, latents), dim=-2)) + residual
21482150

21492151
residual = latents
21502152
latents = self.adaln_norm(latents) * (1 + scale_mlp[:, None]) + shift_mlp[:, None]

src/diffusers/pipelines/stable_diffusion_3/pipeline_stable_diffusion_3.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -974,9 +974,7 @@ def __call__(
974974

975975
if ip_adapter_image_embeds is not None:
976976
ip_hidden_states, temb = self.transformer.image_proj(
977-
ip_adapter_image_embeds,
978-
timestep.to(dtype=latents.dtype),
979-
need_temb=True,
977+
ip_adapter_image_embeds, timestep.to(dtype=latents.dtype)
980978
)
981979

982980
image_prompt_embeds = {"ip_hidden_states": ip_hidden_states, "temb": temb}

0 commit comments

Comments
 (0)