学習ファイルの使い方

Last-modified: 2023-10-30 (月) 17:45:28

ここでは、学習データの使い方を解説します。

学習ファイルを置く場所

学習ファイルを入手した場合はここに保存しましょう。

種類場所学習ファイル名の例サムネ画像の命名規則備考
TI\embeddingshogehoge.pthogehoge.preview.png
HN\models\hypernetworkshogehoge.pthogehoge.png
DB\models
LoRA\models\Lorahogehoge.safetensorshogehoge.png
LyCORIS\models\LyCORIShogehoge.safetensors

公式wikiにも説明があります。
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features#extra-networks

Textual Inversionファイル

階層見本

stable-diffusion-webui
 ┗embeddings   この中に使用したい学習データを保管します。

Textual Inverisonで使用可能なデータは「.pt」や「.bin」の拡張子です。

Hyper Networkファイル

階層見本

stable-diffusion-webui
 ┗models   
   ┗hypernetworks  この中に使用したい学習データを保管します。

Hyper Networkで使用可能なデータは「.pt」の拡張子です。

Dream Boothファイル

階層見本

stable-diffusion-webui
 ┗models   
   ┗Stable-diffusion  この中に使用したい学習データを保管します。

Dream Boothで使用可能なデータは「.ckpt」の拡張子です。それを上記のフォルダーに配置します。
左上「Stable Diffusion checkpoint」を更新し、入れた学習データを選択します。

LoRA ファイル

階層見本

stable-diffusion-webui
 ┗models   
   ┗lora  この中に使用したい学習データを保管します。

LoRAで使用可能なデータは「.safetensors」「.ckpt」の拡張子です。

LyCORIS ファイル

 LoRAを含む、LyCORIS系学習ファイル(LoHaやDyLoRA)を読み込めます。

階層見本
→LoRAファイルと同じです。

学習データの使用方法

プロンプト欄に各学習ファイルを入力することで適用できます。
入力方法は下記の通りです。

🎴ボタンから対象ファイルを選択する方法

1.t2i、i2iタブを開き、 Generate ボタンの下にある🎴ボタン(Show extra networks)を開きます。

2023y02m19d_185059140.jpg

もしも Generate ボタンの下に🎴ボタンが見当たらなかったら、かなり古いバージョンの1111を使っているということです。
1111を更新するか、あるいは新規ディレクトリにgit cloneしましょう。
誘導→ローカル版更新

 

2.TI/HN/DB/LoRAのタブが表示され、各フォルダに入っている学習データの一覧が表示されます。

2023y02m19d_192854467.jpg

上の画像ではサムネイルは設定してありませんが、それぞれの学習データでどのような画像が生成できるかをサムネイル登録しておくと便利です。

 

3.使用したい学習データをクリックすると、プロンプト欄に下記のようなワードが代入されます。

<lora:hogehoge>

注意:bad_artistなど「質の悪いデータを敢えて学習させ、ネガティブプロンプトに組み込むことで、『こうなってはいけない』とAIに指示するためのTI」は、ネガティブプロンプトの欄をクリックしてカーソルを合わせた上でTIを選択してください。そのまま選択すると通常のプロンプトに入力されてしまいます。

 

以上で、画像生成に学習データを使用する準備が完了です。

プロンプト名を直接指定する方法

学習ファイル名と、必要に応じて倍率(プロンプトの強度)を指定します。
ここでは、「hogehoge」という学習ファイルを使用した一例です。

Textual Inversionファイル

普通のpromptと同じように使用します。

hogehoge
(hogehoge:0.8)
強度0.8倍のこと。Textual Invesionの場合は通常のプロンプトと倍率の指定方法が同じです。

Hyper Networkファイル

<hypernet:hogehoge>
<hypernet:hogehoge:0.8>

 "( )"ではなく"<>"であることに注意!

Dream Boothファイル

