Merge pull request #41 from LucianoCirino/LucianoCirino-patch-6

Lora Loader Fix + Efficiency Loader Clip re-add
This commit is contained in:
TSC
2023-07-08 10:30:04 -05:00
committed by GitHub
2 changed files with 8 additions and 12 deletions

View File

@@ -40,11 +40,7 @@ import comfy.sd
import comfy.utils
# Load legacy lora functions
from lora_patch import load_lora, load_lora_for_models
# Replace the lora functions with the legacy functions
comfy.sd.load_lora = load_lora
comfy.sd.load_lora_for_models = load_lora_for_models
from lora_patch import load_lora_legacy, load_lora_for_models_legacy
MAX_RESOLUTION=8192
@@ -300,7 +296,7 @@ def load_lora(lora_name, ckpt_name, strength_model, strength_clip, id, cache=Non
ckpt, clip, _ = load_checkpoint(ckpt_name, id, cache=ckpt_cache, cache_overwrite=cache_overwrite)
lora_path = folder_paths.get_full_path("loras", lora_name)
lora_model, lora_clip = comfy.sd.load_lora_for_models(ckpt, clip, lora_path, strength_model, strength_clip)
lora_model, lora_clip = load_lora_for_models_legacy(ckpt, clip, lora_path, strength_model, strength_clip)
if cache:
if len([entry for entry in loaded_objects["lora"] if id in entry[-1]]) < cache:
@@ -425,8 +421,8 @@ class TSC_EfficientLoader:
"my_unique_id": "UNIQUE_ID",},
}
RETURN_TYPES = ("MODEL", "CONDITIONING", "CONDITIONING", "LATENT", "VAE", "DEPENDENCIES",)
RETURN_NAMES = ("MODEL", "CONDITIONING+", "CONDITIONING-", "LATENT", "VAE", "DEPENDENCIES", )
RETURN_TYPES = ("MODEL", "CONDITIONING", "CONDITIONING", "LATENT", "VAE", "CLIP", "DEPENDENCIES",)
RETURN_NAMES = ("MODEL", "CONDITIONING+", "CONDITIONING-", "LATENT", "VAE", "CLIP", "DEPENDENCIES", )
FUNCTION = "efficientloader"
CATEGORY = "Efficiency Nodes/Loaders"
@@ -469,7 +465,7 @@ class TSC_EfficientLoader:
# Data for XY Plot
dependencies = (vae_name, ckpt_name, clip, clip_skip, positive, negative, lora_name, lora_model_strength, lora_clip_strength)
return (model, [[clip.encode(positive), {}]], [[clip.encode(negative), {}]], {"samples":latent}, vae, dependencies, )
return (model, [[clip.encode(positive), {}]], [[clip.encode(negative), {}]], {"samples":latent}, vae, clip, dependencies, )
########################################################################################################################
# TSC KSampler (Efficient)

View File

@@ -46,7 +46,7 @@ LORA_UNET_MAP_RESNET = {
"skip_connection": "resnets_{}_conv_shortcut"
}
def load_lora(path, to_load):
def load_lora_legacy(path, to_load):
lora = utils.load_torch_file(path)
patch_dict = {}
loaded_keys = set()
@@ -244,10 +244,10 @@ def model_lora_keys(model, key_map={}):
return key_map
def load_lora_for_models(model, clip, lora_path, strength_model, strength_clip):
def load_lora_for_models_legacy(model, clip, lora_path, strength_model, strength_clip):
key_map = model_lora_keys(model.model)
key_map = model_lora_keys(clip.cond_stage_model, key_map)
loaded = load_lora(lora_path, key_map)
loaded = load_lora_legacy(lora_path, key_map)
new_modelpatcher = model.clone()
k = new_modelpatcher.add_patches(loaded, strength_model)
new_clip = clip.clone()