こんにちは!悠です!
2023年5月14日に「Stable Diffusion WebUI」のバージョンが1.2.1に更新されたことで、下の記事で紹介していたローカル環境への導入方法が多少変わりました。


より簡単にインストールできるようになりましたよ!
そこで今回は、ローカル環境にv1.2.1以降の「Stable Diffusion WebUI」を導入する方法に関してまとめていきます。
「Stable Diffusion WebUI」の導入方法(v1.2.1以降)
それでは早速、ローカル環境に「Stable Diffusion WebUI」を導入する方法について、順番に詳しく紹介していきます。
GPUの要件を確認
ローカル環境に「Stable Diffusion WebUI」を導入するには、Nvidia製のGPU(GTX~、RTX~)が必要です。
AMD製のGPUでも起動はできるようですが、バグが生じたり、パフォーマンスが落ちたりするようなので、基本的には推奨されていません。
また、各GPUに備わっているVRAMの量も重要になってきます。
WebUIを快適に使うための目安は、VRAM12GB以上(RTX3060以上)といわれています。
しかし現状は様々な最適化が施されており、VRAM4GB以上のGPUなら一応動作します。

とはいえ4GBは本当にギリです。私は1660Ti(VRAM6GB)で利用していますが、これでもかなりストレスを感じます。重めの拡張機能は8GB以上ではないと動かなかったりします。
自分のPCについているGPUのVRAMの確認方法は、タスクマネージャーのパフォーマンスの欄をチェックするだけでOKです。
Intel UHD Graphicsではなく、Nvidia Geforceの方なので注意してください。
Python 3.10.6のインストール
下記リンク先より、Python 3.10.6をPCにインストールします。
Python3.10なら動作はすると思いますが、WebUIで推奨されているバージョンは3.10.6です。
拡張機能の中には、3.10.6ピッタリじゃないと動作しないものもあるので注意してください。

「Windows installer (64bit)」をダウンロードして起動し、指示に従ってインストールします。
なお、必ずAdd Python 3.10 to PATHにチェックを入れるようにしましょう。
これを忘れるとシステムの環境設定から自分でPATHを通す必要が出てきます。
Gitのインストール
下記リンク先よりStandalone版のGitをダウンロードします。
インストーラーをダブルクリックして起動し、指示に従ってインストールしましょう。
いろいろ設定を聞かれますが、特に変更せず次へを押していって大丈夫です。
モデルデータ(checkpoint)の入手
WebUIをインストールする際、事前に何か1つモデルデータを配置しておく必要があります。
特に用意せずにインストールしても、sd1.5(基本モデル)が自動ダウンロードされるため不具合はありませんが、ぶっちゃけこれを使うことはないので事前に入手しておきましょう。
おすすめのモデルデータに関しては、下の記事でまとめていますので参考にしてください。

CivitaiもしくはHugging Faceで入手できます。
WebUIの導入
まず、PC内の任意の場所にフォルダを新規作成します。
この際フォルダ名に日本語や特殊記号、半角スペースを含めるとバグの原因になるので気をつけてください。
今回私は、デスクトップ上に「sd_test」というフォルダを作成しました。
コマンドプロンプトを開き、cdコマンドで作成したフォルダ内にカレントディレクトリを移動します。
cd C:\Users\name\Desktop\sd_test
下記のコマンドを入力します。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
実行すると、WebUIを起動するのに必要なファイルやフォルダが自動的にダウンロードされます。
上の項でダウンロードしたモデルデータを「~\sd_test\stable-diffusion-webui\models\Stable-diffusion」の中に配置してください。
次に「webui-user.bat」をメモ帳にドラッグアンドドロップします。
set COMMANDLINE_ARGS=の中に下記の要領でオプションを入力してください。
オプションは使用しているGPUによって異なります。

GTX1660Ti向けオプション
【ハイスペックGPU(VRAM12GB以上)】
--autolaunch --xformers
【RTX30X0、RTX40X0の場合】
--autolaunch --opt-sdp-attention
RTX30X0、RTX40X0では、xformersよりもopt-sdp-attentionの方が高速化できるといわれています。
両方試して、生成速度が速い方を採用してください。以下参考記事です。

