見出し画像

Stable Diffusion VRAM 6GBメモ

筆者は「ゲーミングノートPC」を2021年12月に購入しました。
RTX 3060 Laptopが搭載されています。専用のVRAMは6GB。

その辺のスペック表を見ると「Laptop」なのに省略して「RTX 3060」と書かれていることに注意が必要。ノートPC用の内蔵GPUのものは「ゲーミングPC」などで使われるデスクトップ用GPUボードとは基本的に異なっています。

デスクトップ:RTX 3060:12GB
ノートPC:RTX 3060 Laptop:6GB

さてVRAM6GBでは当初はなかなか難しいと思う人もいるかもしれなかったが、低メモリーのオプションや高速化の手法などが実装されて、だいぶ実用的になってきました。

以下は現在使っている「Stable Diffusion WebUI AUTOMATIC1111版」を前提に書かれています。

小メモリーオプション。起動時のbatファイルに以下を指定しています。
--medvram

img2img / Euler a / step 20(おそらくfp16+vae)
512x512:OK:5s
640x640:OK:8s
704x704:OK:9s
768x768:OK:10s
832x832:OK:14s
896x896:OK:20s
960x960:OK:27s
1024x1024:OK:29s
1280x1280:OK:1m20s
1920x1920:NG:PYTORCH_CUDA_ALLOC_CONF

やってみると最初はできなかった大きなサイズ(1024)とかでも出力できることがあります。
あまり大きな画像を直で出すと、複数人出てきたり崩壊したりすることがあります。そういうのを防止するためにhires.fixという方法があります。
これは一度512程度の大きさに出したものを元にimg2imgの手法で拡大するという方法です。
ただすべてのガチャ画像でhirex.fixをすると時間がかなりかかります。

そこで一度512x512くらいのサイズで10~100個単位でガチャを回します。
その中から厳選をします。
そして選んだ画像を保存してimg2imgに移動します。

こちらでは1024や1280くらいのサイズで再出力します。
構図や細かい部分までなるべく保存したいのであれば「Denoising strength」の値を「0.4-0.5」くらいまで下げる方法もあります。一般的には「0.5-0.7」くらいで使用するようですが、0.7だと構図が珍しいときに、うまく再現されないことが多くなってきます。

6GBですが、MAXで1536x1536まではいけるようです。
実は普段1280x1280までしかやったことがないので、これはちょっと意外です。

img2img
1536x1536:OK:58s

普段はさらにwaifu2xというwindowsアプリケーションで拡大して長辺4096で出力しています。

自分が使っている設定は「ノイズ除去(自動判定)と拡大」「レベル3」「2次元イラスト(CUNet)」となっています。

以上です。ありがとうございました。


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