File size: 1,421 Bytes
bd41e51
 
 
 
 
 
 
cebb76b
bd41e51
 
 
 
 
cebb76b
 
 
 
 
3f9d2ed
cebb76b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bd41e51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
---
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