ZeroGPU
Browse files
demo.py
CHANGED
@@ -7,6 +7,7 @@ import cv2
|
|
7 |
import diffusers
|
8 |
import gradio as gr
|
9 |
import numpy as np
|
|
|
10 |
import torch
|
11 |
from einops import rearrange
|
12 |
from huggingface_hub import hf_hub_download
|
@@ -15,7 +16,6 @@ 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 |
-
import spaces
|
19 |
|
20 |
from echoflow.common import instantiate_class_from_config, unscale_latents
|
21 |
from echoflow.common.models import (
|
@@ -239,6 +239,7 @@ def preprocess_mask(mask):
|
|
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"""
|
@@ -301,6 +302,7 @@ def generate_latent_image(mask, class_selection, sampling_steps=50):
|
|
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.
|
@@ -401,6 +403,7 @@ def check_privacy(latent_image_numpy, class_selection):
|
|
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
|
|
|
7 |
import diffusers
|
8 |
import gradio as gr
|
9 |
import numpy as np
|
10 |
+
import spaces
|
11 |
import torch
|
12 |
from einops import rearrange
|
13 |
from huggingface_hub import hf_hub_download
|
|
|
16 |
from safetensors.torch import load_file
|
17 |
from torch.nn import functional as F
|
18 |
from torchdiffeq import odeint_adjoint as odeint
|
|
|
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 |
+
|
243 |
@spaces.GPU
|
244 |
def generate_latent_image(mask, class_selection, sampling_steps=50):
|
245 |
"""Generate a latent image based on mask, class selection, and sampling steps"""
|
|
|
302 |
|
303 |
return latent_image # B x C x H x W
|
304 |
|
305 |
+
|
306 |
@spaces.GPU
|
307 |
def decode_images(latents, vae):
|
308 |
"""Decode latent representations to pixel space using a VAE.
|
|
|
403 |
f"✅ **Success:** Generated image passed privacy check (corr = {corr:.4f} / tau = {tau:.4f})",
|
404 |
)
|
405 |
|
406 |
+
|
407 |
@spaces.GPU
|
408 |
def generate_animation(
|
409 |
latent_image, ejection_fraction, sampling_steps=50, cfg_scale=1.0
|