mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-06-23 08:19:32 +08:00
Update model merging category
This commit is contained in:
parent
9a2fc200da
commit
1ae4e22fb3
@ -21,7 +21,7 @@ class ModelMergeSimple:
|
|||||||
RETURN_TYPES = ("MODEL",)
|
RETURN_TYPES = ("MODEL",)
|
||||||
FUNCTION = "merge"
|
FUNCTION = "merge"
|
||||||
|
|
||||||
CATEGORY = "advanced/model_merging"
|
CATEGORY = "model/merging"
|
||||||
|
|
||||||
def merge(self, model1, model2, ratio):
|
def merge(self, model1, model2, ratio):
|
||||||
m = model1.clone()
|
m = model1.clone()
|
||||||
@ -40,7 +40,7 @@ class ModelSubtract:
|
|||||||
RETURN_TYPES = ("MODEL",)
|
RETURN_TYPES = ("MODEL",)
|
||||||
FUNCTION = "merge"
|
FUNCTION = "merge"
|
||||||
|
|
||||||
CATEGORY = "advanced/model_merging"
|
CATEGORY = "model/merging"
|
||||||
|
|
||||||
def merge(self, model1, model2, multiplier):
|
def merge(self, model1, model2, multiplier):
|
||||||
m = model1.clone()
|
m = model1.clone()
|
||||||
@ -58,7 +58,7 @@ class ModelAdd:
|
|||||||
RETURN_TYPES = ("MODEL",)
|
RETURN_TYPES = ("MODEL",)
|
||||||
FUNCTION = "merge"
|
FUNCTION = "merge"
|
||||||
|
|
||||||
CATEGORY = "advanced/model_merging"
|
CATEGORY = "model/merging"
|
||||||
|
|
||||||
def merge(self, model1, model2):
|
def merge(self, model1, model2):
|
||||||
m = model1.clone()
|
m = model1.clone()
|
||||||
@ -78,7 +78,7 @@ class CLIPMergeSimple:
|
|||||||
RETURN_TYPES = ("CLIP",)
|
RETURN_TYPES = ("CLIP",)
|
||||||
FUNCTION = "merge"
|
FUNCTION = "merge"
|
||||||
|
|
||||||
CATEGORY = "advanced/model_merging"
|
CATEGORY = "model/merging"
|
||||||
|
|
||||||
def merge(self, clip1, clip2, ratio):
|
def merge(self, clip1, clip2, ratio):
|
||||||
m = clip1.clone()
|
m = clip1.clone()
|
||||||
@ -101,7 +101,7 @@ class CLIPSubtract:
|
|||||||
RETURN_TYPES = ("CLIP",)
|
RETURN_TYPES = ("CLIP",)
|
||||||
FUNCTION = "merge"
|
FUNCTION = "merge"
|
||||||
|
|
||||||
CATEGORY = "advanced/model_merging"
|
CATEGORY = "model/merging"
|
||||||
|
|
||||||
def merge(self, clip1, clip2, multiplier):
|
def merge(self, clip1, clip2, multiplier):
|
||||||
m = clip1.clone()
|
m = clip1.clone()
|
||||||
@ -123,7 +123,7 @@ class CLIPAdd:
|
|||||||
RETURN_TYPES = ("CLIP",)
|
RETURN_TYPES = ("CLIP",)
|
||||||
FUNCTION = "merge"
|
FUNCTION = "merge"
|
||||||
|
|
||||||
CATEGORY = "advanced/model_merging"
|
CATEGORY = "model/merging"
|
||||||
|
|
||||||
def merge(self, clip1, clip2):
|
def merge(self, clip1, clip2):
|
||||||
m = clip1.clone()
|
m = clip1.clone()
|
||||||
@ -147,7 +147,7 @@ class ModelMergeBlocks:
|
|||||||
RETURN_TYPES = ("MODEL",)
|
RETURN_TYPES = ("MODEL",)
|
||||||
FUNCTION = "merge"
|
FUNCTION = "merge"
|
||||||
|
|
||||||
CATEGORY = "advanced/model_merging"
|
CATEGORY = "model/merging"
|
||||||
|
|
||||||
def merge(self, model1, model2, **kwargs):
|
def merge(self, model1, model2, **kwargs):
|
||||||
m = model1.clone()
|
m = model1.clone()
|
||||||
@ -242,7 +242,7 @@ class CheckpointSave:
|
|||||||
FUNCTION = "save"
|
FUNCTION = "save"
|
||||||
OUTPUT_NODE = True
|
OUTPUT_NODE = True
|
||||||
|
|
||||||
CATEGORY = "advanced/model_merging"
|
CATEGORY = "model/merging"
|
||||||
|
|
||||||
def save(self, model, clip, vae, filename_prefix, prompt=None, extra_pnginfo=None):
|
def save(self, model, clip, vae, filename_prefix, prompt=None, extra_pnginfo=None):
|
||||||
save_checkpoint(model, clip=clip, vae=vae, filename_prefix=filename_prefix, output_dir=self.output_dir, prompt=prompt, extra_pnginfo=extra_pnginfo)
|
save_checkpoint(model, clip=clip, vae=vae, filename_prefix=filename_prefix, output_dir=self.output_dir, prompt=prompt, extra_pnginfo=extra_pnginfo)
|
||||||
@ -261,7 +261,7 @@ class CLIPSave:
|
|||||||
FUNCTION = "save"
|
FUNCTION = "save"
|
||||||
OUTPUT_NODE = True
|
OUTPUT_NODE = True
|
||||||
|
|
||||||
CATEGORY = "advanced/model_merging"
|
CATEGORY = "model/merging"
|
||||||
|
|
||||||
def save(self, clip, filename_prefix, prompt=None, extra_pnginfo=None):
|
def save(self, clip, filename_prefix, prompt=None, extra_pnginfo=None):
|
||||||
prompt_info = ""
|
prompt_info = ""
|
||||||
@ -318,7 +318,7 @@ class VAESave:
|
|||||||
FUNCTION = "save"
|
FUNCTION = "save"
|
||||||
OUTPUT_NODE = True
|
OUTPUT_NODE = True
|
||||||
|
|
||||||
CATEGORY = "advanced/model_merging"
|
CATEGORY = "model/merging"
|
||||||
|
|
||||||
def save(self, vae, filename_prefix, prompt=None, extra_pnginfo=None):
|
def save(self, vae, filename_prefix, prompt=None, extra_pnginfo=None):
|
||||||
full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, self.output_dir)
|
full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, self.output_dir)
|
||||||
@ -353,7 +353,7 @@ class ModelSave:
|
|||||||
FUNCTION = "save"
|
FUNCTION = "save"
|
||||||
OUTPUT_NODE = True
|
OUTPUT_NODE = True
|
||||||
|
|
||||||
CATEGORY = "advanced/model_merging"
|
CATEGORY = "model/merging"
|
||||||
|
|
||||||
def save(self, model, filename_prefix, prompt=None, extra_pnginfo=None):
|
def save(self, model, filename_prefix, prompt=None, extra_pnginfo=None):
|
||||||
save_checkpoint(model, filename_prefix=filename_prefix, output_dir=self.output_dir, prompt=prompt, extra_pnginfo=extra_pnginfo)
|
save_checkpoint(model, filename_prefix=filename_prefix, output_dir=self.output_dir, prompt=prompt, extra_pnginfo=extra_pnginfo)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import comfy_extras.nodes_model_merging
|
import comfy_extras.nodes_model_merging
|
||||||
|
|
||||||
class ModelMergeSD1(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeSD1(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
arg_dict = { "model1": ("MODEL",),
|
arg_dict = { "model1": ("MODEL",),
|
||||||
@ -27,7 +27,7 @@ class ModelMergeSD1(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
|||||||
|
|
||||||
|
|
||||||
class ModelMergeSDXL(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeSDXL(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
@ -53,7 +53,7 @@ class ModelMergeSDXL(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
|||||||
return {"required": arg_dict}
|
return {"required": arg_dict}
|
||||||
|
|
||||||
class ModelMergeSD3_2B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeSD3_2B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
@ -77,7 +77,7 @@ class ModelMergeSD3_2B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
|||||||
|
|
||||||
|
|
||||||
class ModelMergeAuraflow(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeAuraflow(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
@ -104,7 +104,7 @@ class ModelMergeAuraflow(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
|||||||
return {"required": arg_dict}
|
return {"required": arg_dict}
|
||||||
|
|
||||||
class ModelMergeFlux1(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeFlux1(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
@ -130,7 +130,7 @@ class ModelMergeFlux1(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
|||||||
return {"required": arg_dict}
|
return {"required": arg_dict}
|
||||||
|
|
||||||
class ModelMergeSD35_Large(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeSD35_Large(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
@ -153,7 +153,7 @@ class ModelMergeSD35_Large(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
|||||||
return {"required": arg_dict}
|
return {"required": arg_dict}
|
||||||
|
|
||||||
class ModelMergeMochiPreview(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeMochiPreview(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
@ -175,7 +175,7 @@ class ModelMergeMochiPreview(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
|||||||
return {"required": arg_dict}
|
return {"required": arg_dict}
|
||||||
|
|
||||||
class ModelMergeLTXV(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeLTXV(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
@ -197,7 +197,7 @@ class ModelMergeLTXV(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
|||||||
return {"required": arg_dict}
|
return {"required": arg_dict}
|
||||||
|
|
||||||
class ModelMergeCosmos7B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeCosmos7B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
@ -221,7 +221,7 @@ class ModelMergeCosmos7B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
|||||||
return {"required": arg_dict}
|
return {"required": arg_dict}
|
||||||
|
|
||||||
class ModelMergeCosmos14B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeCosmos14B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
@ -245,7 +245,7 @@ class ModelMergeCosmos14B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
|||||||
return {"required": arg_dict}
|
return {"required": arg_dict}
|
||||||
|
|
||||||
class ModelMergeWAN2_1(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeWAN2_1(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
DESCRIPTION = "1.3B model has 30 blocks, 14B model has 40 blocks. Image to video model has the extra img_emb."
|
DESCRIPTION = "1.3B model has 30 blocks, 14B model has 40 blocks. Image to video model has the extra img_emb."
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -269,7 +269,7 @@ class ModelMergeWAN2_1(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
|||||||
return {"required": arg_dict}
|
return {"required": arg_dict}
|
||||||
|
|
||||||
class ModelMergeCosmosPredict2_2B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeCosmosPredict2_2B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
@ -292,7 +292,7 @@ class ModelMergeCosmosPredict2_2B(comfy_extras.nodes_model_merging.ModelMergeBlo
|
|||||||
return {"required": arg_dict}
|
return {"required": arg_dict}
|
||||||
|
|
||||||
class ModelMergeCosmosPredict2_14B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeCosmosPredict2_14B(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
@ -315,7 +315,7 @@ class ModelMergeCosmosPredict2_14B(comfy_extras.nodes_model_merging.ModelMergeBl
|
|||||||
return {"required": arg_dict}
|
return {"required": arg_dict}
|
||||||
|
|
||||||
class ModelMergeQwenImage(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
class ModelMergeQwenImage(comfy_extras.nodes_model_merging.ModelMergeBlocks):
|
||||||
CATEGORY = "advanced/model_merging/model_specific"
|
CATEGORY = "model/merging/model specific"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
|
|||||||
@ -1367,7 +1367,7 @@ class SaveLoRA(io.ComfyNode):
|
|||||||
node_id="SaveLoRA",
|
node_id="SaveLoRA",
|
||||||
search_aliases=["export lora"],
|
search_aliases=["export lora"],
|
||||||
display_name="Save LoRA Weights",
|
display_name="Save LoRA Weights",
|
||||||
category="advanced/model_merging",
|
category="model/merging",
|
||||||
is_experimental=True,
|
is_experimental=True,
|
||||||
is_output_node=True,
|
is_output_node=True,
|
||||||
inputs=[
|
inputs=[
|
||||||
|
|||||||
@ -108,7 +108,7 @@ class VideoTriangleCFGGuidance:
|
|||||||
return (m, )
|
return (m, )
|
||||||
|
|
||||||
class ImageOnlyCheckpointSave(comfy_extras.nodes_model_merging.CheckpointSave):
|
class ImageOnlyCheckpointSave(comfy_extras.nodes_model_merging.CheckpointSave):
|
||||||
CATEGORY = "advanced/model_merging"
|
CATEGORY = "model/merging"
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def INPUT_TYPES(s):
|
def INPUT_TYPES(s):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user