add usage of unifiedefficientloader module

This commit is contained in:
silveroxides
2026-04-25 19:06:50 +02:00
parent 95393aea13
commit bb787378fe
6 changed files with 56 additions and 6 deletions
+10 -1
View File
@@ -13,12 +13,21 @@ import comfy.utils
from tqdm import tqdm
from comfy_api.latest import io
from safetensors.torch import save_file
from .merger_utils import MemoryEfficientSafeOpen, transfer_to_gpu_pinned
from .device_utils import (
estimate_model_size, prepare_for_large_operation,
cleanup_after_operation, get_device_capabilities
)
try:
from unifiedefficientloader import MemoryEfficientSafeOpen, transfer_to_gpu_pinned
UNIFIED_ENABLED = True
except Exception as e:
UNIFIED_ENABLED = False
if not UNIFIED_ENABLED:
from .merger_utils import MemoryEfficientSafeOpen, transfer_to_gpu_pinned
# =============================================================================
# Rank Index Functions - Determine LoRA rank from singular values
+10 -1
View File
@@ -10,7 +10,6 @@ from tqdm import tqdm
from comfy_api.latest import io
from safetensors.torch import save_file
from typing import List, Dict, Tuple, Optional
from .merger_utils import MemoryEfficientSafeOpen, transfer_to_gpu_pinned
from .device_utils import estimate_model_size, prepare_for_large_operation, cleanup_after_operation
from .lora_resize import (
detect_lora_format,
@@ -21,6 +20,16 @@ from .lora_resize import (
_format_lora_key
)
try:
from unifiedefficientloader import MemoryEfficientSafeOpen, transfer_to_gpu_pinned
UNIFIED_ENABLED = True
except Exception as e:
UNIFIED_ENABLED = False
if not UNIFIED_ENABLED:
from .merger_utils import MemoryEfficientSafeOpen, transfer_to_gpu_pinned
def merge_multi_loras(
lora_paths: List[str],
lora_weights: List[float],
+10 -1
View File
@@ -14,9 +14,18 @@ from tqdm import tqdm
from comfy_api.latest import io
from safetensors.torch import save_file
from typing import Optional, Dict, Tuple, List
from .merger_utils import MemoryEfficientSafeOpen, transfer_to_gpu_pinned
from .device_utils import estimate_model_size, prepare_for_large_operation, cleanup_after_operation
try:
from unifiedefficientloader import MemoryEfficientSafeOpen, transfer_to_gpu_pinned
UNIFIED_ENABLED = True
except Exception as e:
UNIFIED_ENABLED = False
if not UNIFIED_ENABLED:
from .merger_utils import MemoryEfficientSafeOpen, transfer_to_gpu_pinned
# Reuse rank functions from extraction module
from .lora_extract_svd import (
_index_sv_ratio,
+8 -1
View File
@@ -7,11 +7,18 @@ from tqdm import tqdm
from comfy_api.latest import io
from safetensors.torch import save_file
from .merger_ops import TWO_MODEL_MODES, THREE_MODEL_MODES, MissingTensorBehavior, MissingTensorError
from .merger_utils import MemoryEfficientSafeOpen, transfer_to_gpu_pinned
from .device_utils import (
estimate_model_size, prepare_for_large_operation, cleanup_after_operation
)
try:
from unifiedefficientloader import MemoryEfficientSafeOpen, transfer_to_gpu_pinned
UNIFIED_ENABLED = True
except Exception as e:
UNIFIED_ENABLED = False
if not UNIFIED_ENABLED:
from .merger_utils import MemoryEfficientSafeOpen, transfer_to_gpu_pinned
def load_documentation_from_file(filename):
"""Loads documentation from a markdown file in the ../docs/ directory."""
+9 -1
View File
@@ -7,9 +7,17 @@ from comfy_api.latest import io
from safetensors.torch import save_file
from safetensors import safe_open
from .utils import convert_pt_to_safetensors
from .merger_utils import MemoryEfficientSafeOpen
from .device_utils import estimate_model_size, prepare_for_large_operation, cleanup_after_operation
try:
from unifiedefficientloader import MemoryEfficientSafeOpen
UNIFIED_ENABLED = True
except Exception as e:
UNIFIED_ENABLED = False
if not UNIFIED_ENABLED:
from .merger_utils import MemoryEfficientSafeOpen
def _prune_keys(model_name: str, model_type: str, keys_to_prune_str: str,
use_regex: bool, output_filename: str) -> str:
+9 -1
View File
@@ -6,9 +6,17 @@ from comfy_api.latest import io
from safetensors.torch import save_file
from safetensors import safe_open
from .utils import convert_pt_to_safetensors
from .merger_utils import MemoryEfficientSafeOpen
from .device_utils import estimate_model_size, prepare_for_large_operation, cleanup_after_operation
try:
from unifiedefficientloader import MemoryEfficientSafeOpen
UNIFIED_ENABLED = True
except Exception as e:
UNIFIED_ENABLED = False
if not UNIFIED_ENABLED:
from .merger_utils import MemoryEfficientSafeOpen
def _rename_keys(model_name: str, model_type: str, old_keys_str: str,
new_keys_str: str, output_filename: str) -> str: