モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

stable-diffusion-webui-dockerをGPUのRAMが4Gの環境で動かす

StableDiffusionがオープンソースで発表されて、怒涛の勢いでより簡単に、使いやすくなるよう開発が進められましたが、現時点で一番楽なのは stable-diffusion-webui-docker を入れる、だと思います。


下記のエントリなどを参考にして
zenn.dev

Windows11でCUDAのドライバとDocker Desktopが入っていれば、あとはPowerShell上から

> git clone https://github.com/AbdBarho/stable-diffusion-webui-docker
> cd stable-diffusion-webui-docker
> docker compose --profile download up --build
> docker compose --profile auto up --build

して、ブラウザから http://localhost:7860/ を開けばいいだけです。


なのですが、自分のノートはRTX3050Tiの4GBとメモリが足りず、そのままでは「exited with code 137」のエラーが出て起動してくれませんでした。
ただ「Highly optimized 4GB GPU support」と書いてあるように4GBでも設定すれば動きました。


Usage · AbdBarho/stable-diffusion-webui-docker Wiki · GitHub

に説明があるように、dockerのフォルダ内に下記内容を

services:
   automatic1111:
     environment:
       - CLI_ARGS=--lowvram

「docker-compose.override.yml」というファイル名で作成します。


このファイルを作ってから docker compose … を実行してやります。


ただ、自分の場合はこれだけでもダメでした。
WSL2でメモリをぎりぎりまで使ってしまうため、それを制限するための設定を「C:\Users\【ユーザ名】\.wslconfig」ファイルに

[wsl2]
memory=8GB

のように設定していました。が、下記エントリに、WSL2に12GBは使えるようにしてないとだめとありました。

Web UI container exits with code 137 · Issue #64 · AbdBarho/stable-diffusion-webui-docker · GitHub

そこで設定変更して

[wsl2]
memory=12GB

としてやったところ無事に動くようになりました。