Compare commits
5
Commits
refactor
...
1.0_legacy
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
909d7026f3 | ||
|
|
806a0fa1d6 | ||
|
|
f7a88cbd56 | ||
|
|
4c2ce52f57 | ||
|
|
4a597f1955 |
+16
-17
@@ -4,6 +4,8 @@ import torch.nn as nn
|
||||
import json
|
||||
import folder_paths
|
||||
import comfy.model_management as mm
|
||||
from .utils import check_diffusers_version, remove_specific_blocks, log
|
||||
check_diffusers_version()
|
||||
|
||||
from diffusers.models import AutoencoderKLCogVideoX
|
||||
from diffusers.schedulers import CogVideoXDDIMScheduler
|
||||
@@ -20,7 +22,6 @@ from .cogvideox_fun.pipeline_cogvideox_control import CogVideoX_Fun_Pipeline_Con
|
||||
|
||||
from .videosys.cogvideox_transformer_3d import CogVideoXTransformer3DModel as CogVideoXTransformer3DModelPAB
|
||||
|
||||
from .utils import check_diffusers_version, remove_specific_blocks, log
|
||||
from comfy.utils import load_torch_file
|
||||
|
||||
script_directory = os.path.dirname(os.path.abspath(__file__))
|
||||
@@ -32,7 +33,7 @@ class CogVideoLoraSelect:
|
||||
"required": {
|
||||
"lora": (folder_paths.get_filename_list("cogvideox_loras"),
|
||||
{"tooltip": "LORA models are expected to be in ComfyUI/models/CogVideo/loras with .safetensors extension"}),
|
||||
"strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01, "tooltip": "LORA strength, set to 0.0 to unmerge the LORA"}),
|
||||
"strength": ("FLOAT", {"default": 1.0, "min": -10.0, "max": 10.0, "step": 0.0001, "tooltip": "LORA strength, set to 0.0 to unmerge the LORA"}),
|
||||
},
|
||||
"optional": {
|
||||
"prev_lora":("COGLORA", {"default": None, "tooltip": "For loading multiple LoRAs"}),
|
||||
@@ -182,16 +183,7 @@ class DownloadAndLoadCogVideoModel:
|
||||
if block_edit is not None:
|
||||
transformer = remove_specific_blocks(transformer, block_edit)
|
||||
|
||||
#fp8
|
||||
if fp8_transformer == "enabled" or fp8_transformer == "fastmode":
|
||||
for name, param in transformer.named_parameters():
|
||||
params_to_keep = {"patch_embed", "lora", "pos_embedding"}
|
||||
if not any(keyword in name for keyword in params_to_keep):
|
||||
param.data = param.data.to(torch.float8_e4m3fn)
|
||||
|
||||
if fp8_transformer == "fastmode":
|
||||
from .fp8_optimization import convert_fp8_linear
|
||||
convert_fp8_linear(transformer, dtype)
|
||||
|
||||
with open(scheduler_path) as f:
|
||||
scheduler_config = json.load(f)
|
||||
@@ -221,8 +213,7 @@ class DownloadAndLoadCogVideoModel:
|
||||
adapter_list = []
|
||||
adapter_weights = []
|
||||
for l in lora:
|
||||
if l["fuse_lora"]:
|
||||
fuse = True
|
||||
fuse = True if l["fuse_lora"] else False
|
||||
lora_sd = load_torch_file(l["path"])
|
||||
for key, val in lora_sd.items():
|
||||
if "lora_B" in key:
|
||||
@@ -239,9 +230,18 @@ class DownloadAndLoadCogVideoModel:
|
||||
for l in lora:
|
||||
pipe.set_adapters(adapter_list, adapter_weights=adapter_weights)
|
||||
if fuse:
|
||||
pipe.fuse_lora(lora_scale=1 / lora_rank, components=["transformer"])
|
||||
|
||||
pipe.fuse_lora(lora_scale=lora[-1]["strength"] / lora_rank, components=["transformer"])
|
||||
|
||||
#fp8
|
||||
if fp8_transformer == "enabled" or fp8_transformer == "fastmode":
|
||||
for name, param in pipe.transformer.named_parameters():
|
||||
params_to_keep = {"patch_embed", "lora", "pos_embedding"}
|
||||
if not any(keyword in name for keyword in params_to_keep):
|
||||
param.data = param.data.to(torch.float8_e4m3fn)
|
||||
|
||||
if fp8_transformer == "fastmode":
|
||||
from .fp8_optimization import convert_fp8_linear
|
||||
convert_fp8_linear(pipe.transformer, dtype)
|
||||
|
||||
if enable_sequential_cpu_offload:
|
||||
pipe.enable_sequential_cpu_offload()
|
||||
@@ -312,7 +312,6 @@ class DownloadAndLoadCogVideoGGUFModel:
|
||||
"pab_config": ("PAB_CONFIG", {"default": None}),
|
||||
"block_edit": ("TRANSFORMERBLOCKS", {"default": None}),
|
||||
"compile": (["disabled","torch"], {"tooltip": "compile the model for faster inference, these are advanced options only available on Linux, see readme for more info"}),
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -633,4 +632,4 @@ NODE_DISPLAY_NAME_MAPPINGS = {
|
||||
"DownloadAndLoadCogVideoControlNet": "(Down)load CogVideo ControlNet",
|
||||
"DownloadAndLoadToraModel": "(Down)load Tora Model",
|
||||
"CogVideoLoraSelect": "CogVideo LoraSelect",
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
huggingface_hub
|
||||
diffusers>=0.30.3
|
||||
diffusers>=0.31.0
|
||||
accelerate>=0.33.0
|
||||
einops
|
||||
peft
|
||||
peft
|
||||
|
||||
Reference in New Issue
Block a user