🕌

DockerでStable Diffusionを動かす(CPU版)

2023/01/29に公開約2,500字

1. はじめに

Dockerを使って、Stable Diffusion(ディープラーニングによるテキスト→画像作成ツール)を構築します。
本内容は、CPU版の動かし方について記載しています。

Linux(Ubuntu)の場合は、すでにDockerがインストールされていることを前提とします。

2. Windows版の事前準備

Windows版は以下の環境で実施しました。

OS Windows 11 Home
GPU なし
メモリ 16GB

2.1 Docker Desktopのダウンロード、インストール

以下URLからインストーラ(.exe)をダウンロードします。
https://docs.docker.com/desktop/install/windows-install/
ダウンロードしたファイルを実行し、Docker Desktopをインストールします。
Docker DesktopにはDocker Composeも含まれています。

2.2 Gitのダウンロード、インストール

以下URLからインストーラ(.exe)をダウンロードします。
https://gitforwindows.org/
ダウンロードしたファイルを実行し、Gitをインストールします。

3. Linux(Ubuntu)版の事前準備

Linux版は以下の環境で実施しました。

OS Ubuntu 22.10
GPU なし
メモリ 16GB

3.1 Docker Desktopのダウンロード

以下URLからdebパッケージをダウンロードします。

https://docs.docker.com/desktop/install/ubuntu/

3.2 Docker Desktopの導入

ターミナルから以下のコマンドを実行し、Docker Desktopをインストールします。

sudo apt install ./docker-desktop-4.15.0-amd64.deb

3.3 Docker Desktopの設定変更(Linux版のみ)

StableDiffusionなど、メモリを大量に使用するコンテナを動かす場合は、メモリの割当を増やす必要があります。

[extensions]の右側をクリックし、[Setting]をクリックします。

[Resources]-[Advanced]を選択し、メモリ[Memory]の値を大きくします。
※StableDiffsionを使用する場合、メモリを12GBくらいに増やすと大きめのモデルでも異常終了しないように感じました。

メモリの値を変更したら、[Apply & restart]をクリックして、DockerDesktopを再起動します。

docker のsettings - resource でセッティングで メモリを 4GB(デフォルト)→12GBに変更する。

4. Stable Diffusion web UI (AUTOMATIC1111)のダウンロード

端末より以下のコマンドを実行し、Stable Diffusion WebUI Dockerをcloneします。

git clone https://github.com/AbdBarho/stable-diffusion-webui-docker

5. Stable Diffusionのコンテナを定義

端末より以下のコマンドを実行し、Stable Diffusion のコンテナを定義します。

cd ~/stable-diffusion-webui-docker
docker compose --profile download up --build

正常に終了しない場合、2行目のコマンドを再度実行することで上手く行くことがあります。

6. Stable Diffusionを実行

端末より以下のコマンドを実行し、Stable Diffusion を実行します。

docker compose --profile auto-cpu up --build

Docker DesktopでStable Diffusionが動いていることを確認します。

7. ブラウザから起動

ブラウザより以下のアドレスを入力します。
http://localhost:7860

8. トラブルシューティング

Stable Diffusion を動かしているときにDockerDesktopでエラーコード137(以下の画面)が出る場合は、Dockerで使用するメモリを増やすことで上手く行ったことがあります。

Discussion

ログインするとコメントできます