diff --git a/src/diffusers/models/controlnets/controlnet_hunyuan.py b/src/diffusers/models/controlnets/controlnet_hunyuan.py index 6ef92d78dd6e..efdf48eacfc5 100644 --- a/src/diffusers/models/controlnets/controlnet_hunyuan.py +++ b/src/diffusers/models/controlnets/controlnet_hunyuan.py @@ -262,6 +262,8 @@ def forward( height, width = hidden_states.shape[-2:] hidden_states = self.pos_embed(hidden_states) # b,c,H,W -> b, N, C + # pos_embed output is non-contiguous due to flatten+transpose in PatchEmbed (BCHW -> BNC). + hidden_states = hidden_states.contiguous() # 2. pre-process hidden_states = hidden_states + self.input_block(self.pos_embed(controlnet_cond)) diff --git a/src/diffusers/models/transformers/hunyuan_transformer_2d.py b/src/diffusers/models/transformers/hunyuan_transformer_2d.py index 83b3797c4fc3..8ae269f9445d 100644 --- a/src/diffusers/models/transformers/hunyuan_transformer_2d.py +++ b/src/diffusers/models/transformers/hunyuan_transformer_2d.py @@ -401,6 +401,8 @@ def forward( height, width = hidden_states.shape[-2:] hidden_states = self.pos_embed(hidden_states) + # pos_embed output is non-contiguous due to flatten+transpose in PatchEmbed (BCHW -> BNC). + hidden_states = hidden_states.contiguous() temb = self.time_extra_emb( timestep, encoder_hidden_states_t5, image_meta_size, style, hidden_dtype=timestep.dtype