Stable Diffusion WebUI(AUTOMATIC 1111)個人的インストール最新メモ&環境設定などの覚え書き(2023年5月版)

インストールで迷走していたついでに、自分用に一度まとめておこうと思います。
なお、3月版→5月版に更新しました!
  • Windows 10である
  • グラフィックボードが「NVIDIA」である(GeForce GTX1660/8GB)
GTX1660あたりが動かせる下限あたりらしく、そうなると環境構築の手段が限られるらしい。このスペックでも動かせるのが、WebUI版とのこと。
くらつひわ
以上から、WebUI版でのローカル環境構築をチョイス
入れるのは「Stable Diffusion WebUI(AUTOMATIC 1111)」!
※なお、2023年3月12日にグラボ買い換えました

WebUI(AUTOMATIC 1111)選択

2023年5月時点で、ざっくり下記の2パターンの手段があります。
わけわからんままやったのでヒツジは両方のパターンを経験することになりました…
  1. オールインワン型のインストーラー
  2. Python/Git/CODA/WebUIと個別インストール

オールインワン型のインストーラー

  • 1クリックでいい
  • Pythonなど個別に入れる必要がないので初心者向け
  • 一度インストールすれば、フォルダごと移動やコピーで環境を動かせる

Python/Git/CODA/WebUI 個別インストール

  • 既にPythonやGitを導入済みならこちらか
  • ただし、WebUIを動かせるPythonのバージョンは3.11未満(3.10)
くらつひわ
今なら断然、オールインワン型のインストーラー
1フォルダ内でコンパクトに環境構築できるところもいい
(PythonやGitなども同フォルダ内にまとまってインストール)
※2023年3月時点
くらつひわ
…と思っていた時期がヒツジにもありました。
xformersのアップデート等の細かいメンテナンスや、参考できる記事の多さを考えると最近では個別インストールをお勧めしたい気持ち
※2023年5月時点
個別インストールについては、こちらの記事がわかりやすいのでお勧めです!

WebUI(AUTOMATIC 1111)インストール

ここからはあくまで自分の作業記録です。進め方は参照程度に…
なお、下記は「オールインワン型のインストーラー」を使用した記録です。

まずはこちらをGitHubからダウンロード。本家が用意されているインストーラ! 初稿時は「v1.0.0-pre」でしたが、記事更新時の最新版は「1.2.1」となります。
ややトラップというか、「1.2.1」のファイルだけではオールインワン型のインストーラーにはなりません。初めて導入される場合は 上記の2ファイルをダウンロードしてください。
なお、既にv1.0.0-preを導入済みであれば、run.batと同じ階層にある「update.bat」をダブルクリックで最新版にアップグレードされるかと思います。
くらつひわ
なので下記の、フォルダの中身を入れ替える方法よりも、実はv1.0.0-preだけダウンロードしてインストール後、update.batでアップグレードした方が分かりやすくて手っ取り早い説あるかも?(未検証)

インストーラーを使用 ※5/21更新

  1. インストールしたい場所で、v1.0.0-preの「sd.webui.zip」を展開
    ※ファイルパスに日本語を含まないよう、ドライブ直下などがお勧め。C:\やD:\など
  2. 中を開いて「webui」のフォルダ内にあるファイルは全て削除
    ※このままだと古いバージョンのwebUIがインストールされてしまうため
  3. 1.2.1の「stable-diffusion-webui-1.2.1.zip」を展開
  4. フォルダ「stable-diffusion-webui-1.2.1」の中身を全て先ほどの「webui」へ移動
  5. run.bat」をダブルクリックして実行(少し時間が掛かる)

モデルファイル(必須!)

インストール完了を待つ間にでも必要な追加ファイル等の準備を進めます。

モデルファイルの選択と使用はライセンスその他を確認の上、お好みのものを!
ざっくり大別すると「二次元・イラスト系」と「リアル・実写系」の2系統。

【モデル例】blue_pencil-v5b

ここではライセンス表記もわかりやすい「blue_pencil」さんをご紹介してみます。
  1. 下記から「blue_pencil-v5b.safetensors」ダウンロード
    https://huggingface.co/bluepen5805/blue_pencil/tree/main
  2. 「インストール先\webui\models\Stable-diffusion」内に入れる

