We can't find the internet
Attempting to reconnect
VAEEncodeTiled
(comfyanonymous/ComfyUI)
_for_testing/VAE Encode (Tiled)
_for_testing/VAE Encode (Tiled)
pixel 画像を latent 画像に変換する (省メモリ版)
pixel 画像を latent 画像に変換します。img2img 等で使用します。
VAEEncode の省メモリ版にあたります。 互いにオーバーラップする小さなタイル単位で処理していくので、 メモリ (GPU の VRAM) 使用量が画像のサイズによらずほぼ一定です。 代わりに、画質劣化する他、処理時間が長くなる欠点があります。
画質劣化を抑える工夫として、1024x256 (ピクセル)、256x1024、512x512 の 3種類のタイルサイズでエンコード (オーバーラップ量はいずれも縦横 128 で共通) した結果を平均しています。 通常は大きな劣化はありませんが、2つの広い領域間で極端に色が違ったりすると劣化が目立つことがあります。
関連
- 画質劣化が激しい例: .../issues/500
- 省メモリじゃない版: VAEEncode
- 逆方向の変換: VAEDecode、VAEDecodeTiled
使用例
メモリ消費量と実行時間の実測値
12GB の GeForce 3060 で、バッチサイズ 1 でてきとーに計測してみました (特に、小さい画像でのメモリ消費量はかなり不正確)。
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 |