mirror of
https://github.com/jags111/efficiency-nodes-comfyui.git
synced 2026-03-25 15:15:45 -03:00
Merge pull request #41 from LucianoCirino/LucianoCirino-patch-6
Lora Loader Fix + Efficiency Loader Clip re-add
This commit is contained in:
@@ -40,11 +40,7 @@ import comfy.sd
|
|||||||
import comfy.utils
|
import comfy.utils
|
||||||
|
|
||||||
# Load legacy lora functions
|
# Load legacy lora functions
|
||||||
from lora_patch import load_lora, load_lora_for_models
|
from lora_patch import load_lora_legacy, load_lora_for_models_legacy
|
||||||
|
|
||||||
# Replace the lora functions with the legacy functions
|
|
||||||
comfy.sd.load_lora = load_lora
|
|
||||||
comfy.sd.load_lora_for_models = load_lora_for_models
|
|
||||||
|
|
||||||
MAX_RESOLUTION=8192
|
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)
|
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_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 cache:
|
||||||
if len([entry for entry in loaded_objects["lora"] if id in entry[-1]]) < 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",},
|
"my_unique_id": "UNIQUE_ID",},
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN_TYPES = ("MODEL", "CONDITIONING", "CONDITIONING", "LATENT", "VAE", "DEPENDENCIES",)
|
RETURN_TYPES = ("MODEL", "CONDITIONING", "CONDITIONING", "LATENT", "VAE", "CLIP", "DEPENDENCIES",)
|
||||||
RETURN_NAMES = ("MODEL", "CONDITIONING+", "CONDITIONING-", "LATENT", "VAE", "DEPENDENCIES", )
|
RETURN_NAMES = ("MODEL", "CONDITIONING+", "CONDITIONING-", "LATENT", "VAE", "CLIP", "DEPENDENCIES", )
|
||||||
FUNCTION = "efficientloader"
|
FUNCTION = "efficientloader"
|
||||||
CATEGORY = "Efficiency Nodes/Loaders"
|
CATEGORY = "Efficiency Nodes/Loaders"
|
||||||
|
|
||||||
@@ -469,7 +465,7 @@ class TSC_EfficientLoader:
|
|||||||
# Data for XY Plot
|
# Data for XY Plot
|
||||||
dependencies = (vae_name, ckpt_name, clip, clip_skip, positive, negative, lora_name, lora_model_strength, lora_clip_strength)
|
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)
|
# TSC KSampler (Efficient)
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ LORA_UNET_MAP_RESNET = {
|
|||||||
"skip_connection": "resnets_{}_conv_shortcut"
|
"skip_connection": "resnets_{}_conv_shortcut"
|
||||||
}
|
}
|
||||||
|
|
||||||
def load_lora(path, to_load):
|
def load_lora_legacy(path, to_load):
|
||||||
lora = utils.load_torch_file(path)
|
lora = utils.load_torch_file(path)
|
||||||
patch_dict = {}
|
patch_dict = {}
|
||||||
loaded_keys = set()
|
loaded_keys = set()
|
||||||
@@ -244,10 +244,10 @@ def model_lora_keys(model, key_map={}):
|
|||||||
|
|
||||||
return 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(model.model)
|
||||||
key_map = model_lora_keys(clip.cond_stage_model, key_map)
|
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()
|
new_modelpatcher = model.clone()
|
||||||
k = new_modelpatcher.add_patches(loaded, strength_model)
|
k = new_modelpatcher.add_patches(loaded, strength_model)
|
||||||
new_clip = clip.clone()
|
new_clip = clip.clone()
|
||||||
|
|||||||
Reference in New Issue
Block a user