67 lines
2.2 KiB
Python
67 lines
2.2 KiB
Python
"""
|
|
u5_FreeVRAM - ComfyUI Custom Node for Memory Management
|
|
MIT License - Copyright (c) 2024
|
|
|
|
This node provides memory management functionality for ComfyUI workflows.
|
|
It allows unloading models, clearing caches, and freeing memory without
|
|
disrupting the workflow execution.
|
|
"""
|
|
|
|
# ========================================
|
|
# Existing Node - Protected
|
|
# ========================================
|
|
from .model_unloader import VRAMFreeNode
|
|
|
|
# ========================================
|
|
# New Addition: Sequential Loaders
|
|
# ========================================
|
|
SEQUENTIAL_LOADERS_AVAILABLE = False
|
|
|
|
try:
|
|
from .sequential_loaders import (
|
|
SequentialCheckpointLoader,
|
|
SequentialLoRALoader,
|
|
SequentialCLIPLoaderSimple,
|
|
SequentialVAELoaderSimple,
|
|
)
|
|
SEQUENTIAL_LOADERS_AVAILABLE = True
|
|
print("[FreeVRAM] Sequential Loaders loaded successfully (ComfyUI standard only)")
|
|
except ImportError as e:
|
|
print(f"[FreeVRAM] Sequential Loaders not available: {e}")
|
|
print("[FreeVRAM] Core FreeVRAM node will work normally")
|
|
|
|
# ========================================
|
|
# Node Registration
|
|
# ========================================
|
|
NODE_CLASS_MAPPINGS = {
|
|
# Existing node (always available)
|
|
"VRAMFree": VRAMFreeNode,
|
|
}
|
|
|
|
NODE_DISPLAY_NAME_MAPPINGS = {
|
|
"VRAMFree": "FREE VRAM (u5)",
|
|
}
|
|
|
|
# Sequential Loaders (only if available)
|
|
if SEQUENTIAL_LOADERS_AVAILABLE:
|
|
NODE_CLASS_MAPPINGS.update({
|
|
"SequentialCheckpointLoader": SequentialCheckpointLoader,
|
|
"SequentialLoRALoader": SequentialLoRALoader,
|
|
"SequentialCLIPLoaderSimple": SequentialCLIPLoaderSimple,
|
|
"SequentialVAELoaderSimple": SequentialVAELoaderSimple,
|
|
})
|
|
|
|
NODE_DISPLAY_NAME_MAPPINGS.update({
|
|
"SequentialCheckpointLoader": "Sequential Checkpoint Loader",
|
|
"SequentialLoRALoader": "Sequential LoRA Loader",
|
|
"SequentialCLIPLoaderSimple": "Sequential CLIP Loader",
|
|
"SequentialVAELoaderSimple": "Sequential VAE Loader",
|
|
})
|
|
|
|
# Version information
|
|
__version__ = "1.1.0" # Sequential Loaders added
|
|
__license__ = "MIT"
|
|
__author__ = "u5_FreeVRAM Development Team"
|
|
|
|
# Web UI
|
|
WEB_DIRECTORY = "./js" |