VRAM Debug(VRAM_Debug)
このノードは、ComfyUIの`model_management`インターフェースを呼び出して、現在の空きVRAMサイズ(バイト単位)を取得します。
VRAM Debug
VRAM Debug ノードは、ComfyUI の model_management インターフェースを呼び出して、現在の空き VRAM サイズ(バイト単位)を取得します。
VRAM Debug は、VRAM を監視および管理するためのユーティリティノードです。その主な機能は、ワークフローの実行中に利用可能な VRAM 容量を測定して報告し、VRAM のクリーンアップやモデルのアンロードオプションを提供することで、リソース使用の最適化を支援することです。
ノード機能
このノードは、ComfyUI の model_management インターフェースを呼び出して、現在の空き VRAM サイズ(バイト単位)を取得します。ソフトキャッシュクリア、強制ガベージコレクション、およびすべてのロード済みモデルのアンロードという 3 つのオプション操作の実行をサポートします。これらの操作は、占有されている VRAM リソースを解放することを目的としており、入力データの処理や変更は行わず、入力データをそのまま渡します。
ノードパラメータ説明 - VRAM Debug
入力接続 (Inputs)
| パラメータ名 | データ型 | 必須 | デフォルト値 | 範囲/オプション | 説明 |
|---|---|---|---|---|---|
any_input | IO | いいえ | - | - | any_input(入力パラメータ):あらゆるタイプのデータを受け取ることができる汎用入力インターフェース。ノードはこれを処理せず、ノード実行をトリガーするシグナルの 1 つとしてのみ使用します。 |
image_pass | IMAGE | いいえ | - | - | image_pass(出力パラメータ):image_pass に入力された画像データをそのまま返します。 |
model_pass | MODEL | いいえ | - | - | model_pass(出力パラメータ):model_pass に入力されたモデルデータをそのまま返します。 |
コントロールパラメータ (Parameters)
| パラメータ名 | データ型 | 必須 | デフォルト値 | 範囲/オプション | 説明 |
|---|---|---|---|---|---|
empty_cache | BOOLEAN | はい | True | - | empty_cache(入力パラメータ):VRAM 解放を試みるためのソフトキャッシュクリア操作を実行するかどうかを決定するブールスイッチ。デフォルトで有効です。 |
gc_collect | BOOLEAN | はい | True | - | gc_collect(入力パラメータ):強制ガベージコレクションを実行するかどうかを決定するブールスイッチ。デフォルトで有効です。 |
unload_all_models | BOOLEAN | はい | False | - | unload_all_models(入力パラメータ):ComfyUI メモリ内のすべてのモデルをアンロードするかどうかを決定するブールスイッチ。デフォルトで無効です。 |
出力 (Outputs)
| パラメータ名 | データ型 | 説明 |
|---|---|---|
| any_output | ANY | any_output(出力パラメータ):any_input に入力されたデータをそのまま返します。 |
| image_pass | IMAGE | image_pass(出力パラメータ):image_pass に入力された画像データをそのまま返します。 |
| model_pass | MODEL | model_pass(出力パラメータ):model_pass に入力されたモデルデータをそのまま返します。 |
| freemem_before | INT | freemem_before(出力パラメータ):クリーンアップ操作を実行する前のシステムの空き VRAM バイト数。 |
| freemem_after | INT | freemem_after(出力パラメータ):指定されたクリーンアップ操作を実行した後のシステムの空き VRAM バイト数。 |
使用シナリオ
複雑なワークフローにおいて、高解像度画像の連続生成や異なる大規模モデルへの切り替え後などに、VRAM が徐々に枯渇する可能性があります。このような場合、このノードをワークフローの重要な位置(例:リソースを消費する 2 つのノードの間)に挿入し、その VRAM 管理機能をトリガーしてスペースを解放することで、後続のノードが確実に実行できるようにします。同時に、出力される整数値で解放効果を監視できます。
注意事項
このノードは主にデバッグとリソース監視を目的としており、実行するモデルアンロード操作(有効化されている場合)は、ワークフロー内の他のロード済みモデルに依存するノードに影響を与えます。したがって、直前にロードされたモデルをすぐに使用する必要のないワークフローの段階に配置するか、ワークフロー終了前のクリーンアップステップとして使用することをお勧めします。
VRAM Debug ノードソースコードリンク
VRAM Debug ノードは ComfyUI-KJNodes ノードパッケージに含まれています。
コメント
GitHubでサインインしてディスカッションに参加しましょう。