Stable Diffusion Web UI (AUTOMATIC1111 ) を WSL で使用する方法です。
- Stable Diffusion Web UI
- 準備する
- 実行する
- 設定ファイルの編集
- エラー例
- make: *** [Makefile:1280: install] Error 1
- No version is set for command xxx
- RuntimeError: Couldn’t install torch. / Error code: 1
- RuntimeError: Couldn’t install torch. / Error code: 137
- ERROR: python3 is not installed, aborting…
- ERROR: This script must not be launched as root, aborting…
- ModuleNotFoundError: No module named ‘_tkinter’
- 参考
- 関連
- 参考文献等
- 注意
Stable Diffusion Web UI
Stable Diffusion Web UI を使用し、かんたんな操作で画像生成 AI を動作させます。
本記事では、標準的な利用方法である GPU を用いる方法のほか、 CPU を用いる方法も記載します。
準備する
NVIDIA ドライバのインストール
NVIDIA ドライバが正しくインストールされているか確認します。NVIDIA ドライバのインストール方法については、次のサポート記事をご参照ください:
Debian のインストール
Stable Diffusion WebUI を動作させる Linux 環境として Debian をインストールします。Debian を選択した理由は、開発元のメッセージによります:
Tested on Debian 11 (Bullseye), Fedora 34+ and openSUSE Leap 15.4 or newer.
本記事では、Windows 上から Linux を使用できる Windows Subsystem for Linux (WSL) を使用し、その上で Debian を動作させます。
WSL で使用する Linux ディストリビューションはアプリ ストアから検索してインストールできます。ストア アプリをインストールする方法については、次のサポート記事をご参照ください:
Debian のアップデート
Debian の準備が完了したら、インストール済みの Debian をアップデートします。アップデートは、次のコマンドを使用します:
sudo apt update && sudo apt upgrade -y
パッケージのインストール
次のコマンドを使用して必要なパッケージをインストールします:
sudo apt install wget git curl build-essential libsqlite3-dev libssl-dev libffi-dev libncurses5-dev zlib1g zlib1g-dev libreadline-dev libbz2-dev libsqlite3-dev make gcc libglib2.0-0 -y
次のコマンドを使用して必要なパッケージをインストールします:
sudo apt install libgoogle-perftools-dev libgl1-mesa-glx bc -y
sudo apt install --no-install-recommends google-perftools -y
次のコマンドを使用して asdf を git clone します:
git clone https://github.com/asdf-vm/asdf.git ~/.asdf
.bashrc に設定します:
echo '. $HOME/.asdf/asdf.sh' >> ~/.bashrc
echo '. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc
source ~/.bashrc
asdf の動作確認のためにバージョンを確認します:
asdf --version
問題なければ asdf に Python 用のプラグインを追加します:
asdf plugin add python
インストールした asdf 用の Python プラグインを使用して Python 3.10.6 をインストールします:
asdf install python 3.10.6
Stable Diffusion WebUI
次のコマンドを使用して stable-diffusion-webui を git clone し、そのディレクトリに移動します:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
stable-diffusion-webui がカレント ディレクトリであることを確認し、asdf を使用してカレント ディレクトリが使用する Python のバージョンに 3.10.6 を設定します:
asdf local python 3.10.6
Python のバージョンを確認し、指定したバージョンとなっているか確認します:
python --version
問題なければ pip をアップグレードします:
pip install --upgrade pip
pip を使用してパッケージをインストールします:
pip3 install backports.lzma
一度だけ実行する準備はここまでです。以降は Stable Diffusion WebUI を使用するたびに実行します。
実行する
起動する
次のコマンドを実行して Stable Diffusion WebUI を起動します:
./webui.sh
初回起動時やモデルを追加したときなどは、起動に時間がかかることがあります。環境によっては、とても長い時間が必要であり、停止したように見えることあります。
(参考) 黒い画面を閉じてから再実行するときは、次のように実行します:
cd stable-diffusion-webui
./webui.sh
Web UI にアクセスする
Windows 上で実行する「Stable Diffusion WebUI」や「Stable Diffusion WebUI Forge」とは異なり、ブラウザが自動的に起動しないことに注意してください。
準備が整ったことを見計らって、ブラウザで「Stable Diffusion WebUI」にアクセスします。準備が整う前にアクセスするとエラーになりますのでご注意ください。ブラウザで開くアドレスは次のとおりです:
http://127.0.0.1:7860/
以後は「ブラウザ」を操作しますが、使用中は黒い画面を閉じないでください (最小化する操作は問題ありません)。
もし、実行に問題がある場合は、黒い画面にエラーが表示されている場合がありますので、確認してください。
終了する
終了する時や再起動するときは、ブラウザを閉じ、黒い画面を閉じます。
著しくシステム リソースの乏しい環境では、実行に時間がかかって停止したように見えたり、システムが不安定になったりハングアップ (システムが機能停止) する場合があります。
設定ファイルの編集
CPU で実行する
標準では GPU を使用しますが、 CPU を使用することもできます。CPU を使用するには、設定ファイルの COMMANDLINE_ARGS に次のオプションを指定します:
--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu all --precision full --no-half
設定ファイルに Debian からアクセスする場合は、次のとおりです:
\home\seeck\stable-diffusion-webui\webui-user.sh
設定ファイルに Windows からアクセスする場合は、次のとおりです:
"\\wsl.localhost\Debian\home\seeck\stable-diffusion-webui\webui-user.sh"
編集前 (抜粋):
#!/bin/bash
#########################################################
# Uncomment and change the variables below to your need:#
#########################################################
# Install directory without trailing slash
#install_dir="/home/$(whoami)"
# Name of the subdirectory
#clone_dir="stable-diffusion-webui"
# Commandline arguments for webui.py, for example: export COMMANDLINE_ARGS="--medvram --opt-split-attention"
#export COMMANDLINE_ARGS=""
# python3 executable
#python_cmd="python3"
:
:
編集後 (抜粋):
#!/bin/bash
#########################################################
# Uncomment and change the variables below to your need:#
#########################################################
# Install directory without trailing slash
#install_dir="/home/$(whoami)"
# Name of the subdirectory
#clone_dir="stable-diffusion-webui"
# Commandline arguments for webui.py, for example: export COMMANDLINE_ARGS="--medvram --opt-split-attention"
export COMMANDLINE_ARGS="--skip-torch-cuda-test --upcast-sampling --no-half-vae --use-cpu all --precision full --no-half"
# python3 executable
#python_cmd="python3"
:
:
設定が完了したらファイルを保存します。
※「–use-cpu interrogate」では GPU を使用したので「–use-cpu all」としたところ CPU を使用しました
エラー例
make: *** [Makefile:1280: install] Error 1
$ asdf install python 3.10.6
:
:
BUILD FAILED (Ubuntu 22.04 using python-build 2.4.1)
:
:
make: *** [Makefile:1280: install] Error 1
本記事記載の手順を再実行し、必要なパッケージをインストールします。
No version is set for command xxx
$ pip3 install xxx
No version is set for command xxx
Consider adding one of the following versions in your config file at
python 3.10.6
Python が指定されていません。
RuntimeError: Couldn’t install torch. / Error code: 1
$ ./webui.sh
:
:
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
torch==2.1.2 from https://download.pytorch.org/whl/cu121/torch-2.1.2%2Bcu121-cp310-cp310-linux_x86_64.whl#sha256=b2184b7729ef3b9b10065c074a37c1e603fd99f91e38376e25cb7ed6e1d54696:
Expected sha256 b2184b7729ef3b9b10065c074a37c1e603fd99f91e38376e25cb7ed6e1d54696
Got 57845714286f1deaf5afaefb27a74a9561d6758471cd0e4e6dc2836f249410d6
[notice] A new release of pip available: 22.2.1 -> 24.0
[notice] To update, run: pip install --upgrade pip
:
:
RuntimeError: Couldn't install torch.
Command: "/home/seeck/stable-diffusion-webui/venv/bin/python3" -m pip install torch==2.1.2 torchvision==0.16.2 --extra-index-url https://download.pytorch.org/whl/cu121
Error code: 1
「pip install –upgrade pip」を実行します。
RuntimeError: Couldn’t install torch. / Error code: 137
$ ./webui.sh
:
:
RuntimeError: Couldn't install torch.
Command: "/home/seeck/stable-diffusion-webui/venv/bin/python3" -m pip install torch==2.1.2 torchvision==0.16.2 --extra-index-url https://download.pytorch.org/whl/cu121
Error code: 137
メモリが不足していますので、WSL の割当メモリを増やしてください。WSL の割当メモリを設定する方法については、次のサポート記事をご参照ください:
ERROR: python3 is not installed, aborting…
$ ./webui.sh
:
:
################################################################
ERROR: python3 is not installed, aborting...
################################################################
Python が見つけられない状態です。Python がインストールされていない場合は、Python をインストールします。Python がインストールされている場合は、実行中のシェルスクリプトが Python に正しくアクセスできることを確認します。
ERROR: This script must not be launched as root, aborting…
:
:
ERROR: This script must not be launched as root, aborting...
「ERROR: This script must not be launched as root, aborting…」と表示された場合は、 root 権限で起動しようとしたため、起動を停止しました。ユーザ権限で起動し直してください。
ModuleNotFoundError: No module named ‘_tkinter’
$ asdf install python 3.10.6
:
:
ModuleNotFoundError: No module named '_tkinter'
WARNING: The Python tkinter extension was not compiled and GUI subsystem has been detected. Missing the Tk toolkit?
Installed Python-3.10.6 to /home/seeck/.asdf/installs/python/3.10.6
asdf: Warn: You have configured asdf to preserve downloaded files (with always_keep_download=yes or --keep-download). But
asdf: Warn: the current plugin (python) does not support that. Downloaded files will not be preserved.
参考
Windows 上から出力フォルダを参照する
Stable Diffusion WebUI の生成物は output ディレクトリに出力されます。Windows 上からエクスプローラーを使用してこれらのファイルにアクセスすることもできます。Windows から次の場所を開きます:
\\wsl.localhost\Debian\home\seeck\stable-diffusion-webui\outputs\
※Linux ディストリビューションとユーザ名は、適宜お読み替えください
ストレージ容量
この例では、WSL を使用する例を記載しました。実際に操作する場合は十分なストレージ容量があるかを確認してから実行してください。
GPU と CPU の比較
通常 GPU で実行しますが、 CPU で実行するオプションも用意されています。ただし、 CPU で実行する場合は、とても時間がかかるほか、非推奨の実行となりますのでご注意ください。また、将来 CPU での実行がサポートされなくなる可能性もあります。
- CPU 環境: 約 17 分 … 1,000 Sec
- GPU 環境: 約 20 秒 … 20 Sec
同一のハードウェア環境に対して GPU の有無で実験したもので、プロンプトやモデル等は同一のもの、複数回テストして計測しました。実験環境は以下の通りです:
- ホスト環境
- CPU Intel Xeon X3450 @ 2.67 GHz
- MEM 16 GB
- SSD 240 GB
- OS Windows 11 Pro 23H2 x64
- ゲスト環境
- CPU 環境
- Debian 12.5
- MEM 12 GB
- GPU 環境
- CPU 環境と同一
- GPU として NVIDIA GeForce GTX 1060 6 GB を接続
- CPU 環境
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
関連
Windows 上で Stable Diffusion Web UI を実行する方法については、次のサポート記事をご参照ください:
Windows 上で Stable Diffusion Web UI Forge を実行する方法については、次のサポート記事をご参照ください:
参考文献等
- GitHub – AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI
https://github.com/AUTOMATIC1111/stable-diffusion-webui
注意
- 本操作例は Windows 11 の WSL で Stable Diffusion web UI (AUTOMATIC1111) が動作する環境を構築するものです
スポンサードリンク