Saltar al contenido
Node packVerificadoExterno
Abrir fuente

comfyUI_u5_VramFREE

Advanced memory management and VRAM optimization custom node for ComfyUI.

Responsable@u5devUnratedcalidad

Perfil del paquete

Estado
Verificado
Publicador
@u5dev
Fuente
GitHub

Léeme

u5_FreeVRAM - ComfyUI Memory Management Node

ComfyUI向けの高度なメモリ管理・VRAM最適化カスタムノードです。 既存のメモリ開放系のカスタムノードがどうにもうまく動かないので、改めて作りました。

English | 中文

📋 目次


概要

u5_FreeVRAMは、ComfyUIワークフローにおけるメモリ管理を最適化し、限られたVRAMで複雑なワークフローを実現するためのカスタムノードパッケージです。

要するに、ワークフローの途中で任意にVRAMを開放したり、読み替えたりできるようにします。


主な用途

  • 複雑なワークフロー: 1ワークフロー内で複数種のモデルを順次実行(線画化→着色等)
  • バッチ処理: メモリリークの防止
  • SaaS環境: 共有GPU環境でのキャッシュクリア

機能

このcustom nodeには、主に2種類の機能があります。

1. FREE VRAM ノード

VRAMメモリのクリーンアップを提供します。

クリーンアップ処理:

  • モデルアンロード: ロード済みモデルをメモリから解放
  • GPUキャッシュクリア: CUDAキャッシュを空にしてVRAMを回復
  • 実行キャッシュクリア: ComfyUIの実行キャッシュをクリア
  • ガベージコレクション: Pythonの未使用オブジェクトを回収

スマート実行:

  • 閾値スキップ: 指定した空きVRAMがある場合は処理をスキップ
  • 非同期待機: 最適なメモリ解放タイミングを自動検出

2. Sequential Loaders

モデルの順次ロードを実現し、VRAM使用量を最適化します。

通常、モデル等のローダーは入力ソケットを持たず、ワークフローのど頭で並列実行されますが、 ワークフローの途中で差し込めるようにしました。

利用可能なローダー:

  • Sequential Checkpoint Loader: チェックポイントファイルの順次ロード
  • Sequential LoRA Loader: LoRAファイルの順次ロード
  • Sequential CLIP Loader: CLIPモデルの順次ロード(safetensors、全CLIPタイプ対応)
  • Sequential VAE Loader: VAEモデルの順次ロード(safetensors、TAESD対応) ※GGUF形式には対応していません(無理でした)

特徴:

  • ComfyUI標準機能のみ使用(外部依存なし)
  • trigger入力による実行順序の制御

インストール

  1. gitをcustom_nodeフォルダにCloneしてください。
git clone "https://github.com/u5dev/comfyUI_u5_VramFREE.git"
  1. ComfyUIを再起動してください。

基本的な使い方

ノードメニューのu5カテゴリにノードが表示されます。

FREE VRAM ノード

ワークフローの任意の位置に挿入してメモリをクリアします。

使用方法: alt text

# 中継ノードとして
[任意のノード] → [FREE VRAM] → [次のノード]

パラメータ:

  • Any (入力・オプション): 任意のデータ型を受け取るパススルー入力
    • 未接続でも動作: ワークフローの開始ノードとして配置可能
    • 接続時: 入力データをそのまま出力に中継
  • MinFreeVRAMGB (オプション): この値以上の空きVRAMがある場合はスキップ(デフォルト: 0.0) ※メモリの開放状況は非同期のラグがあるため、厳密ではありません。

出力:

  • Bypass(Relay): 入力データを中継(入力がない場合はNone)

Sequential Loaders

Sequential Loadersはtrigger入力を持ち、前のノードの完了を待ってからロードを開始します。 triggerに来たものは、そのままBypass(Relay)出力ソケットに渡されます。

使い方は、下記のワークフロー例を参考にしてください。


ベストプラクティス

1. SaaS環境でのキャッシュクリア

ユースケース: 共有GPU環境で、前のユーザーのキャッシュを確実にクリアする

alt text

[Start Workflow]
    ↓
[FREE VRAM (MinFreeVRAMGB=0.0)] ← 強制的にクリーンアップ
    ↓ trigger
[Sequential Checkpoint Loader] ← 解放後に読み込み
    ↓ (MODEL, CLIP, VAE)
[CLIP Text Encode (Prompt)]
    ↓ (CONDITIONING)
[KSampler]
    ↓ (LATENT)
[VAE Decode]
    ↓ (IMAGE)
[Save Image]

ポイント:

  • ワークフロー開始直後にFreeVRAMを配置
  • MinFreeVRAMGB=0.0で常にクリーンアップを強制
  • Sequential Loaderを使用して順序を保証

2. 低VRAM環境での複数モデル実行(8GB以下)

ユースケース: image2imageを2PassのSDXLで実行

alt text

1st Pass は下絵(img2imgの下地)を軽設定で生成してプレビュー。
2nd Pass は FreeVRAM のゲートを通してメモリを確保してから、
Checkpoint → LoRA → VAE を順次読み込み、本番設定で生成・保存。

ポイント: 共通:positive/negativeテキスト→CLIPエンコードし、両パスのサンプラーへ。

1st Pass:i2i用画像→1024x1024化→VAEエンコード→Kサンプラー(下絵生成)   ↓ 2nd Pass:latent(潜在)をFreeVRAM以降のトリガーに繋いで引き回す   ↓ Sequential Checkpoint Loader(清書用)   ↓ Sequential LoRA Loader(複数LoRA適用)   ↓ Kサンプラー(※latentをバイパスしてきて、Kサンプラーまで引き込む)   ↓ Sequential VAE Loader(清書用VAE)   ↓ VAEデコード   ↓ 画像を保存

※1stは当たり出し、2ndでLoRAと別VAEを順次ロードして仕上げ、メモリ圧をFree VRAMで制御します。


パラメータリファレンス

FREE VRAM ノード

パラメータ型必須デフォルト説明
AnyANY✗ (オプション)Noneパススルー入力(任意のデータ型)、未接続でも動作
MinFreeVRAMGBFLOAT✗ (オプション)0.0この値以上の空きVRAMがある場合はスキップ(GB)

出力:

  • Bypass(Relay): 入力データをそのまま出力(入力なしの場合はNone)

v1.1での変更点:

  • Any入力がオプションになり、開始ノードとして使用可能

Sequential Checkpoint Loader

| パラメータ | 型 | デフ

Nodos de este paquete

5 nodos
  • SequentialCheckpointLoader
  • SequentialCLIPLoaderSimple
  • SequentialLoRALoader
  • SequentialVAELoaderSimple
  • VRAMFree

Recursos relacionados

1 conexión

Fuentes

3 fuentes
GitHubFuente
github.com/u5dev/comfyUI_u5_VramFREE

Verificado 24 oct

GitHubFuenteVersión 81eeeb250295e97d6538c767961bb595aa60c9f8
github.com/u5dev/comfyUI_u5_VramFREE

Verificado 14 oct

Extractos de fuentes

1 extracto

Source context: Repo u5dev/comfyUI_u5_VramFREE