at backyard

Color my life with the chaos of trouble.

手元のWindows ノートPCでStable Diffusion web UIを動かす(VRAM 4GB環境で真っ黒な画像が出る場合の対応方法つき)

今更ながらStable Diffusion web UIを手元のノートPC(Windows)で動かすためにやったことを下記にメモとして残しておく。

基本的に下記の記事を参考にさせていただいている

zenn.dev

目次

自身のGPU周りの環境

(以下のような情報載せておけばOK?)

  • NVIDIA GeForce GTX 1650 Ti
  • 専用GPUメモリは4GB
  • OSはWindows 11
  • anacondaを利用しており、バージョンは conda 4.12.0
  • 以下にも書いているがPythonのバージョンは3.9を利用(正確には 3.9.15

ちなみに利用しているマシンは以下で書いているやつです。

shinshin86.hateblo.jp

Stable Diffusion web UIを手元のノートPC(Windows)で動かすまで

参照しているリポジトリのリンクは以下。

github.com

Anaconda promptを起動して実施している

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

rem モデルファイルをmodels\stable-diffusion配下に格納

rem stable diffusion用のconda環境を作成
conda create sd-webui python=3.9
conda activate sd-webui

rem pytorchを先に入れておかなければ依存パッケージのbasicsrインストールが失敗するので、まずは下記のコマンドだけ先に実施
pip install pytorch_lightning==1.7.7

rem 依存関連のインストール
pip install -r requirements.txt

rem 下記を実行してしばし待つ
.\webui.bat

処理がひと段落つくとローカルサーバが起動するので、 http://127.0.0.1:7860 にアクセスするとStable Diffusion web UIの画面が表示される。

Stable Diffusion web UIで真っ黒な画像が生成されてしまう

試しに cat one という単語を入力して生成を試みる。

ちなみに生成中の専用GPUメモリは 3.2GB ほど利用していた

生成完了後、以下のように真っ黒な画像が表示されてしまう。

調べてみると専用GPUメモリが4GBのケースでこういう問題は起きるようだ。

※参考になった情報源は下記のreddit

www.reddit.com

どうやらコマンドラインオプションを渡す必要があるらしい。

Stable Diffusion web UIを用いていて、VRAMが4GBの環境で真っ黒な画像が生成される場合の対応方法

上のリンク内を参照した限り、どうやらコマンドラインオプションを渡す必要があるらしいので webui-user.batを以下のように編集して、実行する。

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--lowvram --precision full --no-half

call webui.bat

実行は以下。

.\webui-user.bat

具体的には COMMANDLINE_ARGS に対して --lowvram --precision full --no-half というオプションを付与した形となる。

このオプション(多分関係するオプションとしては --lowvram になるだろうが)を付与すると手元のGPU2.3GB まで利用する形となる)

すると、無事に画像が生成される。

備忘録は以上。