From 3e5c596066715ab6897fa06ccfaf4aac024560e9 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Fri, 18 Sep 2026 17:57:01 +0530 Subject: [PATCH 1/2] add one additional copied from in qwenimage 2.1 vae. --- .../autoencoders/autoencoder_kl_qwenimage21.py | 3 +-- .../models/autoencoders/autoencoder_kl_wan.py | 12 ++++++++---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/diffusers/models/autoencoders/autoencoder_kl_qwenimage21.py b/src/diffusers/models/autoencoders/autoencoder_kl_qwenimage21.py index 15575a1c5907..a35ec12bf292 100644 --- a/src/diffusers/models/autoencoders/autoencoder_kl_qwenimage21.py +++ b/src/diffusers/models/autoencoders/autoencoder_kl_qwenimage21.py @@ -30,7 +30,7 @@ CACHE_T = 2 - +# Copied from diffusers.models.autoencoders.autoencoder_kl_wan.AvgDown3D with AvgDown3D->QwenImage21AvgDown3D class QwenImage21AvgDown3D(nn.Module): def __init__( self, @@ -46,7 +46,6 @@ def __init__( f"`in_channels` ({in_channels}) times the downsampling factor ({factor}) must be divisible by " f"`out_channels` ({out_channels})." ) - self.in_channels = in_channels self.out_channels = out_channels self.factor_t = factor_t diff --git a/src/diffusers/models/autoencoders/autoencoder_kl_wan.py b/src/diffusers/models/autoencoders/autoencoder_kl_wan.py index de8a56edc20e..a66dca647439 100644 --- a/src/diffusers/models/autoencoders/autoencoder_kl_wan.py +++ b/src/diffusers/models/autoencoders/autoencoder_kl_wan.py @@ -40,14 +40,18 @@ def __init__( factor_s=1, ): super().__init__() + factor = factor_t * factor_s * factor_s + if in_channels * factor % out_channels != 0: + raise ValueError( + f"`in_channels` ({in_channels}) times the downsampling factor ({factor}) must be divisible by " + f"`out_channels` ({out_channels})." + ) self.in_channels = in_channels self.out_channels = out_channels self.factor_t = factor_t self.factor_s = factor_s - self.factor = self.factor_t * self.factor_s * self.factor_s - - assert in_channels * self.factor % out_channels == 0 - self.group_size = in_channels * self.factor // out_channels + self.factor = factor + self.group_size = in_channels * factor // out_channels def forward(self, x: torch.Tensor) -> torch.Tensor: pad_t = (self.factor_t - x.shape[2] % self.factor_t) % self.factor_t From 8e41e3d3198d2d4e8e800e3770c61fdfd3c59853 Mon Sep 17 00:00:00 2001 From: sayakpaul Date: Fri, 18 Sep 2026 17:59:30 +0530 Subject: [PATCH 2/2] formattinmg --- src/diffusers/models/autoencoders/autoencoder_kl_qwenimage21.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/diffusers/models/autoencoders/autoencoder_kl_qwenimage21.py b/src/diffusers/models/autoencoders/autoencoder_kl_qwenimage21.py index a35ec12bf292..6df55d96d2dc 100644 --- a/src/diffusers/models/autoencoders/autoencoder_kl_qwenimage21.py +++ b/src/diffusers/models/autoencoders/autoencoder_kl_qwenimage21.py @@ -30,6 +30,7 @@ CACHE_T = 2 + # Copied from diffusers.models.autoencoders.autoencoder_kl_wan.AvgDown3D with AvgDown3D->QwenImage21AvgDown3D class QwenImage21AvgDown3D(nn.Module): def __init__(