adjusted for zeroGPU
Browse files- demo.py +4 -3
- requirements.txt +2 -1
demo.py
CHANGED
@@ -15,6 +15,7 @@ from PIL import Image, ImageOps
|
|
15 |
from safetensors.torch import load_file
|
16 |
from torch.nn import functional as F
|
17 |
from torchdiffeq import odeint_adjoint as odeint
|
|
|
18 |
|
19 |
from echoflow.common import instantiate_class_from_config, unscale_latents
|
20 |
from echoflow.common.models import (
|
@@ -238,7 +239,7 @@ def preprocess_mask(mask):
|
|
238 |
# Convert back to numpy array
|
239 |
return np.array(mask_pil)
|
240 |
|
241 |
-
|
242 |
def generate_latent_image(mask, class_selection, sampling_steps=50):
|
243 |
"""Generate a latent image based on mask, class selection, and sampling steps"""
|
244 |
|
@@ -300,7 +301,7 @@ def generate_latent_image(mask, class_selection, sampling_steps=50):
|
|
300 |
|
301 |
return latent_image # B x C x H x W
|
302 |
|
303 |
-
|
304 |
def decode_images(latents, vae):
|
305 |
"""Decode latent representations to pixel space using a VAE.
|
306 |
|
@@ -400,7 +401,7 @@ def check_privacy(latent_image_numpy, class_selection):
|
|
400 |
f"✅ **Success:** Generated image passed privacy check (corr = {corr:.4f} / tau = {tau:.4f})",
|
401 |
)
|
402 |
|
403 |
-
|
404 |
def generate_animation(
|
405 |
latent_image, ejection_fraction, sampling_steps=50, cfg_scale=1.0
|
406 |
):
|
|
|
15 |
from safetensors.torch import load_file
|
16 |
from torch.nn import functional as F
|
17 |
from torchdiffeq import odeint_adjoint as odeint
|
18 |
+
import spaces
|
19 |
|
20 |
from echoflow.common import instantiate_class_from_config, unscale_latents
|
21 |
from echoflow.common.models import (
|
|
|
239 |
# Convert back to numpy array
|
240 |
return np.array(mask_pil)
|
241 |
|
242 |
+
@spaces.GPU
|
243 |
def generate_latent_image(mask, class_selection, sampling_steps=50):
|
244 |
"""Generate a latent image based on mask, class selection, and sampling steps"""
|
245 |
|
|
|
301 |
|
302 |
return latent_image # B x C x H x W
|
303 |
|
304 |
+
@spaces.GPU
|
305 |
def decode_images(latents, vae):
|
306 |
"""Decode latent representations to pixel space using a VAE.
|
307 |
|
|
|
401 |
f"✅ **Success:** Generated image passed privacy check (corr = {corr:.4f} / tau = {tau:.4f})",
|
402 |
)
|
403 |
|
404 |
+
@spaces.GPU
|
405 |
def generate_animation(
|
406 |
latent_image, ejection_fraction, sampling_steps=50, cfg_scale=1.0
|
407 |
):
|
requirements.txt
CHANGED
@@ -11,4 +11,5 @@ torch==2.2.2
|
|
11 |
torchdiffeq==0.2.4
|
12 |
xformers==0.0.25.post1
|
13 |
timm==0.9.16
|
14 |
-
accelerate==0.34.2
|
|
|
|
11 |
torchdiffeq==0.2.4
|
12 |
xformers==0.0.25.post1
|
13 |
timm==0.9.16
|
14 |
+
accelerate==0.34.2
|
15 |
+
spaces==0.33.1
|