無駄を省いたStable Diffusion Web UIの導入方法。多機能なWindowsローカルGUI環境
2023/08/22
Windows上でローカルで動かせる画像AI「Stable Diffusion Web UI」の無駄のないインストール方法を紹介します。
読者の想定レベルは「Windowsでソフトを使える人」くらいで、プログラミングなどがわからなくても大丈夫です。
※5/12 説明順を少し変えました。
Contents
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です。
実際の流れは以下の通りです。
- Gitのインストール
- Stable Diffusion Web UIのダウンロード (まだ起動はしない)
- Python 3.10.6のインストール
- (既に別verのPythonが入っている場合はwebui-user.batを編集する)
- Stable Diffusion Web UIの起動
Gitのインストール
まず、「GitHub」からデータを取得するための「Git」というツールをインストールします。
公式サイトから64-bitのGit for Windowsの最新版をダウンロードします。
インストール時には様々なオプションがありますが、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が入ったフォルダが展開されます。
まず、Stable Diffusion Web UIをインストールしたいフォルダまで移動します。今回はCドライブにします。
次に、アドレスバーにcmdとだけ入力してEnterを押します。
するとコマンドプロンプトが開きます。 > の左の部分がインストールしたいフォルダのパス(今回の場合は C:\ )になっていればOKです。その下にstable-diffusion-webuiフォルダがインストールされます。
この状態で以下のgit cloneコマンドをコピペして実行すれば、stable-diffusion-webui フォルダが自動的に作成されて必要ファイルが展開されます。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
実行画面はこのような感じです。
Cドライブの下に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が必要です。
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が入っている場合」に従ってください。
【WebUIの起動】webui-user.batの実行
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でのアップデートを行います。
stable-diffusion-webuiフォルダを右クリック(Win11の場合はShift+右クリック)し「Git Bash Here」をクリックします。
このような画面が出てきますので「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の動作におすすめのPC
Stable DiffusionのためにPCを買おうと思っている方は、3つのポイントがあります。
- NVIDIA製グラフィックボード(GeForce等)を搭載していること
- VRAM量が多いほど出力できる解像度の限界が高くなる (12GB以上が望ましい)
- グラフィックボードのスペックが高いほど出力が早くなる
これらのことから、いわゆる「ゲーミングPC」や「クリエイター向けPC」と呼ばれるパソコンは相性が良いです。
当サイトはゲーミングPCとして圧倒的な認知度を誇る「GALLERIA(ガレリア)」などを2018年から実際に触ってレビューを行ってきました。
半導体不足からPCの価格も昔に比べると上がっていますが、その中でもお得度や信頼性の高いモデルをご紹介します。
安めのPC:RTX 3060 12GB搭載PC
GALLERIA RM5C-R36
NVIDIAのGeForce RTX 30シリーズのグラフィックボードの中で、エントリーに近い性能を持っているのがRTX 3060 12GBです。
こちらはエントリーとしてはVRAM搭載量が12GBと多く、ほとんどの人にとって無難なPCとなるでしょう。ゲームについても、1920x1080までなら動かないゲームはほとんどないと思いますので、PCゲームデビューをしてみたい方にもおすすめです。
以下は近いスペックのPCのレビュー記事です。
ミドルハイスペックPC:RTX 4070 12GB搭載PC
RTX 40シリーズは2022年に登場した最新のグラフィックボードです。先代のRTX 30シリーズに比べて非常にパワーがあるため画像出力速度も速く、消費電力あたりのパフォーマンスも良いです。
ミドルハイに位置する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
GPU:RTX 4080 16GB
メモリ:16GB DDR5
ストレージ:1TB(Gen4) NVMe SSD
GeForce RTX 4080を搭載しており、VRAMは16GB利用可能です。2023年を見据えても非常にハイスペックなモデルです。以下はレビュー記事です。
raytrek 4CZZ
最上位となるGeForce RTX 4090を搭載しており、ゲーマーとしても垂涎の何でもできるPCです。VRAMは24GB利用可能で、RTX 4080より高解像度で高速に画像出力が可能です。以下はレビュー記事です。
VRAM量については、機械学習目的などでは24GBを使い切ることもあります。本格的なAI時代で「開発」側に回りたい人は大容量VRAM搭載モデルをおすすめします。
記事の内容は執筆、更新日時時点の情報であり、現在は異なっている場合があります。 記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。
【今日のおすすめ】
【auひかり】最大10Gbpsの超高速通信!最大126,000円還元キャンペーンキャッシュバックで初期工事費も実質無料!