ComfyUI-SUPIR
インストール
もし手動でしたいなら
$ cd path\to\ComfyUI\custom_nodes
$ ../../../python_embeded/python.exe -m pip install -r requirements.txt
xformersが必要なのでインストール
$ ../../../python_embeded/python.exe -m pip install -U xformers --no-dependencies
モデルのダウンロード
上のモデルをPruningしたもので、サイズが半分になっています
VRAMの使用料が減るかもしれない
https://gyazo.com/714de907c1e69597d75ca038c8c5e824
captions
論文ではLLaVA-1.5を使ってキャプションをつけているが、このノードではVLMによるキャプションを内臓していない ただし、例えばllava v1.6だとVRAM7GB占有してしまうので選ばれし民しか併用できない
正しいプロンプトは非常に大事で、プロンプトが適当だと生成される画像のクオリティが大分下がる
captionsとa_promptのテキストは単純に連結されてプロンプトとして使用される
supir_modelにはダウンロードしたSUPIRモデルのどちらかを選択
論文で使われたモデル
SUPIR-v0FのStage1エンコーダは、光劣化に直面しても、より詳細な情報を残す。
sdxl_model
好きなモデルを選択
cfg_scale
現在議論されているところだが、4.0程度が良いらしい
scale_by
倍率
use_tiled_vae
VRAM富豪以外はtrueにしないと動きもしない
use_tiled_sampling
TIlingによって生成速度は大分早くなるが、Tilingの弱点は引き継がれる
fp8_unet
fp8_vae
fp8をオンにするとVRAM12GBでも2048pxくらいまではタイルなしで生成できる
V2
https://gyazo.com/e8060c715351291eb96482b2b1643aa2
処理を細かいノードの分割したもの
基本的にSUPIRがやっていることはControlNet + image2image
なのでHires.fixのように先に画像を拡大してからSUPIR Samplerに流す
VRAM12GBのグラボの場合、fp8_unet / use_tiled_vae のすべてtrueにしないと多分動きません
V2改
https://gyazo.com/8ab13c8442526b4fb765a59f679a0048
🟨アップデートによりSUPIRモデルとSDXLモデルを別のノードで読み込めるようになった
これによりSDXL用のLoRAモデルを追加することができる
clear_cacheをtrueにしておかないとうまくVRAM開放されずに処理が止まるかもしれない
エラーを一応メモ
$ Error occurred when executing SUPIR_Upscale:
$ The size of tensor a (24) must match the size of tensor b (128) at non-singleton dimension 3
画像サイズ×scale_byがsampling_tile_sizeより小さいのにuse_tiled_samplingをtrueにすると発生する
それはそう
Stable Diffusion使ったアップスケーラー特有のよくわからない描き込みが増えることがあるので、実際の写真に対して使うかは微妙nomadoor.icon
生成画像に関してはSD upscale使うよりこれで仕上げる方が安定してて良いんではなかろうか