Switch Octree-GS rendering to Gsplat backend - #2
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| screenspace_points = info["means2d"].squeeze(0) | ||
| if retain_grad: | ||
| try: | ||
| screenspace_points.retain_grad() | ||
| except: | ||
| except Exception: | ||
| pass |
There was a problem hiding this comment.
Screen-space grads no longer fed to densification
The new render path computes viewspace_points from info["means2d"] after the gsplat call and never feeds that tensor into the rendered image’s computation graph. During training (see gaussian_model.training_statis lines 645–653), the code expects non‑None gradients on viewspace_points when retain_grad=True to drive densification, but this tensor is now just a detached output that the loss does not depend on, so .grad remains None/zero and the subsequent indexing will raise or silently disable densification. This regression appears as soon as train.py calls training_statis in early iterations.
Useful? React with 👍 / 👎.
Summary
Testing
Codex Task