出力画像が暗いと感じる場合はvaeファイルをコピー・リネームし、同時に読み込みましょう。

  • 「(.ckpt前と同名).vae.pt」を設置
    • 「DB.ckpt」の場合はvaeファイルを「DB.vae.pt」にリネーム

LoRA ファイル

LoRA(LyCORIS含む)の適用例です。

 <lora:hogehoge>
 <lora:hogehoge:0.8:0.8>
 <lora:ファイル名:text endcoder層倍率:U-net層倍率>
  • 識別子を使用する場合、プロンプトに識別子を記述することを忘れないようにしましょう。
    • 例:キャラクターを「shs」、クラスを「1girl」として学習させたLoRAファイル「lora_chara1.safetensors」の場合、「 <lora:lora_chara1:1> shs」というように記述します。
      識別子の有無や使用する文字は学習データごとに異なるので、必要に応じて適用してください。
  • 各倍率の意味は説明するよりも、生成してみたほうがわかりやすいと思います。
    各倍率の意味について

    ざっくりイメージで、
    text endcoder層倍率:1にすると学習時のプロンプト(髪型・ポーズ等)も学習データに準拠したものになる。
    U-net層倍率:1にすると画風や絵柄が学習データに準拠したものになる。

DyLoRAを使用する場合は、次元数(Dim)を追記します。

 <lora:hogehoge:0.8:0.8:32>

こんな感じで良かったかな?
以前はこれで動いていましたが、
筆者はしばらく使っていないので、最新Ver.での検証はしていません。

LoRA Block Weight

LoRAの学習層別により細かく適用率を指定できます。
用途例は、髪型やポーズだけを微調整する、等です。
対象学習ファイルはLoRA(LyCORIS含む)です。

拡張機能LoRA Block Weight(略してlbw)のインストールが必要です。
インストール後は、txt2imgタブの下方に表示されます。
プロンプト欄とこのLoRA Block Weight項目の2つで、LoRAの効きを制御します。

LoRA_Block_Weightの場所.png

プロンプト指定例

<lora:hogehoge:1:lbw=〇〇>
<lora:hogehoge:1:1:lbw=◯◯>
<lora:ファイル名:text endcoder層倍率:U-net層倍率:lbw=〇〇>

基本ルールは、公式サイトをご確認ください。
LoRA Block WeightのGitHubページ参照。

lbw=〇〇部分には、
別途設定したWeights setting名(ALL,MIDD等)、
または、レイヤー別に適用倍率を指定する(1,1,1,中略,1,1,1といった複数桁の数字)。

例えば、

lbw=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
※層別倍率1を26層に適用

または、

lbw=ALL
preset欄にALL:1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
※ALLは任意の名前に変更可能。

何桁の数字を代入するかは、使用する学習データによって異なります。Ver.によって変わるので調べてください。
下記一例。

  • LoRA(LyCORIS以外):26桁*1
  • LyCORIS:26桁
  • SDXL:上記2つとは違います。要調査。

preset欄の編集例はこんな感じです。

LoRA_Block_Weight_2_編集画面.png

Settingsタブでデフォルト設定にする。

常に使う学習ファイルはデフォルト設定にしておくことで、プロンプト指定を省略できます。
特定の学習ファイルしか使わない場合に便利です。

1.「Settings」タブ → 「Extra Networks」タブを選択
2.下記に使用したい学習ファイルを指定します。

  • Add hypernetwork to prompt
  • Add LyCORIS to prompt
  • Add Lora to prompt
    ・選択できるファイル一覧はweb-ui起動時の情報です。
    起動後にファイルを追加した場合は、隣接する更新ボタンを押しましょう。

    ・ネガティブプロンプトには指定できません。

3.Multiplier for extra networksで、適用倍率を指定する。

4.ページ上部の「Apply settings」ボタンを押して、設定を適用する。
5.この状態でtxt2img,img2imgで画像生成を実行すると、
  settingsタブで指定した学習ファイルが、自動で付与されます。

上記はweb-ui Ver.1.3.0の場合の設定です。Ver.によって表記が変わります。

