日本語の文章は下のほうにあります。
Change History is moved to the bottom of the page. 更新履歴はページ末尾に移しました。
Stable Diffusion web UI now seems to support LoRA trained by sd-scripts
Thank you for great work!!!
This extension is for AUTOMATIC1111's Stable Diffusion web UI, allows the Web UI to add some networks (e.g. LoRA) to the original Stable Diffusion model to generate images. Currently LoRA is supported. The addition is on-the-fly, the merging is not required.
This extension supports the LoRA models (.ckpt or .safetensors) trained by our scripts in sd-scripts. The models from other LoRA implementations are not supported.
This extension does not support training.
Other networks other than LoRA may be supported in the future.
Put the LoRA models (*.pt
, *.ckpt
or *.safetensors
) inside the sd-webui-additional-networks/models/LoRA
folder.
Open "Additional Networks" panel from the left bottom of Web UI.
Press "Refresh models" to update the models list.
Select "LoRA" for "Network module 1".
Choose the name of the LoRA model file in "Model 1".
Set the weight of the model (negative weight might be working but unexpected.)
Repeat them for the module/model/weight 2 to 5 if you have other models. Models are applied in the order of 1 to 5.
You can generate images with the model with these additional networks.
If you use LoRA models to plot, put the comma separated list of the model names into AddNet Model X
You can get the list of models with the button next to Values
. Please select any model in Model ?
at Additional Networks
in order to make the button work. Models in the same folder as the model will be listed.
The metadata of the model can be drawn as legends. Move to Settings
tab, select Additional Networks
at left bottom, and set Metadata to show
. Available values are in Network metadata
textbox in Additional Networks
tab.
Open Extra args
and drop a mask image to mask image
.
By specifying with the mask image, each LoRA model can be applied only to the specified region of the image. Currently, only three models (Models 1 to 3) can be masked.
The mask image is RGB image, with each channel (R, G and B) corresponding to LoRA models 1 to 3. Each channel can be overlapped. For example, yellow area (R and G) is applied to LoRA model 1 and 2. The range of values is 0 to 255, corresponding to a LoRA weight of 0 to 1.
It can be combined with ControlNet.
without ControlNet | with ControlNet | |
---|---|---|
no LoRA | ||
with LoRA, no mask | ||
with Lora, with mask | ||
pose | mask | |
Sample images are generated with wd-1-5-beta2-aesthetic-fp16.safetensors and three LoRAs: two character LoRAs (model 1 and 2, masked, weight=1.0) and one style LoRA (model 4, not masked, weight=0.8). Used ControlNet is diff_control_wd15beta2_pose.safetensors.
'Latent Couple extension' masks the output of U-Net for each sub-prompt (AND-separated prompts), while our implementation masks the output of LoRA at each layer of U-Net. The mask is resized according to the tensor shape of each layer, so the resolution is particularly coarse at the deeper layers.
'Composable LoRA' controls the area via 'Latent Couple extension' by switching LoRA on or off for each sub-prompt, but this implementation works alone.
This implementation does not work for all modules in LoRA (the modules associated with Text Encoder are not masked), and due to the coarse resolution, it is not possible to completely separate areas.
LoRA などのネットワークを元の Stable Diffusion に追加し、画像生成を行うための拡張です。現在は LoRA のみ対応しています。
この拡張で使えるのはsd-scriptsリポジトリで学習した LoRA のモデル(*.ckpt または *.safetensors)です。他の LoRA リポジトリで学習したモデルは対応していません。
この拡張単体では学習はできません。
将来的に LoRA 以外のネットワークについてもサポートするかもしれません。
学習した LoRA のモデル(*.pt
, *.ckpt
, *.safetensors
)をsd-webui-additional-networks/models/LoRA
に置きます。
Web UI の左下のほうの "Additional Networks" のパネルを開きます。
"Network module 1" で "LoRA" を選択してください。
"Refresh models" で LoRA モデルのリストを更新します。
"Model 1" に学習した LoRA のモデル名を選択します。
"Weight" にこのモデルの 重み を指定します(負の値も指定できますがどんな効果があるかは未知数です)。
追加のモデルがある場合は 2~5 に指定してください。モデルは 1~5 の順番で適用されます。
以上を指定すると、それぞれのモデルが適用された状態で画像生成されます。
LoRAモデルをX/Y plotの値(選択対象)として使う場合は、カンマ区切りのモデルのリストを与える必要があります。
モデルのリストは選択肢の隣にあるボタンで取得できます。いずれかのモデルを Additional Networks
の Model ?
で選択しておいてください。そのモデルと同じフォルダにあるモデルの一覧が取得されます。
モデルのメタデータ(学習時のパラメータなど)をX/Y plotのラベルに使用できます。Web UI上部の Settings
タブを開き、左下から Additional Networks
を選び、 Metadata to show
にカンマ区切りで項目名を指定してください(ss_learning_rate, ss_num_epochs
のような感じになります)。使える値は Additional Networks
の Network metadata
欄にある値です。
適用する領域をマスク画像で指定することで、それぞれの LoRA モデルを画像の指定した部分にのみ適用することができます。現在はモデル1~3の3つのみ領域指定可能です。
マスク画像はカラーの画像で、RGBの各チャネルが LoRA モデル1から3に対応します。RGBの各チャネルは重ねることが可能です。たとえば黄色(RとGチャネル)の領域は、モデル1と2が有効になります。ピクセル値0から255がLoRAの適用率0から1に対応します(127なら重み0.5で適用するのと同じになります)。
マスク画像は生成画像サイズにリサイズされて適用されます。
ControlNetと組み合わせることも可能です(細かい位置指定にはControlNetとの組み合わせを推奨します)。
上のサンプルをご参照ください。
Latent Couple extension はサブプロンプト(ANDで区切られたプロンプト)ごとに、U-Net の出力をマスクしますが、当実装では U-Net の各層で LoRA の出力をマスクします。マスクは各層のテンソル形状に応じてリサイズされるため、深い層では特に解像度が粗くなります。
Composable LoRA はサブプロンプトごとに LoRA の適用有無を切り替えることで Latent Couple extension を経由して影響範囲を制御しますが、当実装では単独で動作します。
当実装はすべての LoRA モジュールに作用するわけではなく(Text Encoder に関連する LoRA モジュールはマスクされません)、また解像度が粗いため、完全に領域を分離することはできません。
23 May 2023, 2023/5/23
Weight
slider is not applied correctly.Weight
のスライダーの値が正しく反映されない場合がある不具合への対応を行いました。8 May 2023, 2023/5/8
Additional Networks
tab.None
cannot be selected as a model in X/Y/Z plot.Additional Networks
タブでモデルが正しく読み込まれない不具合を修正しました。None
が選択できない不具合を修正しました。3 May 2023, 2023/5/3
6 Apr. 2023, 2023/4/6
Hires. fix
does not work with mask.30 Mar. 2023, 2023/3/30
Save Metadata
button in the metadata editor does not work even if Editing Enabled
is checked.Save Metadata
ボタンが Editing Enabled
をチェックしても有効にならない不具合を修正しました。28 Mar. 2023, 2023/3/28
11 Mar. 2023, 2023/3/11
Extra paths to scan for LoRA models
settings are ignored. Thanks to tsukimiya!Extra paths to scan for LoRA models
の各ディレクトリ名の先頭スペースを無視するよう変更しました。tsukimiya氏に感謝します。9 Mar. 2023, 2023/3/9: Release v0.5.1
bf16
causes an error. https://github.com/kohya-ss/sd-webui-additional-networks/issues/127bf16
で学習されたモデルが読み込めない不具合を修正しました。 https://github.com/kohya-ss/sd-webui-additional-networks/issues/1278 Mar. 2023, 2023/3/8: Release v0.5.0
Please read Releases for recent updates. 最近の更新情報は Release をご覧ください。