モデルマージの例
これらのワークフローの背後にある考え方は、複数のモデルマージを含む複雑なワークフローを実行し、それらをテストし、結果に満足したら、CheckpointSaveノードを使用してチェックポイントを保存できるということです。デフォルトでは、CheckpointSaveノードはチェックポイントをoutput/checkpointsフォルダに保存します。
これらのノードは、advanced->model_mergingで見つけることができます。
この最初の例は、2つの異なるチェックポイント間の単純なマージの基本的な例です。
ComfyUIでこれらの画像を読み込むことで、完全なワークフローを取得できます。
ComfyUIでは、保存されたチェックポイントには、それらを生成するために使用された完全なワークフローが含まれているため、画像と同じようにUIに読み込んで、それらを作成するために使用された完全なワークフローを取得できます。
この例は、シンプルなブロックマージを使用して3つの異なるチェックポイントをマージする例で、unetの入力、中間、出力ブロックに異なる比率を設定できます:
Lorasはモデルの重みに対するパッチであるため、モデルにマージすることもできます:
また、この例のようにモデルの重みを減算して追加することもできます。これは、非インペイントモデルからインペイントモデルを作成するために使用され、公式は次のとおりです:(inpaint_model - base_model) * 1.0 + other_model
他のUIの「差分を追加」オプションに精通している場合、これがComfyUIでそれを実行する方法です。
注意すべき重要な点は、モデルがハードウェア上での推論に使用される精度でマージされ保存されるということです。そのため、通常は16ビット浮動小数点になります。32ビット浮動小数点でマージしたい場合は、ComfyUIを--force-fp32オプションで起動してください。