おっさんゲーマーどっとねっと

「黒い砂漠」をはじめ、PCゲームやゲーマー向けの情報をお届けするブログです。記事には商品やサービスのPRを含みます。

無駄を省いたStable Diffusion Web UIの導入方法。多機能なWindowsローカルGUI環境

      2023/08/22

Windows上でローカルで動かせる画像AI「Stable Diffusion Web UI」の無駄のないインストール方法を紹介します。

読者の想定レベルは「Windowsでソフトを使える人」くらいで、プログラミングなどがわからなくても大丈夫です。

※5/12 説明順を少し変えました。

Stable DIffusion Web UIとは

ブラウザ上からStable Diffusionをコントロールできるようにしたものです。スライダなどが追加され細かな設定が直感的にしやすくなっています。

その中でもAUTOMATIC1111氏の製作したバージョンがインストールもシンプルかつ多機能なので紹介します。

AUTOMATIC1111氏版の主な機能 (2022/10/18現在)

Stable Diffusionに期待される機能の多くが実装されており、最初に使ってみる環境としては十分だと思います。

txt2img prompt文からの画像生成
img2img 画像から画像生成
Outpainting 背景の拡張
Inpainting 絵の指定した部分の描き直し
Prompt matrix prompt文の有無による比較画像の生成
Stable Diffusion upscale Stable Diffusionで描くアップスケール
Attention promptでカッコで括ることで
(強調したい要素)、[弱めたい要素]を指定できる
Loopback 出力した画像を再度取り込んで出力
X/Y plot X軸Y軸で、条件による比較画像の生成
Textual Inversion 自前で用意した学習データ(.ptファイル)をベースに画像を生成
GFPGAN 崩れた人間の顔パーツを修正
Real-ESRGAN AIによる拡大処理
ESRGAN 多くの3rdパーティーモデルがあるAI拡大処理
リサイズ アスペクト比変更
サンプリング方式の選択 Euler a, Euler, LMS, Heun, DPM2, DPM2 a, DDIM, PLMS
いつでも処理停止 画像出力中に停止できる
4GB VRAMサポート VRAMが少ないグラフィックボードでの画像出力に対応
シード値をずらしつつバッチ出力 画像の構成要素であるシード値をずらしながらバッチ出力
ランダムアーティスト 有名なアーティストのスタイルをボタンひとつで適用
Highres. fix 画像を低解像度で部分的にレンダリングし、アップスケールしてから、高解像度で詳細を描画
DeepDanbooru アニメ プロンプト用の danbooru スタイル タグを作成 (コマンドライン引数に --deepdanbooru を追加)

 

【前提】NVIDIA製グラフィックボードを搭載したPCが必要です。

Windows上でStable Diffusionを動作させるには、NVIDIA GeForceシリーズや、NVIDIA RTX AシリーズなどのNVIDIA製グラフィックボードを搭載したPCが必要です。

4GBのVRAMでも動くようにチューンされているようなので、GeForceなどを利用されている方はとりあえず試してみてはいかがでしょうか。

PCについてのおすすめは記事の最後にご紹介していますので、よろしければご覧ください。

Windows上で「ローカル」の前提環境を構築する

Stable Diffusion Web UIをWindows上で動かす場合は、以下のソフトウェア類をインストールする必要があります。

・Git
・Python 3.10.6

これだけあればOKです。

実際の流れは以下の通りです。

  1. Gitのインストール
  2. Stable Diffusion Web UIのダウンロード (まだ起動はしない)
  3. Python 3.10.6のインストール
  4. (既に別verのPythonが入っている場合はwebui-user.batを編集する)
  5. Stable Diffusion Web UIの起動

Gitのインストール

まず、「GitHub」からデータを取得するための「Git」というツールをインストールします。

公式サイトから64-bitのGit for Windowsの最新版をダウンロードします。

Pasted-177