モデルファイルは必須。ライセンスその他を確認の上、お好みのものを!

VAEファイル(お好みで)

鮮やかさ等を反映してくれる補助ファイル的なもの。モデルファイルによってはVAE自体も内包していたり、推奨VAEが掲載されていたりします(下記の画像参照)
お好みですが、入れた方が鮮やかで見映えがよくなることが多いです。利用モデルに推奨されているVAEがあれば導入、ぐらいでいいと思います。

【VAE例】vae-ft-mse-840000-ema-pruned

推奨設定で紹介されているVAE「vae-ft-mse-840000-ema-pruned」も導入。
  1. 下記から「vae-ft-mse-840000-ema-pruned.safetensors」ダウンロード
    vae-ft-mse-840000-ema-pruned.safetensors
  2. 「インストール先\webui\models\VAE」内に入れる

Negative Prompt(お好みで)

ネガティブプロンプト。生成時に避けたい要素を指定するもので、一般的によく指定されるワードを学習したファイル。モデルとの相性があるのでお好みでどうぞ。

【Negative Prompt例】EasyNegative

  1. 下記から「EasyNegative.safetensors」ダウンロード
    https://huggingface.co/embed/EasyNegative/tree/main
    ※2023/03/17 リンク先およびファイル名を修正
  2. 「インストール先\webui\embeddings」内に入れる

webui-user.batの編集

set COMMANDLINE_ARGS=」の後ろにオプションを追加していきます。
set COMMANDLINE_ARGS=--xformers

主なオプションの一例

半角ハイフンが2個続くのですが、記事投稿すると「-」1個だけに自動変換されてしまうため、それを避けるため下記はコード形式で表示しています

『--xformers』生成速度が3割ほど高速化し、使用RAMが減少

『--opt-channelslast』GTX16xxや20xx以上のグラボならお勧め

『--no-half-vae』黒画像が生成されるようなら入れる

『--disable-nan-check』黒画像生成時の警告処理をスキップ

『--share』パブリックURLを発行して外部からも接続可能にしたい時

『--port 20000』別のポート番号でアクセスしたい時(20000は他の数字でもOK)

『--reinstall-xformers』Xformerの更新が必要な時に使用

『--reinstall-torch』pytorchの更新が必要な時に使用

『--medvram』生成速度の低下と引き換えにVRAM使用率を下げる
(GTX16xxシリーズなら入れてみても)
くらつひわ
ちなみに5/21現在、うちの設定はこちら!(RTX 3060 使用)
set COMMANDLINE_ARGS=--xformers --disable-nan-check --opt-channelslast --no-half-vae

WebUI(AUTOMATIC 1111)起動!

くらつひわ
インストールが終わったらコンソール画面をいったん閉じ
改めてrun.batを起動!
(webui-user.batの方ではないので注意)

PythonやGitなどのパスは追加せず、空のままでOK!
その辺りは全て「environment.bat」が代行してくれる模様
※ちなみに「webui」と同階層の「system」にPython/Git等が入る

~前略~
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.
Startup time: ~後略~
くらつひわ
上記のようなメッセージが出たら記載のローカルアドレス http://127.0.0.1:7860
にアクセス!(デフォルトのポート番号が7860)
※7860が使用中の場合、自動的に7861など別の番号が振られます
くらつひわ
こんな画面が出たら成功です、おめでとうありがとう!

WebUI(AUTOMATIC 1111)の設定

この辺りのカスタマイズは人によるので、お好みでどうぞ。ヒツジ式はこんな感じ。
※わかりやすいよう、日本語化する前と後の名称を併記

設定(setting)タブ

  • ファイル名のパターン(Images filename pattern)
    [model_name]-[seed]-[sampler]
    ※完全に好み。「ファイル名のパターン」カーソルONで利用可能なタグが表示
  • Stable Diffusion
    Clip skip「2
    ※アニメ系モデルを使用する場合は「2」、写真系は「1」か「2」お好みで
  • UI設定(User interface)>クイック設定(Quicksettings list)
    【変更前】sd_model_checkpoint
    【変更後】sd_model_checkpoint,sd_vae,CLIP_stop_at_last_layers
    ※こうすると「VAE」の切替や「Clip skip」の数値設定が楽になる