【ロースペックGPU(GTX10xxなど)】
--autolaunch --medvram --xformers
【GTX16xx専用】
--autolaunch --precision full --no-half --medvram --xformers
【VRAM4GBの超ロースペックGPU】
--autolaunch --lowvram --xformers
【コマンドの内容】
- autolaunch:起動時にシステムのデフォルトブラウザで自動的にWebUIを開く。
- precision full:GTX16xxユーザー向け。起動時に画面が真っ黒になるのを防ぐ。
- no half:GTX16xxユーザー向け。起動時に画面が真っ黒になるのを防ぐ。
- medvram:生成速度を犠牲にVRAM消費量を節約する。
- lowvram:medvramよりさらに生成速度を犠牲にしてVRAM消費量を大幅に節約する。
- xformers:AIイラストの生成速度を高速化する。
RTX30xxやRTX40xxの方は、xformersの代わりにopt-sdp-attentionを入力するのもありです。詳しくは下の記事で紹介しています。

その他のオプションに興味がある方は、下記の公式ガイドを参考にしてください。
オプションを入力したらメモ帳を保存して閉じ、webui-user.batをダブルクリックして起動してください。
初回起動時のみ時間がかかりますが、これで無事ブラウザ内にWebUIが起動します。
RuntimeError: Cannot add middleware after an application has started
「RuntimeError: Cannot add middleware after an application has started」というエラーが表示されて、WebUIが起動できない時には次のコマンドを試してみてください。
まずコマンドプロンプトを開き、cdコマンドで「~stable-diffusion-webui\venv\Scripts」に移動します(前半のパスは各環境によって異なります)。
cd C:\Users\name\Desktop\sd_test\stable-diffusion-webui\venv\Scripts
次にactivateと入力します。
activate
(venv)という表記が出るはずなので、下記のコマンドを入力します。
pip install fastapi==0.90.1
インストールが終わったら、deactivateコマンドで(venv)を抜けます。
deactivate
これでWebUIが起動できるようになるはずです。
Pytorchを再インストールする
普通に導入できた方は、この項目は読まなくてOKです。
複数回インストールを繰り返したり、古いバージョンから最新版にgit pullした場合、Pytorchのバージョンの関係でエラーが出てWebUIが起動できない場合があります。
その際は、webui-user.batのset COMMANDLINE_ARGS=の中に下記のオプションを入力してください。
--reinstall-torch
これを入力してwebui-user.batを起動すると、適切なバージョンのtorchが自動的に再インストールされますよ!
GPUはAIイラストの質に影響しない
使用するGPUによって、生成されるAIイラストの質が左右されることはありません。
RTX4090でもGTX1660Tiでも同じイラストを生成できます。
GPU性能が関係しているのは、あくまで画像の生成速度だけです。とはいってもこれが大きいんですけどね。上の2つの例なら10倍以上違うと思います。
ただGPUの世代が変わると、全く同じ条件(seed値、サンプラー、ステップ数など)でも生成される画像が異なることが知られています。
そのためRTX4090ユーザーが生成した画像を入手してpnginfoに入れ、そのパラメータを使ったとしてもGTX1660Tiでは同じ画像を再現できないということです。

RTX30xxとRTX40xxは共通と聞いたことがあります!
ローカル版WebUIをアップデート・ダウングレードする方法
「Stable Diffusion WebUI」は、各バージョン管理にコミットという通し番号を使用しています。
拡張機能によっては特定のコミットではないと動かないこともあるので、一度導入したWebUIを最新バージョンのコミットにアップデートしたり、逆に任意のコミットにダウングレードする方法について下の記事でまとめています。

xformersをアップデートして画像の生成速度を高速化する方法
WebUIに最初から導入されているxformersを最新バージョンにアップデートして、AIイラストの生成速度を高速化する方法に関して下の記事でまとめています。

モデルやLoRAにサムネイル画像を付けて整理する方法
WebUIに導入したモデルデータやLoRAにサムネイル画像を付けて整理する方法に関して、下の記事でまとめています。

拡張機能「Civitai Helper」を導入すれば、1クリックでできるようになります。(Hugging FaceからDLしたものには適用されません)

v1.3.0で追加された各Optimizationsの比較
「Stable Diffusion WebUI」のv1.3.0で新しく追加された、SettingsタブのOptimizations項目で設定できる高速化手法の効果について、下の記事で簡単に比較してみました。

v1.4.0で追加された新機能の紹介
「Stable Diffusion WebUI」のv1.4.0で新しく追加された、inpaintキャンバスエリアの拡大(縮小)機能などの使い方に関して下の記事で紹介しています。

v1.5.0で追加された新機能の紹介
「Stable Diffusion WebUI」のv1.5.0で新しく追加された機能の使い方に関して、下の記事で紹介しています。

v1.6.0で追加された新機能の紹介
「Stable Diffusion WebUI」のv1.6.0で新しく追加された機能の使い方に関して、下の記事で紹介しています。

まとめ
以上が、「Stable Diffusion WebUI」のバージョン1.2.1をローカル環境へ導入する方法の紹介でした。
コマンド1発でダウンロードできるようになって、更に導入の敷居が下がりましたね!
では、ここまで読んでいただきありがとうございました。
コメント
いいグラボを買いましてこのページを参考にローカル環境を構築しました。Colab利用時からお世話になっております。
初回起動時は問題なく起動し生成できました。Loraを追加したくて一度閉じLoraフォルダに追加後batファイルを実行しましたが、コマンド実行直後「Model loaded in ~」というところで止まってしまいます。エラー文は表示されていません。
この場合の解決策と、SD起動中にLoraを追加したい場合再起動しかないのか教えていただきたいです。
さきほどModel loaded in~で止まるというコメントをした者です。勘違いしておりました。すでに終了していてURLコピペで開けるとわかりました。失礼しました。
ただ、初回は自動でSDが開いたのですが、2回目以降はURLコピペが必要なのでしょうか
コメントありがとうございます!
SD起動中にLoRAを追加するには、「~\webui\models\Lora」フォルダ内にLoRAのsafetensorsファイルを追加した後、花札マークをクリックして表示されるRefreshボタンを押すだけです!
これで起動中でも反映されますよ!
また、2回目以降もwebui-user.batをクリックするだけでwebuiが自動的に起動します。
webuiを終了する際、コマンドプロンプトも×ボタンで閉じていますか?
ブラウザのページだけを閉じても、WebUIは終了していません。
返信ありがとうございます。Refreshボタンは知りませんでした。
コマンドプロンプトも閉じてるんですが、やはり自動では起動せずURLコピペが必要です。少し手間です。
webui-user.batのcommandline agesに–autolaunchを入れていますでしょうか?
上の記事内でも紹介しているオプションなんですが、これがないと自動的に起動しないと思います!
入れたはずなんですが。。。初回は自動で起動して2回目からダメというのが謎です。とりあえずこのまま使おうと思います。ありがとうございました。
GPUを3060 12GBから4070Tiに変えたので新規インストールで作り直したのですが
3060の時はxformersがアップデート出来なくて0.0.17のままだったのに
4070にしたらやり方が全く一緒なのに今回は0.0.18どころか0.0.20まですんなりアップデート出来たから
30XXと40XX世代でも微妙に超えられない壁が有るようですね
こんにちは!
4070Tiは3060の2倍以上生成速度が速いそうですね!
今後いろいろな部分が4000番台向けに最適化されていくのでしょうね~。3060がaiイラスト入門におすすめという今の風潮も変わっていくのかもしれませんね。
ていうかxformers0.0.20が3日前に出ていたとはw
私も帰ったらアプデしてみます!
しかし、私の1660tiの10倍以上速そうです( ‘ω’)( ‘ω’)
こんにちは、以前はColabの件でお世話になりました。
この度ローカル環境で動かそうと思い、PCを新調致しました。
4070tiであればWebUI導入時のオプションは
–autolaunch –xformers こちらでよいでしょうか?
何分PCに疎いもので、お手数ですがご教授いただければ幸いです。
コメントありがとうございます!
はい!それで問題ないと思います!
ただRTX30X0、RTX40X0の場合は、下の記事で紹介している–opt-sdp-attentionも試してみてほしいです。xformersより高速化できるといわれています。
https://yuuyuublog.org/opt-sdp-attention/
–autolaunch –xformers
–autolaunch –opt-sdp-attention
の2つを試して、早い方を採用してみて下さい!–autolaunch –opt-sdp-attention –xformersのように併用はできないので注意してください!
version: v1.3.2 torch: 2.0.1+cu118環境(opt-sdp-attentionでバッチサイズ4で生成させると
NansExceptionになるのでxformersとも–no-half-vae適用済み)で
512*768をHires.fixで2倍でバッチ回数1、バッチサイズ2で生成させると平均で
opt-sdp-attentionが
Time taken:1m 40.9s Torch active/reserved: 11210/15128 MiB
に対して
xformersは
Time taken:1m 31.59s Torch active/reserved: 8535/13760 MiB
とメモリ食う分opt-sdp-attentionの方が遅いくらい
バッチサイズ4で生成させると
opt-sdp-attentionが
Time taken:4m 50.48s Torch active/reserved: 20185/23338 MiB
に対して
xformersは
Time taken:4m 5.88s Torch active/reserved: 14790/18522 MiB
と更に差が開く始末
xformersより高速化できるとは一体…?
Hires.fix無しでならバッチサイズ4で
opt-sdp-attentionが
Time taken:18.88s Torch active/reserved: 3796/5420 MiB
xformersは
Time taken:19.12s Torch active/reserved: 3647/5275 MiB
と若干ながらopt-sdp-attentionが速いけれどうたい文句ほどではない
誤差レベルなのでどちらでも良いかもしれないけど
Hires.fix2倍で比較した限りではopt-sdp-attentionは
メモリは遠慮無く使うくせにxformersより遅いのでopt-sdp-attentionを選ぶメリットが皆無でしかないという
メモリの節約出来ない分速いのなら移行も少しは考えたのに
Hires.fix2倍だけでこれなのでTiled Diffusion使って10000*10000みたいな高負荷処理させたら
もっと差が開きそうです
度々申し訳ありません、昼間にCFGやmov2で質問した者です。
分かりにくいかもなので名前適当にふっておきます(;´・ω・)
最終手段としてSDをインストールしていたら意味不明なエラーが出てしまいました。
venv “C:\stable-diffusion-webui\venv\Scripts\Python.exe”
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug 1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
Version:
Commit hash:
Cloning Stable Diffusion into C:\stable-diffusion-webui\repositories\stable-diffusion-stability-ai…
Traceback (most recent call last):
File “C:\stable-diffusion-webui\launch.py”, line 38, in
main()
File “C:\stable-diffusion-webui\launch.py”, line 29, in main
prepare_environment()
File “C:\stable-diffusion-webui\modules\launch_utils.py”, line 288, in prepare_environment
git_clone(stable_diffusion_repo, repo_dir(‘stable-diffusion-stability-ai’), “Stable Diffusion”, stable_diffusion_commit_hash)
File “C:\stable-diffusion-webui\modules\launch_utils.py”, line 147, in git_clone
run(f'”{git}” clone “{url}” “{dir}”‘, f”Cloning {name} into {dir}…”, f”Couldn’t clone {name}”)
File “C:\stable-diffusion-webui\modules\launch_utils.py”, line 101, in run
raise RuntimeError(“\n”.join(error_bits))
RuntimeError: Couldn’t clone Stable Diffusion.
Command: “C:\Users\USER\AppData\Local\Programs\Git\cmd\git.exe” clone “https://github.com/Stability-AI/stablediffusion.git” “C:\stable-diffusion-webui\repositories\stable-diffusion-stability-ai”
Error code: 1
stderr: w肳ꂽpX܂B
続行するには何かキーを押してください . . .
最後のほうなのですが、文字化けになっています(;´Д`)
ランタイムと書かれてるのでランタイムのエラー対処はやったのですが変わりませんでした。
これは改善できる症状でしょうか・・?
何度も投稿申し訳ありません。ツナです。
原因が判明いたしましたので一応ご報告しておきます。
原因はフォルダソフトでした。
普段Avestaというタブ型のフォルダソフトを使っていたのですが、Windows標準のフォルダを開いてそちらで作業をやってみたらインストールも起動もできました。
試しにそれぞれインストールから検証してみましたらやはりAvesta経由でやると失敗します。
さっきまで消したり入れたりしてたので正常なインストール状況かはわかりませんが、問題なく動きました。
CFG及びmov2も問題なく表示されました、動作のほうはまだ検証中ですが、エラーも起こらず動いてるので多分大丈夫だと思います。
何度も投稿してしまい申し訳ありませんでした。
誰かの解決に繋がれば幸いです。
お忙しい中、お返事いただきありがとうございました。
ご報告いただき誠にありがとうございます!
フォルダソフトが原因だったんですか!ブラウザが原因で動かなくなるみたいな報告がまれにあると聞いたことはあったんですが、まさかそことは!
やはり個人の環境によってさまざまな差異が出てしまうんですね…
しかし、問題が解決できて何よりです!