Stable Diffusion WebUIをローカルで動かそう~バッチファイルで簡単構築/使い方解説~ 9/13追記

WEB

前回はCUIバージョンの記事を作成しましたが、色々と複雑で大変だったのでwebGUI付きのStable Diffusionをローカルで簡単に動かせるようにしました

ブラウザで動作し、画像を2倍にアプコンするRealESRGANや顔を整えるGFPGANも装備しています。

もちろん、画像から画像を生成するimg2img機能もあります

今回は面倒な作業をバッチファイルでほぼ自動化しました

既存の環境を汚すことなく追加できるので是非チャレンジして下さい。

こちらのサイトを参考に構築しました。

--ULTIMATE GUI RETARD GUIDE--
UNIFIED The definitive Stable Diffusion experience ™ Now easier than ever Special thanks to all anons who contributed Note: In active development, there may be ...
動作している状態

動作させるにはNvidiaのGPUが必要なので注意して下さい。

Anacondaのダウンロード

参考にしたサイトではMinicondaをインストールしていましたが、自分はAnacondaで動いたので動作確認できた方を使用します。

前回の記事でAncondaをインストールした方/既に導入済みの方は飛ばして次に行ってください。

下記サイトにアクセスしてAnacondaをダウンロード、インストールします。

Anaconda | The World's Most Popular Data Science Platform
Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities.

インストールは画像部分のチェックを2つ付ける以外はデフォルトのまま行って下さい。

Add Anaconda3にチェックを必ず入れて下さい

これでAnacondaの導入は終了です。

画像生成モデルをダウンロード

サイトにアクセスして会員登録をします。
https://huggingface.co/

会員登録を行い、下記のURLにアクセスすると以下のような表示がされるので、チェックを付けて「Access repository」を押します。
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original

するとDownload the weightsに「sd-v1-4.ckpt」があるので、クリックしてダウンロードします。(約4GB)

矢印の方をクリック

時間がかかるので並行して次の項目へ進みましょう。
ダウンロードしたファイルは後で使用します。

ファイル・バッチのダウンロード・配置

C直下にフォルダを作成

Cドライブ直下に「SDtool」というフォルダを作成します。

この中にダウンロードしたファイルを入れていきます。

c直下に「SDtool」というフォルダを作成

GitHubからファイルのダウンロード

9/13追記
配布元で変更が行われたので内容を変更しました。

サイトに飛んで「code」から「Download ZIP」を押してファイルをダウンロードします。

GitHub - hlky/stable-diffusion-webui: Stable Diffusion web UI
Stable Diffusion web UI. Contribute to hlky/stable-diffusion-webui development by creating an account on GitHub.

「stable-diffusion-webui-master.zip」を解凍したものを先程の「SDtool」に入れます。

stable-diffusion-webui-master」フォルダ名を「stable-diffusion-gui」にします。

フォルダ名をstable-diffusion-guiに変更

これで7割終わりました。

ファイルの移動

先程ダウンロードした「sd-v1-4.ckpt」も「stable-diffusion-gui」フォルダに入れます。

sd-v1-4.ckptstable-diffusion-guiにドロップ

バッチのダウンロード、配置

下記のバッチをダウンロードして解凍します。

フォルダ内の「作成GUI.bat」モデルダウンロード.bat」「stable-diffusion-gui」内に入れます。

2つのバッチファイルを放り込みます。

もう一つの「StableDiffusion GUI.bat」はデスクトップに配置します。

これで9割完了です。

バッチファイルを起動させる

「stable-diffusion-gui」フォルダ内の「作成GUI.bat」をダブルクリックで起動させます。

Pythonのファイアーウォールに関して注意が出てくるかもしれないので許可しましょう。

ブラウザが開きますが現時点では何も表示されません。

結構長い間待たされると思いますが待機しましょう。
その間は他の作業をしないほうがいいと思います。

構築時の動画

追記8/31
文字だけだと伝わらないかもしれないので、実際に起動させてどの程度時間がかかるか動画を作成しました。
環境によってはもっと遅かったり早かったりするはずなので目安としてご覧ください。

コマンドプロンプトに”localhost:7860″と表示されたら、先程開かれたブラウザを更新して下さい。

画像のように表示されたら環境構築完了です。

ちなみにコマンドプロンプトを閉じたらプログラムが終了するので注意して下さい。

画面上の窓にキーワードを入力し画像が生成されたら、一度コマンドプロンプトを閉じて下さい。

生成例

NotFound系のエラーが出る場合

NotFound系エラーは環境構築時に何らかの不具合が起きてしまったと考えられます。

まずは記事を参考にAnacondaのパスが通っているか確認して下さい。

2.手動でPATHを通すを参照

今回はldoというフォルダに全部詰め込んであるので、それを削除してもう一度「作成GUI.bat」を実行すると再構築できます。

C:\ユーザー\ユーザー名\anaconda3\envs\という場所にldoフォルダが作成されていると思うので、それを削除します。(ファイルサイズが大きので容量注意)

ldoを削除

PCを再起動した後、再び「作成GUI.bat」をクリックして下さい。

それでも駄目な場合

そこまでしても改善が見られない場合はPCからAnacondaを削除して再起動した後、再び1からやり直す事をおすすめします。

Real ESRGANやGFPGANをダウンロード

次に画像を綺麗にするRealESRGANや顔を調整するGFPGANをダウンロードします。

先程移動させた「モデルダウンロード.bat」をクリックして起動します。

モデルダウンロード.batをダブルクリック

実行中にダウンロードに失敗したと表示される場合があります。
その場合は一度コマンドプロンプトを閉じて、もう一度バッチファイルをクリックして下さい。

ダウンロードが完了するとブラウザが起動して先程と同じ状態になるので、”localhost:7860”が表示されたらブラウザを更新します。

先程と違いタブに「GFPGAN」や「RealESRGAN」が表示されれば導入完了です。

image-to-image-Unifiedの横にGFPGANとRealESRGANが表示される。

追記9/4

UIのアップデートが行われ「GFPGAN」や「RealESRGAN」タブが一つになり「Image Lab」になりました。

「image-to-image-Unified」の横に「image Lab」が追加される。

「Upscale」や「FixFaces」にチェックを入れて選択できれば導入完了です。

選択できるようになる

「作成GUI」と「モデルダウンロード」は削除して構いません。

より簡単に実行できるようにしよう

バッチファイル内で完結してるので分からないと思いますが、GUIを起動するためにはフォルダ内の「webui.cmd」をクリックして起動した後、ブラウザでhttp://localhost:7860/を開かなければ行けません。

「webui.cmd」は起動に時間が掛かるので、先程デスクトップに配置した「StableDiffusion GUI.bat」を利用します。

記事と同じ環境で構築された場合は、ダブルクリックするとブラウザが開き”localhost:7860”が表示されてからブラウザを更新、もしくは暫く待つと使えるようになります。

本GUIもCUI同様、メインフォルダ内の「outputs」に作成された画像が保存されるので、「outputs」フォルダも自動で開く仕組みになっています。

もし、自分と違う環境で作成されている場合は、「StableDiffusion GUI.bat」をメモ帳で開いて青い部分を自分が置いた「stable-diffusion-gui」フォルダのパスに変更して下さい。

outputsフォルダは開かなくていい!方は@STARTの行を削除して下さい。

フォルダへのパスはエクスプローラーの以下の部分をクリックすると表示されます。

condaが認識されないと出た場合

Anacondaのパスが正常に通ってないと考えられます。

一度再起動して再び試して下さい。

再度同じ表示が出る場合は下記記事を参考にパスを通して下さい。

使い方

ダークモードについて

WebUIは端末の設定に従ってダークモードに変わります。

Windows11の場合はスタート右クリック→「設定」から「個人用設定」の「色」を選択します。

「モードを選ぶ」からダーク、もしくはカスタムを選択して「規定のアプリモード」をダークにすると黒いUIが表示されます。

水色の部分を変更

テキストからの作成

項目が多いので掻い摘んで説明します。
実際に触りながらやってみて下さい。

一番上の入力欄はpromptです。
英語で半角スペースを開けながら単語やシチュエーションを入力して下さい。

1.高さ・横幅・seed

高さ、横幅

Heightは高さ、Widthは横幅を指定します。
64の倍数に固定されているので安心して弄れます。

Classifier Free Guidance Scale

数字を大きくするほどpromptの内容に強く沿った画像が生成されるようです。(間違ってたらコメント下さい)

20以上に設定すると画像が正常に作られなくなるので注意して下さい。

seed

seedは乱数で空白だとランダムに決定されて生成されます。
seedを固定すると同じような絵柄で生成を続ける事ができます。

画像の保存名や下にある「output info」からseed値を確認できます。

2.画像の枚数

Batch countで何枚作成するか決めます.

Batch sizeの値を大きくすると画像生成は早くなりますがメモリを大きく消費します。
基本的に初期設定のままでいいでしょう。

3.精度を変更する部分

Sampling Stepsを上げると精度が上がりますが必ずいいものが出来る訳ではありません。

Sampling methodはメゾットを選択する部分です。