インストール時には様々なオプションがありますが、Select Componentsの「Git Bash Here」にチェックを入れておきましょう。これによってStable Diffusion WebUIのアップデートが楽になります。

その他は特に変更する点はありません。Nextを押していけばOK。

Gitの動作確認

インストール後にコマンドプロンプトを起動し、「git -v」を実行して、Gitのバージョンが表示されれば正常にインストールされています。

git -v

git version 2.37.3.windows.1

Stable Diffusion Web UIのインストール

Stable Diffusion Web UIのダウンロードと解凍

Stable Diffusion Web UIのインストール場所はどこでも良いのですが、今回はC:\stable-diffusion-webui に設置する形で紹介します。

ZIPファイルをDLして解凍するか、Gitコマンドで設置するかの二通りがあります。

コマンドプロンプトでGitを実行する方法【おすすめ】

コマンドプロンプト上でGitコマンドを使ってインストールすることもできます。Stable Diffusion Web UIの更新が楽なのでおすすめです。

git cloneコマンドを使うと、現在のフォルダ(カレントディレクトリ)にstable-diffusion-webuiが入ったフォルダが展開されます。

Pasted-185

まず、Stable Diffusion Web UIをインストールしたいフォルダまで移動します。今回はCドライブにします。

Pasted-186

次に、アドレスバーにcmdとだけ入力してEnterを押します。

Pasted-188

するとコマンドプロンプトが開きます。 > の左の部分がインストールしたいフォルダのパス(今回の場合は C:\ )になっていればOKです。その下にstable-diffusion-webuiフォルダがインストールされます。

この状態で以下のgit cloneコマンドをコピペして実行すれば、stable-diffusion-webui フォルダが自動的に作成されて必要ファイルが展開されます。

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

Pasted-92

実行画面はこのような感じです。

Pasted-184Cドライブの下にstable-diffusion-webuiフォルダができていれば成功です。

 

ZIPファイルを解凍する方法【更新が面倒】

Gitを使ってインストールするとStable Diffusion Web UIのアップデートがしやすいですが、Gitを使わないで利用することもできます。

GitHubページで緑の「Code」ボタン > 「Download ZIP」でstable-diffusion-webui.zipをダウンロードします。

Zipフォルダ内のstable-diffusion-webuiフォルダをコピーして、任意の場所に貼りつければOKです。

モデルファイル(ckptファイル)のダウンロードと設置 (2023/2/5更新)

Stable Diffusionでは出力する画像の元となる「モデルファイル(ckptファイルまたはsafetensorsファイル)」を用意する必要があります。

ver1.1.0現在、「v1-5-pruned-emaonly.safetensors」ファイルが自動でインストールされるので、お試しでこれを利用することができます。

他にも複数のモデルファイルを入れることが可能で、モデルによって得意とする画像(実写風、イラスト風など)が変わります。

美少女イラスト系だとAnything V4.0(7.7GB)は代表的です。 (Hugging Faceからanything-v4.0.ckpt、anything-v4.0.vae.ptをDL)

ダウンロードしたckptファイル、vae.ptファイルは、C:\stable-diffusion-webui\models\Stable-diffusion に入れます。

利用するモデルはWebUIの起動後の画面上部「Stable Diffusion checkpoint」から切り替えが可能です。

Pythonのインストールとwebui-user.batの編集

Stable Diffusion Web UIを動かすためには、Python 3.10.6が必要です。

Pasted-180

Python 3.10.6のページ下部から、Windows installer (64-bit)をダウンロードします。

※最新の3.11以降では実行時にエラーが出ます。3.10.6を入れてください。

Add Python 3.10 to PATHにチェック

Pythonのインストーラの最初の画面では、左下に「Add Python 3.10 to PATH」というチェックボタンがあるのでチェックします。

もし、Pythonで複数バージョンを入れていて、通常使うPythonバージョンが別にある場合は、「Add Python 3.10 to PATH」を行わずにPython 3.10.6を入れます。

その後、Install Nowを押してインストールを開始します。

パス最大260文字制限の解除

インストールが完了した後で「Disable path length limit」というボタンが見えますので、これを押します。

これを押すと、260文字までのパス長(フォルダ名などの長さ)の制限を解除するためのレジストリ変更処理が行われます。Windows 10バージョン 1607 以降で対応した機能となります。

なぜやるか?というと、Stable Diffusionなどの処理で、長いパス名を実行したりする際に260文字以上になる場合があり、エラーになってしまうことがあるからです。

詳細を知りたい方はMicrosoftの資料などを御覧ください。

Pythonの動作確認

インストール後にコマンドプロンプトを起動し、「python -V」を実行して、Pythonのバージョンが表示されれば正常にインストールされています。

python -V

Python 3.10.6

動作確認で別のPythonバージョンが表示される場合

「Python 3.10.6」をインストールしたのに、python -Vでそれ以外のバージョンが表示される場合、既に別のバージョンのPythonが入っている可能性が高いです。3.10.6もインストールされたけど、優先度が下のため、バージョン確認で呼ばれなかったというわけです。

3.10.6の優先度を上げてもいいですが、他のプログラムなどでPythonを使っている場合、そちらに影響する可能性も高いです。このため、今の環境を維持しつつ、Stable Diffusion Web UIからのみ3.10.6も使えるようにするのがベストです。

やり方は簡単で、Python 3.10.6のパスを確認し、webui-user.batにPython 3.10.6のパスを指定するだけです。ことで、複数Python環境でもStable Diffusion Web UIが利用可能です。

具体的な手順は、以下の「複数のPythonが入っている場合」に従ってください。

複数のPythonが入っている場合

まずは、どんなPythonがWindowsに入っているか確認しましょう。コマンドプロンプトを起動し、次のコマンドを実行してください。

where python

このコマンドで、環境変数に定義されたPythonのパスの一覧が出てきます。私の環境では次のようになりました。

C:\anaconda3\python.exe ←Anaconda Navigator付属のPython
C:\Users\username\AppData\Local\Programs\Python\Python310\python.exe ←自分で入れた3.10.6のPython?
C:\Users\username\AppData\Local\Microsoft\WindowsApps\python.exe ←Windowsに元々入っているPython

上記のパスを使って、3.10.6を探しましょう。以下のように、フルパスのpython.exe -Vで、python.exeの場所とバージョンのチェックができます。

C:\anaconda3\python.exe -V ←上記で見つかったパスのうち、1つをフルパスで指定する

Python 3.9.13 ←最初に試した python -V と一致すれば、それが通常使われるPython

1つめは3.9.13でした。2番目を見てみます。

C:\Users\username\AppData\Local\Programs\Python\Python310\python.exe ←2つめのパスも確認
Python 3.10.6 ←正しいパスだったことがわかる

こうして3.10.6の正しいパスが見つかったら、Stable Diffusion Web UIインストールフォルダ内にある、「webui-user.bat」をメモ帳などのエディタで開きます。

set PYTHON=の後に、3.10.6のpython.exeのフルパスを指定して保存します。例えば上記の例の場合、以下のようになります。

set PYTHON=C:\Users\username\AppData\Local\Programs\Python\Python310\python.exe

これでwebui-user.batを実行すれば、webui.batが利用するPYTHON変数に指定した3.10.6の所在が渡されるため、正しく起動するはずです。

【WebUIの起動】webui-user.batの実行

Pasted-182

C:\stable-diffusion-webui フォルダのwebui-user.batファイルを実行します。

「WindowsによってPCが保護されました」が出ることがあります。これはマイナーなファイルの実行時に危険性がないかどうかの確認をするもので、ウイルス等が検知されたわけではありません。

実行したいので「詳細情報」を押し、「実行」を押します。

