aboutsummaryrefslogtreecommitdiff
path: root/modules/sd_vae_approx.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/sd_vae_approx.py')
-rw-r--r--modules/sd_vae_approx.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/modules/sd_vae_approx.py b/modules/sd_vae_approx.py
index 3965e223..8370493f 100644
--- a/modules/sd_vae_approx.py
+++ b/modules/sd_vae_approx.py
@@ -21,7 +21,13 @@ class VAEApprox(nn.Module):
def forward(self, x):
extra = 11
- x = nn.functional.interpolate(x, (x.shape[2] * 2, x.shape[3] * 2))
+ try:
+ x = nn.functional.interpolate(x, (x.shape[2] * 2, x.shape[3] * 2))
+ except RuntimeError as e:
+ if "not implemented for" in str(e) and "Half" in str(e):
+ x = nn.functional.interpolate(x.to(torch.float32), (x.shape[2] * 2, x.shape[3] * 2)).to(x.dtype)
+ else:
+ print(f"An unexpected RuntimeError occurred: {str(e)}")
x = nn.functional.pad(x, (extra, extra, extra, extra))
for layer in [self.conv1, self.conv2, self.conv3, self.conv4, self.conv5, self.conv6, self.conv7, self.conv8, ]: