Resize control if there is a tensor size mismatch

Fixes PatchModelAddDownscale when used with controlnets, and possibly some other
nodes doing similar things as well.

Fixes #3022
This commit is contained in:
asagi4 2024-07-01 13:11:28 +03:00
parent 521421f53e
commit 945a8aa963
1 changed files with 2 additions and 0 deletions

View File

@ -358,6 +358,8 @@ def apply_control(h, control, name):
ctrl = control[name].pop()
if ctrl is not None:
try:
if ctrl.shape[2] != h.shape[2] or ctrl.shape[3] != h.shape[3]:
ctrl = F.interpolate(ctrl.float(), size=(h.shape[2], h.shape[3]), mode="bicubic", align_corners=False).to(h.dtype)
h += ctrl
except:
logging.warning("warning control could not be applied {} {}".format(h.shape, ctrl.shape))