コマンドプロンプトが起動し、Stable Diffusion本体など必要なファイルがダウンロードされるので、終わるまで放置で待ちます。

WEB UIの起動と終了

webui-user.batの処理が正常に終わるとウェブサーバー機能が実行され、コマンドプロンプトに「Running on local URL http://127.0.0.1:7860」という表示が出ます。

http://127.0.0.1:7860にアクセスすると、Stable Diffusion Web UIが起動表示されます。Windows11の場合、コマンドプロンプトの http://127.0.0.1:7860 と書いてある部分をCtrl+クリックでも起動します。

この時、コマンドプロンプトは閉じないでください。閉じるとサーバーも終了してしまい処理ができなくなります。

Stable Diffusion Web UIを終了する時には、ブラウザとコマンドプロンプトを閉じます。

アンインストール

stable-diffusion-webuiフォルダを削除すればOKです。

Gitでインストールした場合のアップデート方法

なるべく新規に追加インストールした方がいい

これはマジな話ですが、アップデートにはバグがつきもので不用意に行わないほうが良いです。

場合によっては拡張機能などが使えなくなって、前のバージョンに戻したくなることがあります。

その際の手間を考えると、最新verにしたくなった時に一番良いのは「別フォルダに新規インストール」です。

現在のstable-diffusion-web-uiフォルダはそのままに、別のバージョン用のフォルダを作り、新しく環境を作ります。

例えば今回のインストール説明ではC:\ 直下でcmdを起動し、git cloneを行って、C:\stable-diffusion-webui\ を作っていますが、新たにC:\sd1 などのフォルダを作ってその中でcmd、git cloneを行って、C:\sd1\stable-diffusion-webui\ を作るわけです。modelフォルダなど共通で使いたいフォルダは、シンボリックリンクやハードリンクで元のフォルダを参照すれば、ストレージ容量を節約できます。

既存環境をアップデートをする場合

すでにインストールした環境をアップデートするには、Git Bash Hereでのアップデートを行います。

Pasted-178

stable-diffusion-webuiフォルダを右クリック(Win11の場合はShift+右クリック)し「Git Bash Here」をクリックします。

Pasted-179

このような画面が出てきますので「git pull」と打って実行します。

Git Bash Hereがない場合

Git Bash Hereのコマンドがない場合、Gitのインストーラをもう一度実行し、画面下の「Only show new options」のチェックを外して「Git Bash Here」を追加インストールしてください。

Stable Diffusion Web UIの動作テスト

基本的なStable Diffusionの使い方を通じて、動作を確認しましょう。

txt2img (テキストからイメージを生成)

バージョンによって機能の位置が違うかもしれません。とりあえず、上記8項目を入力すればよいと思います。

① Stable Diffusion checkpointを指定

DLしたモデルファイル(ckpt)を選択します。

②Prompt (画像生成の呪文)

どのような画像を出したいかを英語で指定します。

8k, ultra detailed photo, a dog

これは「8K」「非常に精細な写真」「一匹の犬」というオーダーを出しているわけです。上記のようにカンマ区切りで羅列することができます。

単語ではなく、文章的に説明することもできます。 

a ultra detailed 8K photo of a dog

品質を高めるためによく使われる単語に「masterpiece(傑作)」があります。特に強調したい場合は () で括り、語句の後に強さを指定します。次のような感じで、コロンの後に数字を書きます。1が標準で、影響を強くしたい場合は1.5くらい-にします。逆に弱めたい場合はマイナス値を使うこともできます。

(masterpiece:1.5),a ultra detailed 8K photo of a dog

 

③Nevative Prompt(出てほしくないことを書く呪文) ※入力は任意

出力画像から取り除きたいこと、出たら嫌な要素を英語で指定します。例えば、性的な要素がでてほしくない場合などは「nsfw」といった文言をいれます。

④Sampling Steps

