From 03176480f079815c818ff1824d98b80a0df09e6c Mon Sep 17 00:00:00 2001 From: Jedrzej Kosinski Date: Mon, 19 Feb 2024 10:42:39 -0600 Subject: [PATCH] Make RGB SparseCtrl Preprocessor compatible with newest ComfyUI changes --- adv_control/nodes_sparsectrl.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/adv_control/nodes_sparsectrl.py b/adv_control/nodes_sparsectrl.py index dca2e3f..4df32b0 100644 --- a/adv_control/nodes_sparsectrl.py +++ b/adv_control/nodes_sparsectrl.py @@ -3,6 +3,7 @@ from torch import Tensor import folder_paths from nodes import VAEEncode import comfy.utils +from comfy.sd import VAE from .utils import TimestepKeyframeGroup from .control_sparsectrl import SparseMethod, SparseIndexMethod, SparseSettings, SparseSpreadMethod, PreprocSparseRGBWrapper @@ -148,12 +149,15 @@ class RgbSparseCtrlPreprocessor: CATEGORY = "Adv-ControlNet 🛂🅐🅒🅝/SparseCtrl/preprocess" - def preprocess_images(self, vae, image: Tensor, latent_size: Tensor): + def preprocess_images(self, vae: VAE, image: Tensor, latent_size: Tensor): # first, resize image to match latents image = image.movedim(-1,1) image = comfy.utils.common_upscale(image, latent_size["samples"].shape[3] * 8, latent_size["samples"].shape[2] * 8, 'nearest-exact', "center") image = image.movedim(1,-1) # then, vae encode - image = VAEEncode.vae_encode_crop_pixels(image) + try: + image = vae.vae_encode_crop_pixels(image) + except Exception: + image = VAEEncode.vae_encode_crop_pixels(image) encoded = vae.encode(image[:,:,:,:3]) return (PreprocSparseRGBWrapper(condhint=encoded),)