3
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSL2でAUTOMATIC1111/Stable Diffusion WebUIを構築する

Last updated at Posted at 2023-04-03

目標

WindowsWSL2でStableDiffusionを立ち上げたい。
https://github.com/CompVis/stable-diffusion
https://github.com/AUTOMATIC1111/stable-diffusion-webui
今回はwebuiで環境構築してみる。

※追記
20230430時点ではこちらのほうが活発。
https://github.com/vladmandic/automatic
構築は以下
WSL2でvladmandic/automaticを構築する

WSL2の設定

自身のPCのスペックに合わせて調整。

.wslcomfig
[wsl2]
memory=16GB
swap=128GB

WSL2の再起動

wsl --shutdown

pyenvのインストール

# apt
$ sudo apt update
$ sudo apt upgrade

# depencies
$ sudo apt install \
build-essential \
libffi-dev \
libssl-dev \
zlib1g-dev \
liblzma-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
libopencv-dev \
tk-dev

# pyenv
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

# path
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
$ source ~/.bashrc

# check version
$ pyenv --version
pyenv 2.3.16-1-gb1ee6c93

pythonのインストール

# python
$ pyenv install 3.10.6
$ pyenv global 3.10.6

# check version
$ python --version
Python 3.10.6

stable diffusion webuiのクローン

$ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
$ cd stable-diffusion-webui/

起動引数の追加

webui-user.sh
export COMMANDLINE_ARGS="--xformers --opt-channelslast"

stable diffusion webuiのセットアップ

起動手順と同じ。
このときcudaやxformer等の他に必要なファイル群がインストールされる。
起動し終わったら一旦終了。

$ bash webui.sh

CUDA Toolkitへのパスを設定

$ echo 'export LD_LIBRARY_PATH="/usr/lib/wsl/lib:$LD_LIBRARY_PATH"' >> ~/.bashrc
$ source ~/.bashrc

# グラフィックカードの確認
$ nvidia-smi -L
GPU 0: NVIDIA GeForce RTX 4090 (UUID: GPU-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)

# CUDAの確認
$ nvidia-smi -q
==============NVSMI LOG==============

Timestamp                                 : 
Driver Version                            : 537.42
CUDA Version                              : 12.2
...

stable diffusion webuiの起動

$ bash webui.sh

起動引数(よく使いそうなものだけ)

  • --listen
    • 0.0.0.0で起動してネットワーク越しに応答する
  • --port
    • 起動時のポート
  • --gradio-auth
  • --nowebui
    • uiなしでapiを起動する
  • --xformers
    • xformersを使う。画像生成速度の向上と、VRAM使用量の削減
  • --reinstall-xformers
    • 起動するたびにxformersを再インストールする。アップデートに便利。使い終わったら削除
  • --opt-channelslast
    • 16xx以上のTensorコアを積んでるNvidiaグラボで処理が高速になるかも
  • --no-half-vae
    • VAEモデルを16bit floatに切り替えない。黒飛びしすぎる時につけると現象が緩和されるかもしれない
  • --medvram
    • VRAMが少ないときはこれ。もっと少なければ--lowvram
  • --autolaunch
    • 起動時にUIを自動表示

ファイルの配置

  • Textual Inversion
    • ./stable-diffusion-webui/embeddings
  • Check Point
    • ./stable-diffusion-webui/models/Stable-diffusion
  • LoRAモデル
    • ./stable-diffusion-webui/models/Lora
    • モデルファイルと同名の画像を用意すればサムネイルになる
  • VAE
    • ./stable-diffusion-webui/models/VAE
  • LyCORIS(LoCo, LoHA)

注意事項

職場や公共の場所などで試すときは必ずNegativePromptにセンシティブワードを入れておく

所感

使うだけなら非常に簡単だった
条件次第で本当にマトモな画像が出てくるから凄い
次はCheckPointやLoRAを作ってみよう

3
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?