VAEDecode

(comfyanonymous/ComfyUI)
latent/VAE Decode
latent 画像を pixel 画像に変換する

latent 画像を pixel 画像に変換します。PreviewImage の前処理として頻用されます。

原則的には、画像のサイズ (面積) とバッチ数に比例するように VRAM 使用量が変化します。 ある程度になるとバッチ数を減らして対応します。 それでも対応できない場合は、省メモリ版の VAEDecodeTiled にフォールバックします。

関連

使用例

まだ

メモリ消費量と実行時間の実測値

12GB の GeForce 3060 で、バッチサイズ 1 でてきとーに計測してみました (特に、小さい画像でのメモリ消費量はかなり不正確)。

(VAEEncode => VAEEncodeTiled の自動フォールバックが無い時代の結果です)
px * px \ VAEDecode VAEEncode VAEDecodeTiled VAEEncodeTiled
512 * 512 1.9GB, 0.5secs 1.0GB, 0.3secs 2.1GB, 2.1secs 1.0GB, 0.8secs
1024 * 512 3.5GB, 0.8secs 2.2GB, 0.5secs 2.1GB, 3.9secs 1.0GB, 1.4secs
1024 * 1024 7.2GB, 1.5secs 2.9GB, 0.9secs 2.1GB, 8.0secs 1.0GB, 2.7secs
1536 * 1024 10.6GB, 2.3secs 8.7GB, 1.4secs 2.1GB, 11.8secs 1.0GB, 3.9secs
1536 * 1536 11.2GB, 3.6secs 6.1GB, 2.3secs 2.1GB, 17.2secs 1.0GB, 5.6secs
2048 * 1536 11.0GB, 5.1secs 8.0GB, 3.4secs 2.1GB, 23.9secs 1.0GB, 7.5secs
2048 * 2048 11.1GB, 8.8secs 10.6GB, 5.6secs 2.1GB, 33.0secs 1.0GB, 10.2secs
3072 * 2048 OOM, 62.8secs 9.6GB, 11.1secs 2.1GB, 48.8secs 1.0GB, 15.0secs
2560 * 2560 OOM, 63.1secs ???, 12.1secs ???, ??? ???, ???
3072 * 3072 OOM, 107.2secs OOM, aborted 2.1GB, 72.4secs 1.0GB, 22.5secs
6144 * 4096 ???, ??? ???, ??? ???, 195.6secs ???, 62.1secs