Stable Diffusion WebUIをローカルで動かす
Stable Diffusion、Waifu Diffusionまわりの仕様変更の波がだいぶ落ち着いてきた気がするので、せっかくなのでHowTo記事を書いてみる。
なお、私が現在使用しているアイコンは、Waifu Diffusionで生成したものである。
更新履歴
2022/09/30 モデルの保存方法に変更があったので追記。
2022/10/07 以前のモデルの保存方法でも実行できるようになったのでさらに追記。
GitとPythonのインストール
導入方法によってはAnacondaなどが必要になることもあるが、今回の方法ではGitとPythonさえあれば動く(アップデートが不要であればGitすらいらない)。
Windowsの場合はPythonをここから、Gitをここからインストールする。インストール時、PATHに登録するのを忘れないように。
Linuxの場合はディストリビューションに応じたコマンドを叩く。Windowsと違いpipは付いてこないので、そちらもインストールする。
Debian系 : apt install git python3 python3-pip
RedHat系 : yum install git python3
Arch系 : pacman -S git python python-pip
Gentoo系 : emerge -a git python pip
リポジトリのクローン
https://github.com/AUTOMATIC1111/stable-diffusion-webui をクローンする。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
モデルのダウンロード
Stable Diffusionを使用する場合はここにある「sd-v1-4.ckpt」というリンクから、Waifu Diffusionを使用する場合はここにある「Original Weights」というリンクからモデルをダウンロードする。
ダウンロードするにはHugging Faceにアカウントを登録した上で上記リンクに飛び、モデルの規約に同意する必要があるので注意すること。
ダウンロードが終わったら、ファイルをmodels/Stable-diffusion
の中に移動する。
設定の変更
ここまでできたら、Windowsの場合webui-user.bat
、Linuxの場合webui-user.sh
を編集する。
ビデオカードのRAM(VRAM)の量に応じて、Windowsの場合set COMMANDLINE_ARGS=
の行、Linuxの場合export COMMANDLINE_ARGS=
の行の後ろに、次に示す通りの文字列を入力する。
8GB〜程度の場合: (編集せず終了して問題ない)
6GB〜8GB程度の場合: --medvram
4GB〜6GB程度の場合: --lowvram
また、使用しているグラフィックカードがNvidiaのGeforce 1600番台の場合には特有のバグが発生するので、以下の回避オプションも付ける必要がある(このオプションを付けるとVRAMの消費量が増えるため、上にあるオプションを一つ下げる必要があるかもしれない)。
--precision full --no-half
実行
Windowsの場合webui-user.bat
、Linuxの場合webui.sh
を実行する。
Linux環境において「権限がありせん」のようなエラーが出た場合(古いバージョンでは発生していたが今はおそらく修正されている)、
chmod +x webui.sh
として実行属性を付与してから実行する。
初回起動時には各種依存関係の設定等が入るため、ネットワーク環境などにもよるが10分ほど待たされる。
終わるとRunning on local URL: http://xxxxxx:xxxx
のようなメッセージが表示されるので、表示されたURLをウェブブラウザで開けばUIが表示される。
あとは「Prompt」欄に任意の指令を入力し「Generate」をクリックすれば画像の生成が開始する。
「CUDA Runtime Error」というようなエラーが発生した場合はおそらくVRAMが足りていないので、「設定の変更」の項目で設定したオプションを一つ下げてみるなどするとよい。
また、このGUIフロントエンドには様々な機能(Inpainting、Prompt Matrixなど)があるが、この記事ではそのあたりの説明は省略する。興味のある方はリポジトリのWikiを確認していただくのがよいだろう。