diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-07-14 17:27:41 +0000 |
---|---|---|
committer | AUTOMATIC1111 <16777216c@gmail.com> | 2023-07-14 17:27:41 +0000 |
commit | ac2d47ff4c00b041cae3d882c2832662c2c64935 (patch) | |
tree | d9cfcb0797c99723b1986e6bf9cd57d3be4175ad /modules/sd_vae_approx.py | |
parent | 471a5a66b73921d569242daccc5275cb195e3f06 (diff) | |
download | stable-diffusion-webui-gfx803-ac2d47ff4c00b041cae3d882c2832662c2c64935.tar.gz stable-diffusion-webui-gfx803-ac2d47ff4c00b041cae3d882c2832662c2c64935.tar.bz2 stable-diffusion-webui-gfx803-ac2d47ff4c00b041cae3d882c2832662c2c64935.zip |
add cheap VAE approximation coeffs for SDXL
Diffstat (limited to 'modules/sd_vae_approx.py')
-rw-r--r-- | modules/sd_vae_approx.py | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/modules/sd_vae_approx.py b/modules/sd_vae_approx.py index b348f3ae..86bd658a 100644 --- a/modules/sd_vae_approx.py +++ b/modules/sd_vae_approx.py @@ -64,12 +64,22 @@ def model(): def cheap_approximation(sample):
# https://discuss.huggingface.co/t/decoding-latents-to-rgb-without-upscaling/23204/2
- coefs = torch.tensor([
- [0.298, 0.207, 0.208],
- [0.187, 0.286, 0.173],
- [-0.158, 0.189, 0.264],
- [-0.184, -0.271, -0.473],
- ]).to(sample.device)
+ if shared.sd_model.is_sdxl:
+ coeffs = [
+ [ 0.3448, 0.4168, 0.4395],
+ [-0.1953, -0.0290, 0.0250],
+ [ 0.1074, 0.0886, -0.0163],
+ [-0.3730, -0.2499, -0.2088],
+ ]
+ else:
+ coeffs = [
+ [ 0.298, 0.207, 0.208],
+ [ 0.187, 0.286, 0.173],
+ [-0.158, 0.189, 0.264],
+ [-0.184, -0.271, -0.473],
+ ]
+
+ coefs = torch.tensor(coeffs).to(sample.device)
x_sample = torch.einsum("lxy,lr -> rxy", sample, coefs)
|