まずは20くらいで始めると良いです。Sampling methodやCFG Scaleによってきれいに出ない場合、値を上げたりします。値を変えると出力される画像の内容も変わります。

⑤Sampling method

画像のサンプリング方式です。色々試してみてください。

⑥Width, Height (出力する幅, 高さのpx)

出力する画像の幅と高さです。これは利用するモデルによって適切な値が異なります。基本は512x512pxで、幅や高さを変えると同じ要素が繰り返し出てしまったりする場合があります。

⑦Batch Count(何回出すか)、Batch Size(1度に何枚出すか)

出力する画像数はBatch CountとBatch Sizeで決まります。

総出力枚数 = Batch Size(一度に何枚出すか) x Batch Count(何回出すか)

Batch Countは一度のGenerateで何連続で画像を出すかです。連続で刷るようなイメージで、VRAMに影響しません。多く出したい時は基本的にこちらを増やしましょう。

Batch Sizeは1回の処理で同時に出す枚数で、多くするとグラフィックボードのVRAMを超えてエラーになることがあります。出力する解像度や行う処理、VRAMの空き容量などによってどこまで行けるかは異なります。よくわからない人は1のままにしてください。大容量のVRAMを搭載している方は増やすことで複数枚を同時に出力でき、時短になります。

⑧CFG Scale

値を上げるほどPromptに対して忠実な絵を出力しようとしますが、「元の絵の風合い」は失われます。上げる場合はSampling Stepsも一緒に上げたほうが破綻しにくいです。

⑨Generateボタン

設定を元に画像を出力します。

 

その他様々な機能がありますが本稿は初心者向けということで割愛します。

RTX 40シリーズ利用時は、cuDNNを「入れ替え」→不要に

※2023年5月1日の最新リリース「1.1.0」以降のインストールでは、PyTorch2.0+cu118、cuDNNもバージョン8.7.0.0になったため、以下の作業は不要です。

過去の内容

Stable Diffusion Web UIでは、webui.batの処理の中でPythonの仮想環境構築を自動で行ってくれますが、その中でPyTorchやcuDNNのインストールも行われていると思われます。

ただし、RTX 4090/4080など、RTX 40シリーズのグラフィックボードを利用している場合、Stable Diffusion Web UIでインストールされるcuDNNが古いため、性能を活かしきれないことがあるようです。

cuDNNを入れ替える場合は、NVIDIAのサイトからcuDNNをDLします。ダウンロードにはNVIDIAアカウントが必要です。

最新のcuDNN 11.xをDLします。

置き換えるファイル

DLしたcuDNNのzipファイルを解凍し、binフォルダ内にある以下のファイルをC:\stable-diffusion-web-ui\venv\Lib\site-packages\torch\lib に上書きします。

  • cudnn_adv_infer64_8.dll
  • cudnn_adv_train64_8.dll
  • cudnn_cnn_infer64_8.dll
  • cudnn_cnn_infer64_8.dll
  • cudnn_cnn_train64_8.dll
  • cudnn_ops_infer64_8.dll
  • cudnn64_8.dll

念のため、上書き前の上記ファイルをバックアップしておくと良いでしょう。

cuDNN入れ替えの効果例

i7-13700FとRTX 4070 Tiのマシンで、16枚の512x512pxファイルをかなり重い設定で出力したときの所要時間です。圧倒的に早くなっていますね。

prompt : photograph, forest, morning, canon

DDIM,150steps,512×512, Batch count 16, CFG 30, seed 2398368750

RTX 4070 Ti 12GB(WebUI+cuDNN入れ替え)
247
RTX 4070 Ti 12GB(WebUI入れた直後)
392

Stable Diffusionの動作におすすめのPC

Stable DiffusionのためにPCを買おうと思っている方は、3つのポイントがあります。

  1. NVIDIA製グラフィックボード(GeForce等)を搭載していること
  2. VRAM量が多いほど出力できる解像度の限界が高くなる (12GB以上が望ましい)
  3. グラフィックボードのスペックが高いほど出力が早くなる