様々な物がある

色々試してみるのをオススメします。

4.設定

simpleではエンターを押して画像生成を始めるかという設定だけ表示されています。

Advancedでは様々な設定が行なえますが、主に使うのは「Fix faces using GFPGAN」と「RealESRGAN」でしょう。

ここにチェックを入れると、画像生成時にチェックを入れたソフトを適応した画像も作成してくれます。

画像が二枚生成されて1枚が解像度4倍の2048×2048になる

画像は以下の場所に保存されました。

C:\SDtool\stable-diffusion-gui\outputs\txt2img-samples\samples\cute_kawaii_hatsunemiku_japan

RealESRGANは高性能ですが独特な特徴があります。使い所には注意しましょう。

因みに、フォルダ内にyamlファイルが生成されるので、それを開くとこのように設定が保存されています。

seed値も保存されているので、これを利用すれば同じような絵柄を量産することも可能です。

5.アクション

Generated actions

「Copy to clipboard」はクリップボードに選択している画像を保存します。

「Push to img2img」は選択している画像を元に画像から画像を作ります。

「Upscale」は画像を「RealESRGAN」タブに送ります。

output info

「output info」には使用したpromptやコマンドが書いてあります。

「Copy full parameters」は書いてあるパラメータを全部保存します。
「Copy only seed」はシード値のみを保存して貼り付ける事が可能です。

下にある「took~」の部分はどれだけのメモリを作成時に使用したか書いてあります。

これを見る限りギリギリまで使用する設定になっているようです。

画像から画像を作る

クロップした部分が入力され出力される

上にあるタブを「Stable diffusion Image-to-Image」に変更すると画像から画像を変換できるページに変わります。

画像をドロップすると認識されます。
開いた当初は画像が表示されているので削除しましょう。

殆ど先程と同じ要領で利用できます。

画像をクロップする機能なのが搭載されているので、もっと顔をズームにして作るといった使い方ができます。

GFPGAN

画像をドロップして「Effect strength」のスライダーで効果の強さを選択します。

RealESRGAN

画像をドロップした後「RealESRGAN model」モデルを選択して「Generate」を選択すると作成できます。

通常版の「x4_plus」とアニメ特化の「x4_plus_anime」があります。

終わりに

今回は基本的な構築方法と使い方を紹介しました。

本当はもっと複雑な使い方もできるようですが、自分もまだ使い始めなので慣れていません。

英語ですがこちらのREADME.mdに具体的なコマンド例も書いてあるので是非読んでみて下さい

GitHub - hlky/stable-diffusion-webui: Stable Diffusion web UI
Stable Diffusion web UI. Contribute to hlky/stable-diffusion-webui development by creating an account on GitHub.

それでは!

