「Checkpoint Merger」をわかりやすく解説ー複数のモデルから新たなモデルを作る【Stable Diffusion】

Checkpoint Merger

Stable diffusionの「ControlNET&拡張機能講座」第22回目。複数のモデルをマージ(融合)して、新たなモデルを作り出す「Checkpoint Merger」をわかりやすく解説していきます。


現在持っているモデルがワンパターンに感じてきたら使えそうニャ。

そんなわけでさくっとやり方を説明していきましょう。前回の「「Dynamic prompts」をわかりやすく解説ーワイルドカードでランダムキャラ作成」は以下のリンクから。

「Dynamic prompts」をわかりやすく解説ーワイルドカードでランダムキャラ作成【Stable Diffusion】
Stable diffusionの「ControlNET&拡張機能講座」第21回目。ワイルドカードを使って、ランダムでキャラクター作成をする拡張機能「Dynamic prompts」についてわかりやすく解説していきます。 前回の「Clone...

 

スポンサーリンク

「Checkpoint Merger」の使い方

「Checkpoint Merger」は最初から入っているので、導入の必要はありません。

2種類のモデルのマージ

checkpoint merger

「Checkpoint Merger」タブに移動すると、「Primary model (A)」「Secondary model (B)」「Tertiary model (C)」が一番上にあります。ここでモデル(最大3種類)を設定します。それぞれクリックすると、現在導入しているモデルの一覧が出てくるので、最初は2種類をマージしますので、適当にAとBにモデルを設定しておいてください。

その下の「Custom Name」は出力されるマージモデルの名前です。わかりやすい名前を適当につけてください。考えるのが面倒だったら「test」でもいいです。

つぎに「Multiplier (M) 」ですが、これは重みですね。

たとえば0.3にした場合、Aの重みは0.7、Bの重みは0.3になります(合計して1)。Aの重みが0.3ではないので注意してください。


0.3で設定すると、Bが0.3になるのニャ。Aは0.7なのニャ。

重みをおなじにしたければ、0.5にすればいいですね。

その下の「Interpolation Method」は、2種類のマージをするので「Weighted sum」を選択。ちなみに「No interpolation」は1つのモデルにVAEをマージするだけのもの、Add difference」は3つのモデル用です。

Checkpoint format」は、ほとんどの有名モデルが「safetensors」なのでそれを選択。

Copy config from」はモデルのコンフィグをコピーする項目なので、「A, B or C」のままで。

Bake in VAE」はVAEもマージするかどうかなので「NONE」で。

あとは一番下の「Merge」ボタンをクリックするだけです。

終わったら、モデルを選ぶ欄にマージモデルが追加されているので、いつものように利用すればいいだけです。

Checkpoint Merger

出来上がったのがタイトルの画像ですね。アニメ調のモデル(左)と、実写寄りのモデル(中央)0.5のウェイト(重み)で組み合わせた結果、その中間ぐらいのモデル(右)ができあがっているのがわかるかと思います(すべておなじシード値とプロンプト)。


アニメすぎず、実写すぎずでいい感じニャ。

性質の違うものどうしを組み合わせたほうが結果が顕著ですね。

3種類のモデルのマージ

次は3種類に挑戦してみましょう。

といってもやることはほぼ同じで、「Checkpoint Merger」で3つのモデルを設定します。A,B,Cに適当に設定してください。

Interpolation Method」は、Add difference」を選択。

「Multiplier (M) 」「A+(B-C)×M」のMの重みになります。

わかりやすくいうと、「BとCの差分に重みをつけて、Aとマージする」という意味ですね。

あとは一番下の「Merge」ボタンをクリックするだけです。


なんか計算式がわかりにくいニャ。

正直2つだけでやったほうが結果もわかりやすいと思います。

3つやるばあいは、まずAとBをマージして、その結果にCをマージみたいに2回に分けてやったほうがいいでしょう。

作ったモデルを消す

つくったモデルは、いつもモデルを入れているフォルダに自動的に入ります。Stable Diffusionをインストールしたフォルダの

\stable-diffusion-webui\models\Stable-diffusion

の中ですね。ふつうに削除すればOKです。起動中はモデルのリロードを忘れずに。

 

まとめ

そんなわけでモデルをマージする「Checkpoint Merger」でした。

使ってみると案外簡単なので、「このモデルとこのモデルを合わせたらいいものできそう」と思ったときにマージしてやるとよいでしょう。

処理も速いので、気軽にできるのがいいですね。


いろいろ挑戦してみるのニャ。

それではまた次回の講座でお会いしましょう。【追記】次回「「mediapipe_face」をわかりやすく解説ー表情を利用して画像生成」できました。以下のリンクから。

「mediapipe_face」をわかりやすく解説ー表情を利用して画像生成【ControlNet講座#23】|Stable Diffusion
Stable diffusionの「ControlNET&拡張機能講座」第23回目。人物の表情を新たな画像に利用する「mediapipe_face」の機能をわかりやすく解説していきます。たとえば笑っている人の表情をもとにして、それと似たよう...
「Shuffle」機能をわかりやすく解説ー2つの画像から新画像を生成【ControlNet講座#1】|Stable diffusion
「Stable diffusion」に様々な追加機能をあたえる「ControlNet」。その使い方を学ぶ「ControlNet講座」の第1回目です。「Shuffle」機能を、わかりやすくさくっと解説します。元画像(上の画像では「少女」)に対...
「Stable difussion」のプロンプト(呪文)用語一覧【AIイラスト】
いま流行りのAI画像作成「Stable difussion」。画像を出すにはプロンプトに英単語を打ち込まなければなりませんが、いちいち調べるのも面倒という方のために、1ページにまとめた単語帳を作成しました。 ほぼ自分用ニャ。 画質、アートス...
「Image Browser」で画像管理する方法をわかりやすく解説【ControlNet&拡張講座#16】|Stable Diffusion
Stable diffusionの「ControlNET&拡張機能講座」第16回目。「Stable Diffusion」を使っていると画像が多すぎて、どこになにがあるのかわからなくなることが多いと思います。今回はそれらの画像を整理できる便利...
タイトルとURLをコピーしました