見出し画像

Stable Diffusion Web UI Forge が立ち上がらなくなった!原因は...。【別原因で2 回目】

新たな SDXL 系の CheckPoint ファイルを入手して描画させた後、
別の描画において、Refiner 機能を使って他の CheckPoint ファイル
の画の風合いをブレンドさせていた途中で、その新しいSDXL 系の
CheckPoint ファイルを Refiner 機能で指定して描画させたところ、
GPU メモリ不足と思われるエラーで裏のバッチ処理(処理実体)が
異常終了しました。

breakdomain_M2150.safetensors による肖像(再掲):以下の2 画もプロンプトは同一。
breakdomain_M2150.safetensors での描画をベースに Refiner 機能でbeautifulRealistic_brav5.safetensors を0.3(後者の 影響量70 %)加味した肖像(新規公開)
breakdomain_M2150.safetensors での描画をベースに Refiner 機能でmeichidarkMix_meichidarkV45.safetensors を0.2(後者の 影響量80 %)加味した肖像(再掲)

良く考えてみれば、容量が 6.78 GB もある CheckPoint ファイル
でしたので、GPU 用の RAM が8 GB のGeforce RTX4060 では
単体で実行させるのがギリギリで、3 GB 弱のメインのCheckPoint
ファイルの描画の上にかぶせることは無茶だったのでした。

厄介はその後、やって来ました。
Stable Diffusion Web UI Forge が起動途中で異常終了して使えなく
なってしまいました。前回の件とは原因が異なります。

Stable Diffusion Web UI Forge は起動時に CheckPoint ファイルなど
前回終了時の設定を自動再現しようとします。裏のバッチ(処理実体)
を見ていましたら、メインの CheckPoint ファイルをローディングした
後、続いてRefiner 機能で指定していた、その巨大なCheckPoint ファイル
をローディングしようとして、そこで同じメモリ不足エラーに陥って
いるようでした。

起動ジョブが途中で止まってしまい Stable Diffusion Web UI Forge が使えない

正常終了後の正常起動の流れでは、Refiner 機能は前回設定に関わらず
OFF 状態になっている(再設定が必要)にも関わらず、処理実体と
しては、前回にRefiner 機能で指定していた CheckPoint ファイルも
あらかじめロードしていたのでしょうか。

何度やっても結果は変わらないので、またゼロから環境を作り直し
ました。保存していた webui_forge_cu121_torch21.7z の解凍を
別フォルダで行い、動かなくなった環境のフォルダから改めて生成
した環境に CheckPoint ファイル、LoRA ファイルなどを全て移しました。

途中、解凍処理時間が23 時間とか表示されて焦りましたが、実際は
25 分くらいで終わりました。

CheckPoint ファイルの移動などはコピー&ペーストではなく同一
ドライブ中の move なので、それほど時間を要しませんでした。
(ディレクトリ情報の書き換えのみでファイル本体は動かない。)

メモリ使用状況改善、処理速度改善に関しての以下の設定を書き加えた
webui-user.bat を旧系から新系に移して、update.bat を1 度実行した後
ようやく起動復活しました。

set COMMANDLINE_ARGS= --pin-shared-memory --cuda-stream --cuda-malloc

今回の教訓は「Refiner 機能で指定する二次 CheckPoint ファイルは
RTX4060 環境では SD1.5 系のファイルに留めること」
「メインの CheckPoint ファイルが SDXL 系の場合は、単体実行も
環境ギリギリなので、SD1.5 ファイルを Refiner 機能で指定するにも
メモリ使用の総量を良く考えておく」でした。
(GPU のRAM に展開されるサイズの正確なところは分からないものの、
HDD や SSD 上でのCheckPoint ファイルのサイズでおおよその見当はつく)

少し考えれば分かる話でしたが、迂闊でした。
自身の後学のため、また同様の事態になられた方へのご参考になれば
と思い、記事化しました。


ご覧いただきありがとうございます。




この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?