Windows で Stable Diffusion web UI を動かす方法
Stable Diffusion web UI を Docker を使用して Windows 上で動作させる方法についてまとめてあります。
前提条件
この投稿での環境についてです。必ずしも同様の環境である必要はありません。参考にしてください。
- OS: Windows 11 Pro 22H2
- CPU: Ryzen 7 5700X
- GPU: Geforce RTX 3060
- メモリ: 32GB
- Docker、gitが導入可能、もしくは、すでに導入されている環境
当たり前ですが、Stable Diffusion が扱えるだけのスペックが整っている事が前提です。
Stable Diffusion web UI (AUTOMATIC1111 fork) について
AUTOMATIC1111 さんが fork した Stable Diffusion です。webui がついており、コマンドを使うことなくより簡単に Stable Diffusion を扱えるようにします。私が知る限り、webui から最も様々なことができる Stable Diffusion fork です。
何ができるかはドキュメントにまとめられています。
Stable Diffusion WebUI Docker について
普通に Stable Diffusion を動かそうとすると手間なので、今回はインストールの手間を減らすために Docker を使用します。AbdBarho が公開している Stable Diffusion WebUI Docker を利用します。
Stable Diffusion WebUI Docker では、AUTOMATIC1111、hlky、lstein の Stable Diffusion fork を扱うことが可能です。今回は AUTOMATIC1111 fork を使用します。
セットアップ
Stable Diffusionのセットアップを始めます。人によっては、部分的にスキップ可能な箇所もあると思います。
(1) git for windows のインストール
git for windows をインストールしてください。インストール済みの場合は、無視していいです。
詳細なインストール方法については解説しません。 Download より .exe ファイルをダウンロードし、手順に従うことでインストールが可能です。
(2) Docker Desktop のインストール
Docker Desktop をインストールしてください。インストール済みの場合は、無視していいです。
詳細なインストール方法については解説しません。 Download Docker Desktop より .exe ファイルをダウンロードし、手順に従うことでインストールが可能です。
(3) インストールの確認
正常にインストールが完了しており、Docker Desktop が起動状態であれば、Windows PowerShell か ら以下のコマンドを実行する事で、下記の結果を得ることができます。
Git for Windows の確認
git -v
でインストールされたバージョン情報を確認できます。インストールしたバージョンによって異なる結果が返ってきます。
git -v
Docker for Desktop の確認
docker version
でインストールされたバージョン情報を確認できます。インストールしたバージョンによって異なる結果が返ってきます。
docker version
Client:
Cloud integration: v1.0.29
Version: 20.10.20
API version: 1.41
Go version: go1.18.7
Git commit: 9fdeb9c
Built: Tue Oct 18 18:28:44 2022
OS/Arch: windows/amd64
Context: default
Experimental: true
Server: Docker Desktop 4.13.0 (89412)
Engine:
Version: 20.10.20
API version: 1.41 (minimum version 1.12)
Go version: go1.18.7
Git commit: 03df974
Built: Tue Oct 18 18:18:35 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.8
GitCommit: 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
もしも Docker の動作確認をしたい場合は、docker run hello-world
コマンドでイメージからコンテナを作成してみてください。正常にコンテナを起動することができれば、以下のメッセージを得ることができます。
docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:e18f0a777aefabe047a671ab3ec3eed05414477c951ab1a6f352a06974245fe7
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
(4) Stable Diffusion WebUI Dockerをclone
Stable Diffusion WebUI Docker を clone します。以下のコマンドを実行してください。
git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git
現在いるディレクトリ上にstable-diffusion-webui-docker
というディレクトリが作成され、その中に内容がダウンロードされます。
以降は、stable-diffusion-webui-docker
で作業を行うので、ディレクトリへ移動します。移動するには、以下のコマンドを実行してください。
cd stable-diffusion-webui-docker
(5) モデルデータをダウンロード
Stable Diffusion が利用するモデルデータをダウンロードします。以下のコマンドを実行してください。
docker compose --profile download up --build
このコマンドにより、必要なモデル・ファイルがすべてダウンロードされ、整合性が検証されます。これらのデータは一度ダウンロードするのみで済みます。
ダウンロードされるデータは12GB近いので、十分な容量の確保と安定したインターネット接続が必要です。
かなり時間がかかりますので、待ちましょう。