よくある質問

よくある質問

・LoRAの効果が全く出ない
・キャラLoRAやポーズLoRAなのに画風がめっちゃ影響を受けちゃう
・🎴これクソデカくない?
・🎴のサムネ画像ってどうやって変えるの?
・LoRAの数が沢山あって管理がしんどいっす
・LoRAが適用されない、適用するとエラーが出る

誘導→よくある質問#LoRA(画像生成編)

web-uiのLoRA一覧にデータがない
(または、LoRAファイル名とWebUI表示名が一致しない)

学習ファイルの別名(エイリアス)で読み込まれている可能性があります。

対策:
web-uiの「settings」タブ→「Extra Networks」項にある
「When adding to prompt, refer to Lora by」の選択肢において
「Alias from file」→「Filename」に変更してください。

※web-uiのVer.によって設定方法が異なる場合があります。

メモ

LyCORIS用拡張機能は、web-UI更新によって統合された。

旧Ver.のweb-UIから、新Ver.に切り替えた人向けの参考情報です。
そこまで重要な情報でもないので、記憶で書いています。

プロンプトの記入方法が変わった結果、LoRAが効かないと戸惑っている人が結構いらっしゃる様子。

  • 2023年春(記憶だとweb-UI 1.3.0よりは前)は、LyCORIS(一部のLoCon,LoHa,LoKr,一部のDyLoRA)を使用するには、a1111-sd-webui-lycorisが必要だった。
  • その後、記憶だと5,6月頃に、<lora:XXX:X>コマンドで一部のLoCon、LoHa、LoKrが使えるようになった。
    しかし、依然としてDyLoRAには対応できていない、または情報が不十分だったため、
    a1111-sd-webui-lycorisが完全に不要、とまでは言い切れなかった。
  • Ver.1.5.0以降からは、a1111-sd-webui-lycoris,a1111-sd-webui-loconの機能は
    extensions-builtinのLoraに統合され、デフォルトでLoRA(LoRA,LoCon,LoHa他全て)を扱えるようになった。
    参照:PR11821

1.5.0

具体的には、

  • <lyco:XXX>プロンプトa1111-sd-webui-lycoris拡張機能なしで動作する。
    a1111-sd-webui-lycorisはいらない。
  • 今後の使い方としては、<lora:XXX>プロンプト一本で、各LoRAを扱おう。
  • txt2img内の「LyCORIS」タブ廃止。
    「LoRA」タブで、「LoRA」「LyCORIS」フォルダ内を参照するようになった。

コメント

  • Settings⇒中央下「Stable Diffusion」の中に「Hypernetwork」がないのですがどうしたらよいでしょうか -- o? 2023-01-23 (月) 05:16:48
  • 自己解決、旧WEBUIのハッシュDate: Sat Dec 100a81dd5225e76b76b63c5b6c2e622b84c38f3230 -- o? 2023-01-23 (月) 11:07:10
  • AttributeError: 'Options' object has no attribute 'lora_apply_to_outputs'が出てきて生成に失敗する。環境が壊れているのだろうか・・・ -- 2023-03-27 (月) 23:11:59
  • LoRAのプロンプト記入方法について、Ver.1.5.1に基づくルールを本文に記載しました。ただ、あまり自信が無いです。間違いがあったら修正をお願いします。 -- 2023-08-05 (土) 14:08:13
  • LoRA Block Weightをインストールしても表示されない -- 2023-09-09 (土) 12:22:08
  • 🎴ボタンがないのですが、その場合どうしたらいいんだろう。 -- 2023-09-24 (日) 19:12:05
  • 最新版にしてもGenerateの下に矢印とゴミ箱しかないんだけどなんで? -- 2023-10-30 (月) 17:08:01
  • ここ読んでね。過去の出来事02#sf6cbb9fの「メジャー」項。 -- 2023-10-30 (月) 17:37:40

(Tips)


*1 以前は17桁で良かったが、最近は26桁に変更された模様。