見出し画像

ComfyUIでモデルとLoraのマージをしてみた。直感的で取っ付きやすい!

モデルのマージについては初心者なのですが、ComfyUIで簡単に出来たので記事にしました。

モデルのマージについては、多くの方が記事を書かれていますのでそちらを参照して下さい。
今回は初心者の自分の備忘録的にやった内容を記載する感じになります。

この記事はLoraのマージになります。
やってみた印象としては、モデルのマージよりははるかに簡単なものだと感じましたので、ここからマージ系に入るのが良い気がしました。

マージの目的
気に入ったチェックポイントで、比較的好みのタイプのキャラクターを安定して出したい!
ちびキャラを出したい(noteのサムネは横長なので、ちびキャラの方が安定した画像が出やすいため)

試してみたチェックポイント
以下のを初めて使用してみました。
「ebara_pony_2」

プロンプト
1girl, aqua_(konosuba), very young female child, chibi, big breasts, kawaii,blue hair, miko-like costume, a large ribbon across the chest, in a bright room. Textbooks and notebooks are spread out on the desk. The walls of the room are decorated with colorful posters, and soft sunlight streams in through the window.+品質系

以下が通常生成での画像になります。

これにちびキャラLoraを加えます。

強度0.7の画像

ワークフローは公式のものを使用しました。マージ用のノードはデフォルトであるので追加でインストールする必要はありませんでした。

一応流れについて簡単に記載しておきます。

①チェックポイントを二つとも同じものに設定します。

②最初はここをミュートしておきます。

③「Load LoRA」にマージさせたいLoraを設定します。ここはいくつかつなげてもOKです。

④生成時の設定をします。好みで調整。
Loraに関連するような画像が出来るプロンプトを使用するのが良いと思います。

⑤「Lora」のウェイトを変えたりして調整します。
シード値が固定されているので、差分が分かります。ここは通常生成と同じ速度で画像生成されるので、比較は簡単です。

⑥満足いく結果が出た場合に、②でミュートされているノードを解除します。「Queue」を押すとマージされモデルが保存されます。


生成されたチェックポイントは「ComfyUI/output/checkpoints/ 」以下にチェックポイントファイルとして保存されます。
保存されるファイルの名前には 5桁の連番が付けられ、デフォルトでは ComfyUI_01234_.safetonsors のような形式になるようです。
filename_prefix で、ファイル名の先頭部分 (checkpoints/ComfyUI の部分) を変更できます。

Paperspaceでコピーするコマンド (一時フォルダの場合)

# コピー元とコピー先のディレクトリを指定
!cp -r /tmp/ComfyUI/output/checkpoints/* /tmp/ComfyUI/models/checkpoints/

こういう感じでLoraをマージさせると安定して、希望する様な絵柄に近いものが出しやすくなると思われます。

例えばこういった上の様な指の異常が出た場合に、先日紹介した「fix_hands」をマージしたりできます。すると同じシード値でも指が改善しました。

指は改善しましたが、他も変化していますね。効果があったので提示しておきますが、「repair_slider」をマージしたものが以下になります。元のに近いものに戻りました。

シード値が固定した状態で比較も出来るので効果が分かりやすいですね。
良い感じになった後に、シード値を変えて別なパターンを見てみたりするのは大事かと思います。
下の画像はマージしたモデルでプロンプトを変えて作成したものですが、残念ながら指の補正はうまくいっていないですね。。。。

ちなみにマージ前のモデルで、同じ様なプロンプトだとこのような感じになります。こちらも良い感じでしたね。

良く使うLoraはマージしておくのが良さそうだと感じました。comfyuiだと、loraは別にノードが必要なため、マージをしている人が多そうだなと感じました。


この記事が気に入ったらサポートをしてみませんか?