無駄を省いたStable Diffusion Web UIの導入方法。多機能なWindowsローカルGUI環境
2022/10/19
Windows上でローカルで動かせる画像AI「Stable Diffusion Web UI」の無駄のないインストール方法を紹介します。
読者の想定レベルは「Windowsでソフトを使える人」くらいで、プログラミングなどがわからなくても大丈夫です。
※2022/10/18 最新版対応
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などを利用されている方はとりあえず試してみてはいかがでしょうか。
Windows上で「ローカル」の前提環境を構築する
Stable Diffusion Web UIをWindows上で動かす場合は、以下のソフトウェア類をインストールする必要があります。
・Python
・Git
これだけあればOKです。
CUDA ToolkitやcuDNNの手動インストールは要らないの?
Stable DiffusionではPyTorchのバイナリを利用しますが、PyTorchバイナリにはCUDAやcuDNNのバイナリが含まれているらしく、PyTorchをソースからビルドする場合でなければCUDA/cuDNNを別途入れる必要はないようです。
Stable Diffusion Web UIでは、webui.batの処理の中でPythonの仮想環境構築を自動で行ってくれますが、その中でPyTorchのインストールも行われていると思われます。
Pythonのインストール
PythonはStable Diffusionを動かすためのプログラミング言語です。
公式サイトから最新版のPythonのWindows installer (64-bit)をダウンロードします。(執筆時点では3.10.7)
Add Python 3.10 to PATHにチェック
Pythonのインストーラの最初の画面では、左下に「Add Python 3.10 to PATH」というチェックボタンがあるのでチェックします。
その後、Install Nowを押してインストールを開始します。
パス最大260文字制限の解除
インストールが完了した後で「Disable path length limit」というボタンが見えますので、これを押します。
これを押すと、260文字までのパス長(フォルダ名などの長さ)の制限を解除するためのレジストリ変更処理が行われます。Windows 10バージョン 1607 以降で対応した機能となります。
なぜやるか?というと、Stable Diffusionなどの処理で、長いパス名を実行したりする際に260文字以上になる場合があり、エラーになってしまうことがあるからです。
詳細を知りたい方はMicrosoftの資料などを御覧ください。
Pythonの動作確認
インストール後にコマンドプロンプトを起動し、「python -V」を実行して、Pythonのバージョンが表示されれば正常にインストールされています。
python -V
Python 3.10.7
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フォルダが展開されます。
例えば以下のように「cd C:\ 」(Cドライブ直下に移動)をしてからgit cloneコマンドを実行すれば、C:\stable-diffusion-webui フォルダに必要ファイルが展開されます。
cd C:\
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
ZIPファイルを解凍する方法【更新が面倒】
Gitがどうしても使えない場合はこの方法です。Stable Diffusion Web UIのアップデートを検討している場合は不向きです。
GitHubページで緑の「Code」ボタン > 「Download ZIP」でstable-diffusion-webui.zipをダウンロードします。
Zipフォルダ内のstable-diffusion-webuiフォルダをコピーして、Cドライブ直下に貼りつけます。
モデルファイル(ckptファイル)のダウンロードと設置 (2022/10/18更新)
Stable Diffusionで利用できるモデルファイル(model.ckpt)を用意する必要があります。
私の知る限り、主に利用されているファイルは以下の3種です。
- Stable Diffusionモデル(3.97GB) (Hugging Faceから、sd-v1-4.ckptをDL > model.ckptにリネーム)
- Waifu Diffusionのアニメイラスト特化モデル(7.2GB) (Hugging FaceからWaifu Diffusion v1.3のFloat 32 Full Weights(wd-v1-3-full.ckpt)をDL > model.ckptにリネーム)
- とりんさまAIボットのモデルの改良版(Hugging FaceからいずれかのckptをDL > model.ckptにリネーム)
主にアニメイラストを出したい人は2ですかね。いずれを利用する場合も、ダウンロードしたckptファイルの名前をmodel.ckptに変更して、C:\stable-diffusion-webui\models\Stable-diffusion に入れます。
複数モデルをインストール可能
複数のモデルファイルを入れることが可能で、WebUIの左上から切り替え可能です。
model.ckptが最初に読み込まれるというだけで、model.ckptがなくても起動はします。例えばsd-v1-4.ckptとwd-v1-3-full.ckptをC:\stable-diffusion-webui\models\Stable-diffusionに入れたら、起動後の画面上部「Stable Diffusion checkpoint」から切り替えが可能です。
GFPGANの事前学習ファイルをダウンロード(2022/10/18更新)
GFPGANのGitHubページからStable Diffusion Web UIページ上で説明されているファイルをダウンロードして設置します。
本稿執筆時点ではGFPGAN v1.4を使うように説明されているので、GFPGANv1.4.pthファイルをダウンロードし、C:\stable-diffusion-webui (webui.pyファイルがあるフォルダ)に入れます。
webui.batの実行
C:\stable-diffusion-webui フォルダのwebui.batファイルを実行します。
おそらく「WindowsによってPCが保護されました」が出ます。これはマイナーなファイルの実行時に危険性がないかどうかの確認をするもので、ウイルス等が検知されたわけではありません。
実行したいので「詳細情報」を押し、「実行」を押します。
コマンドプロンプトが起動し、Stable Diffusion本体など必要なファイルがダウンロードされるので、終わるまで放置で待ちます。
WEB UIの起動と終了
webui.batの処理が正常に終わるとウェブサーバー機能が実行され、コマンドプロンプトに「Running on local URL http://127.0.0.1:7860」という表示が出ます。
http://127.0.0.1:7860にアクセスすると、Stable Diffusion Web UIが起動表示されます。
この時、コマンドプロンプトは閉じないでください。閉じるとサーバーも終了してしまい処理ができなくなります。
Stable Diffusion Web UIを終了する時には、ブラウザとコマンドプロンプトを閉じます。
アンインストール
stable-diffusion-webuiフォルダを削除すればOKです。
Gitでインストールした場合のアップデート方法
stable-diffusion-webuiフォルダを右クリックし「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の使い方を通じて、動作を確認しましょう。(私はWindowsのダークモードを利用しているため黒いUIになっています)
txt2img (テキストからイメージを生成)
Prompt
生成したい画像を英語で入力します。実は単語レベルなら日本語で入力しても出てきますが、複雑なものを出したい時は英語にしたほうが良いです。
Stable Diffusionで生成された画像とPromptを見られるLexicaというサイトでは、出力画像のpromptが見られるので、気に入ったものをコピーして試してみると面白いですよ。
Sampling Steps
精細度です。高いほうがきれいですが出力が遅くなります。
Batch count
一度のGenerateで出す画像枚数です。連続で刷るようなイメージで、VRAMに影響しません。
CFG Scale
Promptに対する忠実さです。上げる場合はSampling Stepsも一緒に上げたほうが破綻しにくいです。
Width/Height
幅と高さです。これは、512x512が最も破綻しにくいので、とりあえずはデフォルト値のまま試してみてください。
たとえば、幅を広げて768x512などにすると、対象が2回描かれたりします。
Generateボタン
設定を元に画像を出力します。
その他詳しい使い方はネットにあると思いますが、当サイトでも独自の視点でまとめたいと思っています。よかったらまた来てくださいね。
記事の内容は執筆、更新日時時点の情報であり、現在は異なっている場合があります。
記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。
【今日のおすすめ】
【auひかり】最大10Gbpsの超高速通信!最大131,000円キャッシュバックで初期工事費も実質無料!
コアゲーマーにぴったりな完全栄養食「BASE FOOD(ベースフード)」を試した