sesa-gpu / app.py
John6666's picture
Upload 44 files
81ba775 verified
Raw
History Blame Contribute Delete
1.22 kB
import gradio as gr
import spaces
from src.config import EXAMPLE_ROOT
from src.downloads import ensure_runtime_dirs
from src.gpu_timing import start_gpu_callback_timing
from src.jobs import JOB_ROOT
from src.preparation import estimate_prepared_gpu_seconds
from src.ui import build_demo, prepare_separation_with_progress, run_prepared_separation
ensure_runtime_dirs()
JOB_ROOT.mkdir(parents=True, exist_ok=True)
@spaces.GPU(duration=estimate_prepared_gpu_seconds)
def gpu_separate(
prepared_state_value,
execution_mode,
progress=gr.Progress(track_tqdm=True),
):
callback_timing = start_gpu_callback_timing(
dispatch_mode="prepared-job-button-direct-to-spaces-gpu-callback"
)
return run_prepared_separation(
prepared_state_value,
execution_mode=execution_mode,
progress=progress,
callback_timing=callback_timing,
)
demo = build_demo(
gpu_separate,
prepare_function=prepare_separation_with_progress,
)
if __name__ == "__main__":
demo.queue(
default_concurrency_limit=1,
max_size=12,
status_update_rate=0.5,
).launch(
show_error=True,
allowed_paths=[str(JOB_ROOT), str(EXAMPLE_ROOT)],
)