この記事は、ローカルでStbale Diffusion web UI AUTOMATIC1111版環境を構築する手順について記載したものです。SD1.5系や2系の導入を考えている方へ向けた記事です。
AUTOMATIC1111版でSDXLを使用する方法についてはこちらの記事に書いています。
AUTOMATIC1111版とは
ググってよく出てくるStable Diffusion web UI(AUTOMATIC1111)版というのは、AUTOMATIC1111という方がforkした「Web UIが付いたStable Diffusion」という意味らしいです。この付属しているWeb UIが他のものより優秀らしく、よく使われているようです。
Stable Diffusion web UIはローカルかGoogle Colab上で使えるようですが、ColabはUIを起動する度に毎回まっさらなマシンが割り当てられるようで、使用頻度が高い場合には不便らしいです(お試しでやる程度には良いのかも)。なのでこの記事ではローカル環境への導入を行っていきます。
また、Stable Diffusion web UIをDocker環境に入れる方法もありますが、ひとまずこの記事ではローカルに直接入れる方法でやっていきます。Dockerで動かせたら環境が汚れなくてよさそうですが、あまり触った経験がないので、一先ず正攻法でやっていきます。
AUTOMATIC1111版webuiのインストール方法
Pythonの公式サイトよりPython 3.10.6のインストーラーをダウンロードします。ダウンロードが完了したらインストーラーを実行して、最初の画面にて「Add Python to PATH」にチェックを入れ、その後は画面の案内に沿ってインストールを行ってください。
Gitの公式サイトよりGit for Windowsをインストールします。「Click here to download」から最新版をダウンロードします。ダウンロードが完了したらインストーラーを実行して、ひたすら「next」を押しインストールを行ってください。
GeForce Experienceなどを使用して、NVIDIAのドライバを可能な限り最新のものにしてください。最新ドライバに問題がある場合は更新を見送り、次の作業に移っていただいても問題ありません。
こちらのページを下にスクロールして「すべてのダウンロード」にある「tool for Visual Studio」のアコーディオンを展開、中にある「Build Tools for Visual Studio 2022」をダウンロードします。
ダウンロードされたvs_BuildTools.exe
を実行して下さい。
案内に沿って操作を進め、このような画面が表示されたら「C++によるデスクトップ開発」にチェックを入れ、右下の「インストール」を押します。
インストール後は再起動を行って下さい。
CUDA Toolkitの11.8.0をインストールします。利用環境に合わせて調整して、ダウンロードを行ってください。
私の環境だとこんな感じです。
ダウンロードされたcuda_11.8.0_522.06_windows.exe
を実行してください。保存先は変更なければそのまま、インストールオプションは「高速」、「I understand, and with~」にチェックを入れる、後は案内に従って進めてください。
Cドライブの直下にtemp
というフォルダを作成します。
次にシステム環境変数の編集を開き「環境変数」をクリック。
「TEMP」→「編集」で開いた「ユーザー変数の編集」ウインドウの「変数値(青い所)」をC:\temp
に変更して「OK」を押します。
確認のために、コマンドプロンプトを開きwhere nvcc
と入力して実行、Toolkit\CUDA\v11.8\bin\nvcc.exe
が返ってくれば成功です。
NVIDIA cuDNNのインストールをインストールします。上記ページの「Download cuDNN」をクリックしてNVIDIAアカウントでログインを行います。
ログイン後「NVIDIA Developer Program」への登録が求められるので適当に入力します。「Organization」などもテキトーで良いです。チェックボックスは外しておきましょう。入力が完了したら「Submit」をクリックします。
画面が戻り、暫く待ったら再度「Download cuDNN」をクリックします。すると上のような画面が表示されるますので「I Agree To ~」にチェックを入れ、「Download cuDNN ~ for CUDA 11.x」のアコーディオンを開き、一番上の「Local Installer for Windows (Zip)」をクリックしてダウンロードを行います。
ダウンロードが完了したら、zipファイルの中に入っているbin
、include
、lib
を先ほどインストールしたCUDAのフォルダC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
に移動させます。
導入確認を行います。
コマンドプロンプトを開きwhere cudnn64_8.dll
と入力して実行、Toolkit\CUDA\v11.8\bin
内にcudnn64_8.dll
のような表記があれば成功です。
エクスプローラーでStable Diffusion web UIをインストールしたい階層を開き、右クリックして「Git Bash Here」を実行します(Cドラ直下、またはC:\aiwork
のようなディレクトリを作成してその直下を指定するなどしてください)。
下記をコピーしてGitの画面にて右クリックから貼り付けしてください。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
貼り付けたらEnterで実行してcloneを行います。無事実行が完了すると先ほど「Git Bash Here」を行った階層にstable-diffusion-webui
というフォルダが作成されます。
以上で、AUTOMATIC1111版webuiのインストール作業は完了です。
FAQ
Stable Diffusion web UIを日英表示にする
webuiを日本語表示に変更する方法については前述しましたが、個人的には日本語と英語を同時に表示する方法を勧めたいと思いますのでこちらで解説します。公式の解説はsd-webui-bilingual-localization | GitHubにあります。
まず初めに「Settings」→「User interface」→「 Localization」をNoneに設定します。
続いて先程と同じように「Extensions」タブから拡張機能のリストを表示してsd-webui-bilingual-localization
という拡張機能を探してインストールしてください。
インストール後「Settings」タブに「Bilingual Localization」という項目が表れますので、設定の「Localization」でja_JP
を指定して「Apply settings」→「Reload UI」の順にクリックして下さい。
基本的にはこれで正常に表示されると思いますが、ブラウザのキャッシュが原因で変更が反映されない場合もあるようなので、このような場合にはブラウザのスーパーリロードを行って下さい。
web UI上部にVAEとClip Skipを表示する
これからローカル生成を始める場合、現時点でVAEやClip Skipと言われても何のことかわからないと思いますが、ここで設定しておくと後で楽できますのでやっておくことをおすすめします。
「Settings」タブ→「User interface」→「Quicksettings」に以下を追加します。
sd_vae,CLIP_stop_at_last_layers
その後「Apply settings」→「Reload UI」をクリックすると、webui上部「checkpoint」の右横に「VAE」「Clip Skip」の設定が表示されているはずです。
webui-user.batにオプションを追加
処理の高速化やVRAMの使用量を抑えるなど、必要に応じて\stable-diffusion-webui\webui-user.bat
にオプションを追加します。追加はwebui-user.bat
をtxtファイルなどで開いて行います。
下記がwebui-user.bat
のデフォルトです。なおアップデートにより変更になる可能性はあります。
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=
call webui.bat
オプションはset COMMANDLINE_ARGS=
の後に追加します。以下はとりあえず追加しておくと良い感じのものです。
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--autolaunch --xformers --listen --disable-nan-check --no-half-vae
call webui.bat
--autolaunch | webui-user.bat 実行時にweb UIを自動で起動させる。 |
--xformers | 画像の生成速度を向上させ、VRAMの使用量を削減する。 |
--listen | web UIを外出先から利用できるようになる(使わなければなくていい)。 参考:【VPN Azure】「Stable Diffusion Web UI(AUTOMATIC1111版)」を外出先から利用する方法 – Qiita |
--disable-nan-check | 黒画像が生成された時の警告処理をスキップする。 |
--no-half | 黒画像発生率が減少する。ただしVRAM使用量が少し増える。またこれだけでは黒画像が表れた際に画像の生成が中断されることに変わりはないので、--disable-nan-check は必要。 |
VRAMが10GB以下などの場合はこれらも追加すると良いようです。
precision full | web UI起動時に画面が真っ暗になるのを防ぐ。 |
medvram | 画像の生成速度を落とす代わりに、VRAM使用量を抑える。 |
lowvram | 画像の生成速度をさらに落とす代わりに、VRAM使用量をさらに抑える。こちらを使う場合はmedvram は不要。 |
オプション追加後はwebui.bat
で起動させるのではなくwebui-user.bat
から起動を行ってください。
以下が公式の解説です。
コメント
コメント一覧 (2件)
コメント失礼します。
CUDA Toolkit 11.8.0 に対応しているcuDNNのバーションが最新のもではなく、ver.8.5.0.96ではないでしょうか。
なんの知識もなく見様見真似でツールを利用している者なので詳しいことは言えないのですが、等を利用する際同環境にてエラーが出てしまいました。
cuDNNのバージョンを上記のものに変更したところ動作したため、もしかしたら他のツールを利用する際にエラーが出るかもしれないです。
https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html
コメントありがとうございます。
Documentation Archives – NVIDIA DocsからcuDNNのアーカイブが確認できます。
このページにある各バージョンのNVIDIA cuDNN Support Matrixを開いてもらうと、
cuDNNとCUDA Toolkitの互換性を確認することができます。
現在cuDNNの最新バージョンは8.9.5のようですが、こちらのSupport Matrixを確認すると、
CUDA Toolkit 11.8において「Supports static linking」が「YES」になっているため互換性に問題はないと思われます。