Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -4,7 +4,7 @@ from PIL import Image
|
|
| 4 |
from diffusers import StableDiffusionXLImg2ImgPipeline
|
| 5 |
import spaces
|
| 6 |
|
| 7 |
-
# 1. Definici贸n del modelo SDXL s煤per ligero
|
| 8 |
MODEL_ID = "stabilityai/stable-diffusion-xl-base-1.0"
|
| 9 |
|
| 10 |
print("Iniciando descarga de SDXL FP16...")
|
|
@@ -15,10 +15,9 @@ pipe = StableDiffusionXLImg2ImgPipeline.from_pretrained(
|
|
| 15 |
use_safetensors=True
|
| 16 |
)
|
| 17 |
|
| 18 |
-
#
|
| 19 |
-
pipe.enable_model_cpu_offload()
|
| 20 |
|
| 21 |
-
#
|
| 22 |
print("Cargando IP-Adapter (Inyector de estilo)...")
|
| 23 |
pipe.load_ip_adapter("h94/IP-Adapter", subfolder="sdxl_models", weight_name="ip-adapter_sdxl.safetensors")
|
| 24 |
|
|
@@ -28,6 +27,9 @@ def process_cosplay_edit(base_image, reference_image, prompt, steps, strength, i
|
|
| 28 |
if base_image is None or reference_image is None:
|
| 29 |
raise gr.Error("Por favor, sube ambas im谩genes.")
|
| 30 |
|
|
|
|
|
|
|
|
|
|
| 31 |
# Redimensionar a la resoluci贸n 贸ptima de SDXL (1024x1024)
|
| 32 |
base_resized = base_image.resize((1024, 1024), Image.Resampling.LANCZOS)
|
| 33 |
ref_resized = reference_image.resize((1024, 1024), Image.Resampling.LANCZOS)
|
|
@@ -67,9 +69,7 @@ with gr.Blocks(theme=gr.themes.Base()) as demo:
|
|
| 67 |
)
|
| 68 |
|
| 69 |
with gr.Accordion("Ajustes de Transferencia", open=False):
|
| 70 |
-
# Strength define qu茅 tanto se transforma la foto original
|
| 71 |
strength_scale = gr.Slider(minimum=0.3, maximum=0.99, value=0.85, step=0.05, label="Fuerza de Transformaci贸n (Strength)")
|
| 72 |
-
# IP Scale define cu谩nta atenci贸n prestar a la ropa de la Foto 2
|
| 73 |
ip_scale = gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.05, label="Influencia de la Ropa (IP Scale)")
|
| 74 |
inference_steps = gr.Slider(minimum=15, maximum=40, value=30, step=1, label="Pasos de Calidad")
|
| 75 |
seed_num = gr.Number(value=4242, label="Semilla")
|
|
|
|
| 4 |
from diffusers import StableDiffusionXLImg2ImgPipeline
|
| 5 |
import spaces
|
| 6 |
|
| 7 |
+
# 1. Definici贸n del modelo SDXL s煤per ligero
|
| 8 |
MODEL_ID = "stabilityai/stable-diffusion-xl-base-1.0"
|
| 9 |
|
| 10 |
print("Iniciando descarga de SDXL FP16...")
|
|
|
|
| 15 |
use_safetensors=True
|
| 16 |
)
|
| 17 |
|
| 18 |
+
# ELIMINADO: pipe.enable_model_cpu_offload() porque ZeroGPU no tiene GPU en el arranque global
|
|
|
|
| 19 |
|
| 20 |
+
# 2. Cargamos IP-Adapter (El extractor de ropa/estilo)
|
| 21 |
print("Cargando IP-Adapter (Inyector de estilo)...")
|
| 22 |
pipe.load_ip_adapter("h94/IP-Adapter", subfolder="sdxl_models", weight_name="ip-adapter_sdxl.safetensors")
|
| 23 |
|
|
|
|
| 27 |
if base_image is None or reference_image is None:
|
| 28 |
raise gr.Error("Por favor, sube ambas im谩genes.")
|
| 29 |
|
| 30 |
+
# EL TRUCO DE ZEROGPU: Movemos el modelo a la GPU solo cuando la funci贸n se activa
|
| 31 |
+
pipe.to("cuda")
|
| 32 |
+
|
| 33 |
# Redimensionar a la resoluci贸n 贸ptima de SDXL (1024x1024)
|
| 34 |
base_resized = base_image.resize((1024, 1024), Image.Resampling.LANCZOS)
|
| 35 |
ref_resized = reference_image.resize((1024, 1024), Image.Resampling.LANCZOS)
|
|
|
|
| 69 |
)
|
| 70 |
|
| 71 |
with gr.Accordion("Ajustes de Transferencia", open=False):
|
|
|
|
| 72 |
strength_scale = gr.Slider(minimum=0.3, maximum=0.99, value=0.85, step=0.05, label="Fuerza de Transformaci贸n (Strength)")
|
|
|
|
| 73 |
ip_scale = gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.05, label="Influencia de la Ropa (IP Scale)")
|
| 74 |
inference_steps = gr.Slider(minimum=15, maximum=40, value=30, step=1, label="Pasos de Calidad")
|
| 75 |
seed_num = gr.Number(value=4242, label="Semilla")
|