モデルパッチトーチ設定(ModelPatchTorchSettings)
このノードは技術的に、入力されたモデルをクローンし、それに `ON_PRE_RUN` と `ON_CLEANUP` コールバック関数をバインドすることで実装されています
Model Patch Torch Settings
Model Patch Torch Settings ノードは、技術的には入力されたモデルをクローンし、それに ON_PRE_RUN および ON_CLEANUP コールバック関数をバインドすることで実装されています。
Model Patch Torch Settings は実験的なノードで、ユーザーがモデルの実行前後に PyTorch の低レベル計算設定を動的に変更することを可能にします。その中核機能は、コールバック関数を追加することで、モデル実行前に特定のパフォーマンス最適化オプションを有効化し、実行後に元の状態に復元し、モデルの計算挙動をきめ細かく制御することです。
ノード機能
このノードは、技術的には入力されたモデルをクローンし、それに ON_PRE_RUN および ON_CLEANUP コールバック関数をバインドすることで実装されています。現在、主に torch.backends.cuda.matmul.allow_fp16_accumulation という設定の制御をサポートしており、この設定は CUDA 行列乗算演算において半精度(fp16)累算の使用を許可するかどうかに影響を与えます。この機能は PyTorch 2.7.0 以降(例えばナイトリーリリース)のサポートが必要であり、そうでない場合ノードはエラーを返します。
ノードパラメータ説明 - Model Patch Torch Settings
入力接続 (Inputs)
| パラメータ名 | データ型 | 必須 | デフォルト値 | 範囲/オプション | 説明 |
|---|---|---|---|---|---|
model | MODEL | はい | - | - | 入力パラメータ model:処理対象のモデルを受け取ります。ノードはこのモデルに PyTorch 設定を変更するコールバック関数を追加します。 |
コントロールパラメータ (Parameters)
| パラメータ名 | データ型 | 必須 | デフォルト値 | 範囲/オプション | 説明 |
|---|---|---|---|---|---|
enable_fp16_accumulation | BOOLEAN | はい | False | - | torch.backends.cuda.matmul.allow_fp16_accumulation を有効にします。PyTorch 2.7.0 ナイトリーが必要です。 |
出力 (Output)
| パラメータ名 | データ型 | 説明 |
|---|---|---|
| MODEL | MODEL | 出力パラメータ MODEL:コールバック関数が付加された新しいモデルインスタンスを出力します。これは後続の画像生成ワークフローで使用されます。 |
使用シナリオ
複雑なモデル推論や、VRAM 使用量の最適化が必要なワークフローにおいて、このノードは非常に有用です。例えば、大規模な Stable Diffusion モデルを使用して画像生成を行い、計算速度の向上や VRAM 使用量の削減のために fp16 累算を有効化してみたい場合、このノードをモデル読み込みノードの後、サンプラーノードの前に挿入し、ブール型パラメータのオン/オフ切り替えでパフォーマンスの差異をテストすることができます。
注意事項
これは「実験的」とマークされたノードであり、その安定性や互換性はコアノードほどではない可能性があることに注意してください。最も重要な制限は、torch.backends.cuda.matmul.allow_fp16_accumulation 属性をサポートする PyTorch バージョン(すなわち 2.7.1 以降)で実行する必要があり、そうでない場合ワークフローは実行できないことです。
Model Patch Torch Settings ノードソースコードリンク
Model Patch Torch Settings ノードは ComfyUI-KJNodes ノードパッケージに由来します。
コメント
GitHubでサインインしてディスカッションに参加しましょう。