UI日本語化/バイリンガル化

記事の初回公開時はさくっと日本語化する方法を記述しましたが、英語UIのままで説明されているケースも多く、完全な日本語化もやや不便を感じることがあります。
その中で何と「バイリンガル対応」してくれる拡張機能が! 以下、お好みでどうぞ。
いずれもインストール&適用方法はファイルDL先で記述されています。
  1. stable-diffusion-webui-localization-ja_JPファイルDL先
    翻訳済みの箇所を日本語に置き換えるタイプ。有志による翻訳が随時進行中。
  2. sd-webui-bilingual-localizationファイルDL先
    英語と指定言語(日本語もあり!)のバイリンガル表示。日本語版の説明あり。
    英語UIのままで機能などの説明がされてるケースも多いので、併記されている方がわかりやすいというメリットがある。(ヒツジはこちらに切り替えました)
バイリンガル対応させた場合のUI(CSS少し改造)
くらつひわ
上記は同時に使えないので(両方を有効にすると置換が優先)
1から2の手段に切り替える場合、
忘れずにUI設定のLocalizationを「None」に戻しておく!

拡張機能(Extension)タブ

  • ControlNet(個人的に必須レベル)
    1. 拡張機能>URLからインストール>拡張機能のリポジトリのURL
      https://github.com/Mikubill/sd-webui-controlnet
    2. ControlNetのモデルデータDL
      ※control_canny-fp16、control_openpose-fp16などお好みで
      https://huggingface.co/webui/ControlNet-modules-safetensors/tree/main
      「インストール先\webui\extensions\sd-webui-controlnet」内に入れる
    3. 設定(setting)タブ>ControlNet>Multi ControlNet「2
      ※必須ではない。個人的には設定しておくと便利。
  • OpenPose Editor(OpenPoseに必要な画像を手軽に作成)
    拡張機能>拡張機能リスト>読込で一覧が出るので、右のInstallをクリック
  • a1111-sd-webui-tagcomplete(タグの変換予測ができる)
    拡張機能>URLからインストール>拡張機能のリポジトリのURL
    https://github.com/DominikDoom/a1111-sd-webui-tagcomplete
くらつひわ
以下はここ最近で追加したものですが、多いので詳細は割愛!
「厳選!オススメ拡張機能」的な記事を近々用意予定。
紹介したいのがたくさんある…!

「新しい拡張機能が話題になってるけど拡張機能リストに出てこない!」
いったん終了させ、webUIのアップデート(update.bat)を試してからリトライ
URLからインストール」を試してみる

ゴール!好きなだけ試してみよう!

Chromeをダークモードで使用してたら、この画面もダークモードになるそうです
くらつひわ
なお、いったんインストール完了した後は
sd.webui」フォルダごとディレクトリ移動しても問題なく稼働!
(PythonやGitも同梱状態&environment.batが相対パスで管理のため)
やったね、お疲れさまでした~!

とりあえず入れてみる呪文

さぁ、好きに呪文(プロンプト)を唱えろ!と言われても…と思うので一例。
プロンプト(Prompt)
1girl, best quality, super fine illustration, delicate and beautiful face and hairs
※下記はEasyNegative導入の場合
ネガティブプロンプト(Negative Prompt)
EasyNegative
サンプラー(Sampler)はお好みで…人気があるのは「DPM++ 2M Karras」あたり。
個人的には「DPM++ SDE Karras」「DDIM」も好きです。モデルファイルのDLページでお勧めの設定が記載されてることが多いので、参考にしてみてください。
anything-v4.5-pruned-fp16&vae/DPM++ 2M Karras
呪文生成に便利なサイトもあるのでご紹介。活用して自分の最適呪文を模索してください。追記】チャットAIに呪文作りを手伝ってもらう記事を書きました

おまけ:webUI アップデートの仕方

くらつひわ
今回のオールインワン型のインストーラーはとても便利で
run.batと同階層にある「update.bat」実行でOK!
アップデート項目があればそのままアップデートが適用され、
特に無ければ「Already up to date.」が表示されるだけ
よかったらシェアお願いします!