GestureLSM / app.py
Tharun156's picture
Upload 5 files
a39c621 verified
raw
history blame
1.41 kB
import os
from pathlib import Path
from huggingface_hub import snapshot_download
# ---------------------------------------------------------------------------
# Optional: pull checkpoints and auxiliary assets at startup. Set the
# HF_GESTURELSM_WEIGHTS_REPO environment variable in the Space settings to the
# dataset or model repo that hosts the pre-trained weights (e.g. "username/gesturelsm-assets").
# Files will be placed under ckpt/ so the existing config paths keep working.
# ---------------------------------------------------------------------------
BASE_DIR = Path(__file__).parent.resolve()
CKPT_DIR = BASE_DIR / "ckpt"
CKPT_DIR.mkdir(parents=True, exist_ok=True)
weights_repo = os.environ.get("HF_GESTURELSM_WEIGHTS_REPO", "").strip()
if weights_repo:
snapshot_download(
repo_id=weights_repo,
repo_type="dataset",
local_dir=CKPT_DIR,
local_dir_use_symlinks=False,
allow_patterns=["*.pth", "*.bin", "*.npz", "*.npy"],
)
# Ensure expected runtime directories exist so the demo can write outputs.
for relative in ["outputs/audio2pose", "datasets/BEAT_SMPL"]:
(BASE_DIR / relative).mkdir(parents=True, exist_ok=True)
# Reuse the existing Gradio interface defined in demo.py.
from demo import demo as gesture_demo # noqa: E402
if __name__ == "__main__":
gesture_demo.queue(concurrency_count=1).launch(server_name="0.0.0.0", share=False)