コメント

  1. しょうちゃ より:

    こんにちは。
    私も「stable-diffusion」を使いたいなと思い、参考にさせて頂いております。
    不躾ながら質問させてください。
    私のPCのGPUの環境は貧弱で、パラメータに追加して、「 –precision full」を加えたいのですが、このUIでどうすれば良いか、教えて頂ければと思います。

    後、誠に恐縮ですが、
    頂いた「StableDiffusion GUI.bat」を実行しても、私の環境では「SyntaxError: invalid syntax」と出て正しく実行されませんでした。少ない知識で調べましたところ、scripts/relauncher.py で使用しているos.system(f”~をsubprocess.call(“~に変更したら実行できました。pythonのバージョンによって、os.system(f”~が、実行できないようです。
    もし同様な質問がありましたら、ご紹介頂ければと思います。

  2. 亜蘭 より:

    初めまして!
    大変参考になりました!
    お掛けでプログラム知識ゼロでも使えております。
    ModuleNotFoundError: No module named ‘frontend’
    こちらのエラーですが、前回の記事である「Stable Diffusionをローカルで使おう!〜構築から使い方まで〜」を一通り試してからもう一度こちらの記事の手順通りに作業したところ表示されなくなりました。
    前回記事のどの手順が必要だったのかわかりませんが他同様のエラーが出ている方の参考になれば幸いです。

  3. mockmoon より:

    大変参考になる情報ありがとうございました。

    うちでもwebuiの途中で延々とエラーを繰り返して起動失敗するトラブルがありましたが、結局コンパイラが入ってないためpipeコマンドで失敗していたようでした。
    Microsoft C++ Build Toolsをインストールして、コンパイラにパスを通したらうまく動くようになりました。参考になれば…

  4. siro より:

    はじめまして。
    大変参考になる記事ありがとうございます。

    ご質問があります、作成GUI処理をしWebUIを開けた所まで完了したのですが

    「Real ESRGANやGFPGANをダウンロード」について
    モデルダウンロード.batをクリックし
    ”localhost:7860”が表示されたのですが
    タブを更新してもWEBUIにReal ESRGANやGFPGANが表示されません。。

    何かこのケースについて対処方はありますでしょうか?

    • yt より:

      自分も同じところではまっていましたが、Real ESRGANやGFPGANのタブが増える代わりにImage Labというタブ1つが増えて、
      Image LabタブのProcessor Selectionの中に[Fix Faces][Upscale]という項目がある状態になっています。
      Upscaleにチェックを入れ、画像をドラッグアンドドロップして使用するモデルを選択、processを押すと解像度を上げた画像が生成されました。
      この記事の作成時点より後でWebUIの作りが変わった可能性があります。
      (Fix Facesも動くはずと思いますが、自分の環境ではpythonの例外が出て動作していません)

    • GOGO より:

      コメントありがとうございます。
      確認した所新しいインターでフェイスに変わっているよです。
      後ほど記事の更新を行いたいと思います。
      暫くお待ち下さい。

    • GOGO より:

      返信が遅くなり申し訳ありません。
      確認したところ更新があり、タブの表示が2つ纏めてImage Labに変わったようです。
      後ほど記事の更新を行いたいと思います。
      コメント頂きありがとうございました。

  5. […] […]

  6. 素人 より:

    このように導入方法をわかりやすくまとめてくださり、本当にありがとうございます。
    質問なのですが、

    「stable-diffusion-gui」フォルダ内の「作成GUI.bat」をダブルクリックで起動させます。Pythonのファイアーウォールに関して注意が出てくるかもしれないので許可しましょう。

    の部分で「作成GUI.bat」をダブルクリックしました。すると、

    C:\SDtool\stable-diffusion-gui>(
    set line= – -e .
    echo !line:name: ldm=name: ldo! 1>>environment.yaml
    )

    のようなものが何十行も表示され、localhost7860のブラウザは立ち上がるものの更新してもサイトにアクセスできませんと拒否されてしまいました。
    batの実行からブラウザが立ち上がるまで1秒くらいでした。
    python知識が全くないので何が原因かわからないです。

    解決方法を教えていただけますでしょうか。
    どうぞよろしくお願いします。

    • GOGO より:

      コメントを見た感じだと正常に動作しているように思えます。
      Running on local URL http://localhost:7860が表示されるまでお待ちになりましたでしょうか。
      現在、実際に動作させたときの動画を記事内に公開しましたので比較して頂けると幸いです。
      もう一度やり直される場合は
      C:\ユーザー\ユーザー名\anaconda3\envs\にldoというフォルダが存在している可能性があるので削除した上で作成GUI.batを起動させてみて下さい。

    • 素人 より:

      C:\SDtool\stable-diffusion-gui>call webui.cmd
      anaconda3/miniconda3 not found. Install from here https://docs.conda.io/en/latest/miniconda.html
      C:\SDtool\stable-diffusion-gui>

      で処理が完全に止まってしまいました。
      おそらく最終行あたりでminiconda3がないと怒られていることが原因だと思われます。
      一応miniconda3を落としてanaconda3の下に配置したのですがそれでも上記から変わりませんでした……。

    • GOGO より:

      ダウンロードしたAnacondaのexeを起動させてインストールしましたか?
      配置するだけでは動かないので注意して下さい。
      この表記はそもそもPCにインストールされてないように見えます。
      ブログのAnacondaをインストールの部分を参考にインストールしてもう一度作成GUIを起動させて下さい。

    • 素人 より:

      Anacondaのexeと同じようにminiconda3をインストールしているのですが、それでもだめでした。
      C:\anaconda3\miniconda3
      にインストールしたものを置いているのですが、置く場所が悪いのでしょうか?
      ユーザー名が日本語なのでやむを得ずインストール先フォルダを変えていたのですが……。

    • GOGO より:

      間違いなく置く場所のせいですね。
      ただ、日本語名の場合やはりエラーになる可能性が高いでしょう。
      上手く動くかは定かではありませんが、minicodaをアンインストールした後「stable-diffusion-gui」内の「webui.cmd」を右クリックからメモ帳等で開きます。
      10行目、11行目に
      set paths=%paths%;%ProgramData%\anaconda3
      set paths=%paths%;%USERPROFILE%\anaconda3
      という部分があるので、これを
      set paths=%paths%;c:\anaconda3
      set paths=%paths%;c:\anaconda3
      というように変えてみるのはどうでしょう。
      色々と試せば恐らく動くようにはなると思われます。

    • 素人 より:

      すみません、たぶんできました!

      set paths=%ProgramData%\miniconda3
      set paths=%paths%;%USERPROFILE%\miniconda3
      set paths=%paths%;%ProgramData%\anaconda3
      set paths=%paths%;%USERPROFILE%\anaconda3

      バッチ内のスクリプトの上記に

      set paths=%SystemDrive%\anaconda3\miniconda3

      を追加したらいけました!!

    • GOGO より:

      それなら良かったです!

  7. 小栗 より:

    本日この記事にたどり着き、webUIの環境構築が丁寧に記載されており、全く同じ手順で作業を進めたのですが、既にあるコメントと同様に、ModuleNotFoundError: No module named ‘frontend’
    Relauncher: Process is ending. Relaunching in 0.5s…
    Relauncher: Launching…
    が延々と続き、作業を完了することができません。
    また、こちらを使い気づいたのですが、作成GUI.batを使用するとsd-v1-4.ckptがどこかへ消える、もしくは移動するようです。

    解決策が分からず、御手数ですが何か分かりましたらご連絡頂けると非常に嬉しく思います。
    何卒よろしくお願い致します。

    • 小栗 より:

      こちらに追記です。
      先ほど別の方へのコメント返しのbatファイルを使ってみたのですが、同様のエラーが出ます。
      Pip subprocess error:
      ERROR: Cannot install
      などと一番最初に出た後
      CondaEnvException: Pip failed

      Relauncher: Launching…
      Traceback (most recent call last):
      File “scripts/webui.py”, line 3, in
      from frontend.frontend import draw_gradio_ui
      ModuleNotFoundError: No module named ‘frontend’
      Relauncher: Process is ending. Relaunching in 0.5s…
      Relauncher: Launching…
      が続くようです。

    • 小栗 より:

      こちらに追記です。
      下のコメントの方への返信のbatファイルをPC再起動後使ってみたのですが、
      同じく
      Relauncher: Launching…
      Traceback (most recent call last):
      File “scripts/webui.py”, line 3, in
      from frontend.frontend import draw_gradio_ui
      ModuleNotFoundError: No module named ‘frontend’
      Relauncher: Process is ending. Relaunching in 0.5s…
      Relauncher: Launching…

      というのが何度も続く現象が起きています。
      コントロールプラスCで止めてみたところ、エラーの起きてそうな位置に
      Pip subprocess error:
      ERROR: Cannot install -r C:\SDtool\stable-diffusion-gui\condaenv.7hmcrh66.requirements.txt (line 23) and facexlib 0.2.4 (from git+https://github.com/hlky/facexlib#egg=facexlib) because these package versions have conflicting dependencies.
      ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

      という風に表示されます。
      何かわかりましたらご連絡いただけると幸いです。

    • GOGO より:

      こちらの記事を参考にAnacondaのパスが通っている確認をお願いします。

      パスが通っていた場合は
      C:\ユーザー\ユーザー名\anaconda3\envs\にldoというフォルダがあると思うので削除して下さい。

      その後もう一度作成GUIを実行してみて下さい。

      それでも駄目な場合はAnacondaをアンインストール後再起動してもう一度環境構築するしかないと思います。
      あまり力に慣れず申し訳ありません。
      因みに、「sd-v1-4.ckpt」ファイルはバッチがリネームして必要な場所へ移動させています。
      下記のフォルダにあるmodel.ckptが上記のファイルになります。
      C:\SDtool\stable-diffusion-gui\models\ldm\stable-diffusion-v1

  8. 佐藤 より:

    大変ためになる記事ありがとうございます。
    先日の記事でPCでの画像生成をすることができるようになりました。

    今回さらに自動化できるとのことで記事の通り環境構築をしていたのですが
    、作成GUI.batを起動すると

    ①ブラウザのエラー?
     申し訳ございません。このページに到達できません
     localhost により、接続が拒否されました。の表示と
    ②コンソールのエラー
     Traceback (most recent call last):
    File “scripts/webui.py”, line 3, in
    from frontend.frontend import draw_gradio_ui
    ModuleNotFoundError: No module named ‘frontend’
    Relauncher: Process is ending. Relaunching in 0.5s…
    Relauncher: Launching…

    で作業を完了できませんでした。
    何度かやり直したのですが同様でした。

    お手数で申し訳ないのですが、もし解決策等伺えたらと思いコメントさせていただきました。可能であればご教授いただけますと幸いです。

    以上です。何卒よろしくお願いいたします。

  9. […] こちらのサイトを参考に構築。 […]