これらのことから、いわゆる「ゲーミングPC」や「クリエイター向けPC」と呼ばれるパソコンは相性が良いです。

当サイトはゲーミングPCとして圧倒的な認知度を誇る「GALLERIA(ガレリア)」などを2018年から実際に触ってレビューを行ってきました。

半導体不足からPCの価格も昔に比べると上がっていますが、その中でもお得度や信頼性の高いモデルをご紹介します。

安めのPC:RTX 3060 12GB搭載PC

GALLERIA RM5C-R36

PR
CPU:i5-13400F
GPU:RTX 3060 12GB
メモリ:16GB DDR4
ストレージ:1TB NVMe SSD

NVIDIAのGeForce RTX 30シリーズのグラフィックボードの中で、エントリーに近い性能を持っているのがRTX 3060 12GBです。

こちらはエントリーとしてはVRAM搭載量が12GBと多く、ほとんどの人にとって無難なPCとなるでしょう。ゲームについても、1920x1080までなら動かないゲームはほとんどないと思いますので、PCゲームデビューをしてみたい方にもおすすめです。

以下は近いスペックのPCのレビュー記事です。

ミドルハイスペックPC:RTX 4070 12GB搭載PC

RTX 40シリーズは2022年に登場した最新のグラフィックボードです。先代のRTX 30シリーズに比べて非常にパワーがあるため画像出力速度も速く、消費電力あたりのパフォーマンスも良いです。

PR
CPU:i7-13700F
GPU:RTX 4070 12GB
メモリ:16GB DDR4
ストレージ:1TB NVMe SSD

ミドルハイに位置するRTX 4070は、12GBのVRAM量こそRTX 3060 12GBと変わりませんが、圧倒的な処理速度の差があるため、同じ時間で大量に画像を出力することができます。以前はRTX 4070 Tiをおすすめしていましたが、VRAM12GBで考えると、安い本体価格とランニングコストの点でおすすめしやすいです。

以下はレビュー記事です。

本格ハイスペックPC:RTX 4080 16GB / RTX 4090 24GB 搭載PC

RTX 4080以上はスペックが良い分価格も一気に上がります。大量に画像を出して選別したりするなど、本格的な利用の際に検討したいモデルとなります。

ここではStable Diffusionはもちろん、3DCGや4K,VRゲームなどにも幅広く使えるPCをご紹介します。

GALLERIA ZA9C-R48

PR
CPU:i9-13900KF
GPU:RTX 4080 16GB
メモリ:16GB DDR5
ストレージ:1TB(Gen4) NVMe SSD

GeForce RTX 4080を搭載しており、VRAMは16GB利用可能です。2023年を見据えても非常にハイスペックなモデルです。以下はレビュー記事です。

raytrek 4CZZ

PR
CPU:i9-13900K
GPU:RTX 4090 24GB
メモリ:32GB
ストレージ:1TB(Gen4) NVMe SSD

最上位となるGeForce RTX 4090を搭載しており、ゲーマーとしても垂涎の何でもできるPCです。VRAMは24GB利用可能で、RTX 4080より高解像度で高速に画像出力が可能です。以下はレビュー記事です。

VRAM量については、機械学習目的などでは24GBを使い切ることもあります。本格的なAI時代で「開発」側に回りたい人は大容量VRAM搭載モデルをおすすめします。

 


記事の内容は執筆、更新日時時点の情報であり、現在は異なっている場合があります。
記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

【今日のおすすめ】

エネチェンジで電気代を比較!激安電気会社が見つかる!

【auひかり】最大10Gbpsの超高速通信!最大126,000円還元キャンペーンキャッシュバックで初期工事費も実質無料!

ひきこもりニートでも稼いでゲームに課金出来る時代

 - Stable Diffusion , , , , ,