Spaces:
Running on Zero
Running on Zero
Commit History
-
Fix sky-fill depth: offset log_max by log_scale (post-scale ceiling)β
The depth is multiplied by exp(log_scale) for metric scaling, but the sky was filled at the unscaled log(MAX_DEPTH). For outdoor / ZuriPano scenes (scale head pushes the ceiling out) this pinned the sky at the indoor ceiling, so it landed closer than the farthest geometry and looked wrong. Add the matching log_scale offset to log_max so the sky fills at the post-scale MAX_DEPTH β mirrors the fix already made in the main PaGeR repo.5c2628f -
Fix ZeroGPU startup: disable Xet, run inference behind @spaces.GPUβ
The Space moved to ZeroGPU (zero-a10g), which broke startup in three ways: - The HF Xet downloader can't write its cache inside the ZeroGPU sandbox ("Permission denied (os error 13)"), crashing when open_clip pulled the CLIP classifier weights at runtime. Force the classic HTTP downloader (HF_HUB_DISABLE_XET=1, set before huggingface_hub is imported) and also preload the CLIP repo at build time. - GPU work must run inside a @spaces.GPU window. Wrap _run_inference in @spaces.GPU(duration=120), import the spaces scheduler (no-op fallback for local/non-ZeroGPU dev), and guard the CUDA cleanup for when no device is attached. - The CLIP classifier ran a text-encoder forward pass in its constructor; on ZeroGPU a forward at import time has no GPU. Defer the centroid computation to first use (inside the GPU window) and keep only the weight load eager. Also align suggested_hardware with the deployed zero-a10g.aeea5fe
-
Trim demo to Space-essentials and refresh example panoramasβ
- Drop unused code paths from app.py (isolated-cluster removal, logger setup, MODEL_TO_REPO alias table) β the Space only ever runs the unified prs-eth/PaGeR checkpoint. - Strip src/utils/utils.py and src/utils/geometry_utils.py down to the helpers app.py actually imports. - Swap the example set for the eleven panoramas shipped in the main PaGeR repo (church / eth / library / medieval kitchen / quattro canti / zurich street corner / zurich tree intersection / etc.); drop the legacy alice / fish_eagle_hill / library.png / little_paris / etc.08fff05 -
Swap Places365 scene classifier for zero-shot CLIP ViT-B/32β
Replaces the perspective-view Places365-ResNet18 indoor/outdoor classifier with an OpenAI CLIP ViT-B/32 classifier (via open_clip) that scores the 4 equatorial cubemap faces against two text-prompt centroids. The cubemap is already built by the depth pipeline, so the router adds no extra projection cost. Also pulls in the latest SPDX headers from the upstream release.47efa14
-
rename io_classifier β scene_classifierβ
The "IO" name was a Places365 carry-over (their IO_places365.txt label file marks each category as Indoor/Outdoor). In Python "IO" reads as input/output by default and obscures what the module actually does. ``scene_classifier`` matches the existing ``--scene_mode`` flag and the ``_resolve_scene`` helper in app.py. The internal references to the upstream IO_places365.txt resource are kept intact.fad77c8 -
switch demo to the unified DA3-based PaGeR checkpointβ
- replace Marigold-style one-step diffusion app + pager with the feed-forward DA3-Giant build from PaGeR-release - vendor src/depth_anything_3/ for the backbone, sky head, dual scale heads (auto-routed by a Places365 classifier) - point preload_from_hub + models at the unified prs-eth/PaGeR repo - trim requirements to what app.py actually imports (drops diffusers, transformers, wandb, tqdm) and keep gradio 6.0.23de34d4
-
xformers issue fixed
9464f84 -
xformers removed
4567e8b -
Save work before migration
25abb1d