--- title: DVSM emoji: 🦀 colorFrom: yellow colorTo: indigo sdk: gradio sdk_version: 6.16.0 python_version: '3.10' app_file: app.py pinned: false license: other --- # TTB-DVSM — interactive view synthesis on ZeroGPU Upload images / a short orbit video → π³ pose estimation + TTB-DVSM reconstruction (one GPU call) → a time-boxed interactive viser viewer. Models (`nvidia/DVSM`): uploads are reconstructed with `DVSM-TTB-p8-general-960p`; the gallery examples were baked with `DVSM-TTB-p8-DL3DV-960p`. ## ZeroGPU notes Select **ZeroGPU** hardware in the Space Settings (it is not set via this frontmatter). ZeroGPU forks a fresh worker per `@spaces.GPU` call and cannot hold a GPU permanently. The interactive viewer therefore runs inside a `@spaces.GPU` **generator** that holds the GPU for one bounded session (`SESSION_SECONDS`, default 180); the main process reverse-proxies `/viser-proxy/*` to the worker-local viser port. When the session expires the GPU is released — click "Start / Continue Live Session" to resume from the already-computed artifact. `flash-attn` is not installed; `dvsm/models/modules.py` falls back to torch SDPA (numerically equivalent). A second-phase optimization is to add a FlashAttn-3 branch in `_attn_func`. Env knobs: `SESSION_SECONDS`, `RECON_DURATION`, `BENCH_WIDTHS`. Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference