Skip to content

Commit b9e4259

Browse files
committed
fix: correct qwen image tile mask weights
1 parent c23ece5 commit b9e4259

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

diffsynth_engine/models/qwen_image/autoencoder_kl_qwenimage.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,6 +1058,8 @@ def _build_tile_mask(self, tile, is_bound, border):
10581058
"""Build border weight mask for tile blending."""
10591059
_, _, _, h, w = tile.shape
10601060
border_h, border_w = border
1061+
border_h = min(h, border_h)
1062+
border_w = min(w, border_w)
10611063
is_top, is_bottom, is_left, is_right = is_bound
10621064

10631065
mask = torch.ones(1, 1, 1, h, w, dtype=tile.dtype, device=tile.device)
@@ -1068,15 +1070,15 @@ def _build_tile_mask(self, tile, is_bound, border):
10681070

10691071
if not is_bottom and border_h > 0:
10701072
for y in range(border_h):
1071-
mask[:, :, :, h - 1 - y, :] *= y / border_h
1073+
mask[:, :, :, h - border_h + y, :] *= 1 - y / border_h
10721074

10731075
if not is_left and border_w > 0:
10741076
for x in range(border_w):
10751077
mask[:, :, :, :, x] *= x / border_w
10761078

10771079
if not is_right and border_w > 0:
10781080
for x in range(border_w):
1079-
mask[:, :, :, :, w - 1 - x] *= x / border_w
1081+
mask[:, :, :, :, w - border_w + x] *= 1 - x / border_w
10801082

10811083
return mask
10821084

0 commit comments

Comments
 (0)