@@ -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