BladeSzaSza's picture
fix: define REPO_NAME in hf_upload.sh (ensure_blade_space referenced it)
4948993 verified
Raw
History Blame Contribute Delete
1.53 kB
"""
Checkpoint bootstrap β€” downloads missing model files from HF model repo on first run.
Called once at app startup before build_app(); no-ops if files already present.
"""
from __future__ import annotations
import logging
from pathlib import Path
logger = logging.getLogger(__name__)
CHECKPOINT_REPO = "silas-therapy/formscout-checkpoints"
ROOT = Path(__file__).parent.parent
_CHECKPOINTS = [
"checkpoints/yolo26/yolo26n-pose.pt",
"checkpoints/yolo26/yolo26s-pose.pt",
"checkpoints/yolo26/yolo26m-pose.pt",
"checkpoints/yolo26/yolo26l-pose.pt",
"checkpoints/yolo26/yolo26x-pose.pt",
"checkpoints/mediapipe/pose_landmarker_full.task",
]
def ensure_checkpoints() -> None:
"""Download any missing checkpoints from silas-therapy/formscout-checkpoints."""
try:
from huggingface_hub import hf_hub_download
except ImportError:
logger.warning("huggingface_hub not installed β€” skipping checkpoint download")
return
for rel_path in _CHECKPOINTS:
local = ROOT / rel_path
if local.exists():
continue
logger.info("Downloading %s ...", rel_path)
try:
local.parent.mkdir(parents=True, exist_ok=True)
hf_hub_download(
repo_id=CHECKPOINT_REPO,
filename=rel_path,
local_dir=str(ROOT),
)
logger.info("Downloaded %s", rel_path)
except Exception as e:
logger.warning("Failed to download %s: %s", rel_path, e)