[Guide] LoRA Block Weight - a way to finetune LoRAs

詳細

ファイルをダウンロード

モデル説明

このガイドのReddit版: https://www.reddit.com/r/StableDiffusion/comments/11izvoj

例として使用するLoRA: /model/7649, /model/9850

SDXLモデル向けのガイドはこちら: /model/22581?modelVersionId=26964

ざっくりまとめ

拡張機能名: sd-webui-lora-block-weight

構文: <lora:loraname:casyalweight:blockweights>

どんなもの?

この拡張機能を使うと、LoRA全体ではなく、個別のブロックだけを接続できます。これにより、過学習したモデルの一部を使うことや、モデルの問題点を特定する、あるいは場合によっては最も優れたエポックを組み合わせるといったことが可能になります。

たとえば、composition(構成)に影響を与える初期のブロックだけを取得し、色調(hue)をほとんど決定する最終ブロックだけを無視する、または中間のブロックだけを強調する、といったことができます。これは、LoRAが本来想定していないような出力を生成しやすくするのに役立ちます。具体的には以下のような用途が考えられます:

  1. 初期ブロックの重みを下げると、普段の比例に近いアニメキャラクターが生成できます。

  2. 最終ブロックの重みを下げると、同じキャラクターでも目が顔の半分に大きく描かれ、しかし通常の色調で描かれます。

  3. 他のLoRAから最終ブロックを追加することで、線の強さ、反射、肌の質感を強化し、画像を明るくしたり暗くしたりできます。

  4. 「すべてを家のように描く」スタイルを微調整し、キャラクターを描くように変更できます。

  5. さまざまな奇抜な要素、アーティファクト、追加の目や指などを追加できます。この拡張機能は、不要な部分を省いてモデルの通常の動作を崩すことに設計されています。

インストール

拡張機能リストから sd-webui-lora-block-weight を探してインストールしてください。

UIを再起動すると、txt2imgおよびimg2imgに新たに「LoRA Block Weight」という要素が表示されます。

ご注意:現在、Composable Lora および Additional Networks との間に競合があります。現時点ではAdditional Networksがこの拡張機能を破壊しています。Composable Loraは同時にインストール可能ですが、どちらか一方のみを有効化(Enabled / Activate)する必要があります。両方を有効にすると、LoRAの効果が2回(あるいはそれ以上)適用され、焼き付いた画像や色の混在した画像が生成されます。これはおそらくWebUIの問題であると考えられます。プロンプトスケジューリングが特定の条件下で同様の問題を引き起こすからです。

話は逸れますが、簡単にお話しします。プロンプトスケジューリングは、特定のステップでプロンプトを変更する仕組みです。たとえば、[cat:dog:0,4] は、最初は猫を描くように指示し、全ステップの40%が終了した時点で cat を削除し、同じ場所に dog を代入します。これにより、猫と犬の特徴を持った動物が生成されたり、別々に不自然な猫と犬が描かれたりすることがあります。

使用方法

ブロック重みの実験を始めるための良い出発点を紹介します:

  1. プロンプトでLoRAモデル名と重みの後に、コロンと「XYZ」を書きます。人気モデルの例では <lora:yaeMikoRealistic_yaemikoMixed:1:XYZ> となり、スクリーンショットを確認すると <lora:HuaqiangLora_futaallColortest:1:XYZ> のようになります。

  2. その後、拡張機能が有効(Active)になっていることを確認し、拡張機能のXYZパネルを展開します(スクリプトセクションにあるX/Y/Zパネルと混同しないように注意)。XYZパネルのオプションを有効化します。

  3. XタイプをOriginal Weightsに設定し、Xフィールドに以下の文字列を入力します:

INS,IND,INALL,MIDD,OUTD,OUTS,OUTALL

準備完了です。スクリーンショットのようにテーブルが表示されます。

結果のいずれかが気に入った場合は、プロンプト内のXYZを画像の上部にあるタグ(例:MIDD)に置き換えます:

<lora:HuaqiangLora_futaallColortest:1:MIDD>

もしどの選択肢も気に入らない場合は、クエリを逆転させることができます。すべての重みが逆になります。この場合、XYZ の代わりに ZYX を記述し、再生成を実行してください。小さなバグがあります:この段階では、重み0、タグXYZ のもう一つのLoRAを追加する必要があります。例えば、私はPaimonを選びました。重み0だからか、Paimonは満足していたかもしれません。この問題は修正されるかもしれず、されないかもしれません。拡張機能の作者が説明しているように、これには拡張機能のロジックの変更が必要です。

例:<lora:HuaqiangLora_futaallColortest:1:ZYX> <lora:paimonGenshinImpact_v10:1:XYZ>

逆転された選択肢のいずれかを気に入った場合、重み設定リストの下部を展開し、リスト内で対応する行(例:MIDD)を見つけ、メモ帳/Excel/Wordにコピーして、すべての1を任意の文字に、すべての0を1に、かつ以前に指定した文字を0に置き換えます。その後、その結果を直接プロンプトのZXYの部分に貼り付けます。あるいは、コメント欄に準備済みの重み値があります。Paimonをプロンプトから削除し、XYZパネルを無効化することを忘れずに。

このモデルで生成された画像

画像が見つかりません。